Frank Gevaerts
7a2d9ddb08
move some data around to place qh_array at the start of iram. This saves up to about 2k iram on PP
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17194 a1c6a512-1295-4272-9138-f99709370657
2008-04-20 18:43:47 +00:00
Jens Arnold
d055ffe715
Refine information and macros for clock skipping. Not functional changes.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17091 a1c6a512-1295-4272-9138-f99709370657
2008-04-12 23:55:30 +00:00
Linus Nielsen Feltzing
66827f3a18
Added PP5020 serial port registers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16358 a1c6a512-1295-4272-9138-f99709370657
2008-02-20 17:53:00 +00:00
Michael Giacomelli
054447f9e6
Commit FS#8379 by Andree Buschmann. Disables much of the remaining unneeded hardware on PP50xx targets (Ipods, Sansa, H10s, etc) resulting in a large savings in power and consequent increase in battery life. Results vary from target to target and from codec to codec, but we now approach the OF runtime on several PP devices. For now, leave base CPU clock at 30MHz, although further savings is possible with some codecs if clock is reduced. Additionally, fix battery capacity on c200 and use my measurements to improve runtime estimation for Sandisk targets.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16259 a1c6a512-1295-4272-9138-f99709370657
2008-02-10 05:39:20 +00:00
Björn Stenberg
b4e5123e5d
New USB stack
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15758 a1c6a512-1295-4272-9138-f99709370657
2007-11-22 20:51:00 +00:00
Jens Arnold
a50a80e1a3
Mini 2nd Gen: Almost doubled LCD update speed when not boosted (68.5->129fps @30MHz) by handling the serial LCD clock divider.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15524 a1c6a512-1295-4272-9138-f99709370657
2007-11-08 06:52:48 +00:00
Barry Wardell
03dd35db0e
Get rid of some more inl/outl. 0x70000084 seems to be GPO32_ENABLE.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15477 a1c6a512-1295-4272-9138-f99709370657
2007-11-05 17:19:00 +00:00
Jens Arnold
6fb4c53fb9
The GPIO interrupts are split into several port groups on all PP502x versions, so move those definitions into pp5020.h, and add the missing group. Make microSD hotswap detection work on Sansa c200. Note that microSD access itself does not work yet.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15460 a1c6a512-1295-4272-9138-f99709370657
2007-11-04 13:22:17 +00:00
Jens Arnold
33acc66256
* Add newfound GPO32 register to pp502x.h. * Introduce macros for the PP502x's atomic GPIO bit manipulation feature. * Remove clock setup related registers from debug screen, and add DEV_EN2, DEV_EN3 (to be verified) and GPO32 instead.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15443 a1c6a512-1295-4272-9138-f99709370657
2007-11-03 22:47:27 +00:00
Michael Sevakis
a443614dd2
PP502x: Get switch_thread back out of IRAM and devise a better core wakeup system that's not timing dependant. Hopefully something simpler will be found or devised eventually that meets all requirements. Rename mailbox-related registers.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15179 a1c6a512-1295-4272-9138-f99709370657
2007-10-18 01:26:50 +00:00
Barry Wardell
1d1a17c0db
Improved H10 ADC driver. We now do things exactly as the OF does. This includes shifting the readings by 0x14 when PLL is enabled. Battery voltages and remote/scrollpad values adjusted accordingly. We also now wait for the ADC to indicate the conversion is complete before reading the data, so hopefully we will get more reliably steady readings.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15141 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 10:48:16 +00:00
Michael Sevakis
a9b2fb5ee3
Finally full multicore support for PortalPlayer 502x targets with an eye towards the possibility of other types. All SVN targets the low-lag code to speed up blocking operations. Most files are modified here simple due to a name change to actually support a real event object and a param change to create_thread. Add some use of new features but just sit on things for a bit and leave full integration for later. Work will continue on to address size on sensitive targets and simplify things if possible. Any PP target having problems with SWP can easily be changed to sw corelocks with one #define change in config.h though only PP5020 has shown an issue and seems to work without any difficulties.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15134 a1c6a512-1295-4272-9138-f99709370657
2007-10-16 01:25:17 +00:00
Jens Arnold
8aeed2d32e
PP LCD drivers: * Optimised and cleaned up PP colour LCD drivers. Immeasurable speedup on iPod Color, huge speedup on small H10 (a factor of 3). Should be a bit faster on big H10 too. * Big H10 changed bitmap format, so needs reconfiguring + full rebuild. * Better register naming for the mono LCD bridge. Register names for the colour LCD bridge.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15082 a1c6a512-1295-4272-9138-f99709370657
2007-10-12 00:28:57 +00:00
Michael Sevakis
4512f1a14f
Finally get packed samples to work in a nice way on H10 in IIS mode. Add some more register defs.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15026 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 20:14:32 +00:00
Jens Arnold
1f0d06f085
* Use proper definitions for the PP (mono) LCD bridge. * Clean up pp5002.h a bit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15018 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 16:44:55 +00:00
Michael Sevakis
856ca78110
Use halfword IIS FIFO mode for H10. Won't save interrupts but seems it should be the DMA compatible mode. Setup pcm-pp.c to ease evaluating setting up PortalPlayer targets for DMA audio and for building an inventory of proper I2S settings and transfer sizes for all.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15009 a1c6a512-1295-4272-9138-f99709370657
2007-10-07 06:10:08 +00:00
Michael Sevakis
6077e5b7c8
Unify PCM interface just above the hardware driver level for all targets including the sims. Perform lockout of audio callback when changing states. Weird new playback or recording trouble? Check before and after this revision first though things seem quite sound.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15006 a1c6a512-1295-4272-9138-f99709370657
2007-10-06 22:27:27 +00:00
Michael Sevakis
18e87ff1c0
Stabilize PP5020 targets - tested on H10 5/20GB and iPod Color. Use no interrupts on COP but pulse it through the control interface. Don't mess with LCD clocking during clock changes. Give a reset register a name (DEV_OFF_MASK).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14998 a1c6a512-1295-4272-9138-f99709370657
2007-10-05 23:24:46 +00:00
Michael Sevakis
940e8990b5
PP502x: Make RAM physical addresses uncached. Cache the flash ROM on targets with one. Kill all the now unneeded cache flushing and i2s tweaking on e200 so clicking is no worry. Write the driver framebuffer at uncached addresses. Recording monitoring may be a little noisy in the left channel for the moment when not boosted and will be addressed. All seems to work as advertised including flash ROM dump.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14976 a1c6a512-1295-4272-9138-f99709370657
2007-10-04 04:53:01 +00:00
Michael Sevakis
e760ba5a04
Add some defines for pp502x. No guarantee as to full accuracy yet but that's not really too important. Use them in the code.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14912 a1c6a512-1295-4272-9138-f99709370657
2007-09-30 10:53:31 +00:00
Michael Sevakis
7914e90738
Commit a subset of the dual core changes that have to do with cache handling, stacks, firmware startup and thread startup. Tested on e200, H10-20GB, iPod Color and 5.5G. Thread function return implemented for all targets. Some changes to plugins to follow shortly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14879 a1c6a512-1295-4272-9138-f99709370657
2007-09-28 10:20:02 +00:00
Jens Arnold
174c7abdff
Add some new findings to the PP header files. * Clean up ata-target.h for PP. * check_registers() seems to work fine on PP5002.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14114 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 10:43:45 +00:00
Michael Sevakis
47bc31a174
PP502x: Add some important information about CPU/COP_CTL register to the header gleaned from a PP5022C. Maybe it's all wrong. :P
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14088 a1c6a512-1295-4272-9138-f99709370657
2007-07-31 06:07:59 +00:00
Jens Arnold
8d3ac97aff
Clean up PP502x CPU clock setup code and use the full 80MHz when boosted.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14004 a1c6a512-1295-4272-9138-f99709370657
2007-07-26 15:07:16 +00:00
Jens Arnold
7b861eca95
More PP502x clock setup rework. This should fix the freezes on PP5020 once and for all. Enabled clock scaling for H10. * CPUFREQ_MAX changed to 78MHz * To be cleaned up soon.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13767 a1c6a512-1295-4272-9138-f99709370657
2007-07-03 00:42:42 +00:00
Barry Wardell
7027c6a0f8
FS#7036: Power saving improvements for Sansa. Shutdown LCD controller when backlight is off and shutdown ATA controller when the disk isn't being accessed. Frequency scaling is not enabled yet as it was apparently causing some problems.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13250 a1c6a512-1295-4272-9138-f99709370657
2007-04-23 23:26:23 +00:00
Barry Wardell
0a643b8d90
Fix some very probable typo's.
...
CPU_INT_STAT is at 0x60004000, not 0x64004000.
CPU_HI_INT_STAT is at 0x60004100, not 0x64004100.
Fix wrong IRQ CLR addresses being used by system_init().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13238 a1c6a512-1295-4272-9138-f99709370657
2007-04-22 11:30:32 +00:00
Daniel Ankers
82f9056988
Dual core support for PP502x players (iPod G4 and later, iriver h10, Sansa - iPod G3 will be coming soon.) This allows threads to be run on either core provided that all communications between the cores is done using uncached memory. There should be no significant change in battery life from doing this. Documentation (on the RockboxKernel wiki page) will follow shortly.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12601 a1c6a512-1295-4272-9138-f99709370657
2007-03-04 20:06:41 +00:00
Barry Wardell
169ebdbda7
Some more replacing of inl/outl with register #define's (doesn't change end-result binary). Add lots more #define's based on the ipodlinux wiki and some extrapolation.
...
Also add PortalPlayer SoC version to the HW info debug screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12575 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 23:37:17 +00:00
Barry Wardell
8b061252c4
Replace some inl/outl with register #define's instead. Also tidy up pp5020.h so that it's in increasing address order.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12574 a1c6a512-1295-4272-9138-f99709370657
2007-03-03 17:25:20 +00:00
Dave Chapman
fda1498696
Remap flash ROM to 0x20000000 on the ipods and H10s, and implement dbg_save_roms() in the debug menu for those targets to dump the content to a file.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12467 a1c6a512-1295-4272-9138-f99709370657
2007-02-23 23:22:03 +00:00
Barry Wardell
3a6d4791d7
No functional changes, just reorganising code:
...
1) Move ARC OTG USB (used in PP502x) driver code into it's own file, drivers/arcotg_udc.c. Hopefully in the future we will be able to adapt more of the Linux driver and add it to this file.
2) Rename mx31.h to arcotg_udc.h to reflect the file the code came from. It's also a more accurate name for the USB controller.
3) Get rid of one more inl()/outl() in usb-pp.c and use the relevant #define instead.
4) Add dr_controller_stop(). Not used yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12340 a1c6a512-1295-4272-9138-f99709370657
2007-02-16 22:13:21 +00:00
Barry Wardell
84b509dc43
FS#6554. Move bootloader code into a common file. Only PortalPlayer devices (iPods, H10, Sansa) are affected for the moment. Someone with access to (and no fear of bricking) an X5, H100, H300 and Gigabeat should try to adapt those bootloaders to also use the code in common.c. The (non-working) patch in the tracker would be a good place to start with this.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12136 a1c6a512-1295-4272-9138-f99709370657
2007-01-28 18:42:11 +00:00
Barry Wardell
5e765b2ea2
Clean up PP5020 I2C code (no functional changes):
...
Move into target tree.
Use #defines instead of inb/outb.
Whitespace cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12123 a1c6a512-1295-4272-9138-f99709370657
2007-01-27 14:22:24 +00:00
Barry Wardell
4b54302b07
Combine USB code for all PortalPlayer targets since they most likely all use the same USB hardware. Add register defines for the USB hardware addresses, based off the Freescale i.MX31 datasheet. Use usb_init() from the iPod code, but modified to use the new register defines rather than oul/inl on the hardware addresses.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11823 a1c6a512-1295-4272-9138-f99709370657
2006-12-20 15:28:32 +00:00
Barry Wardell
e63e62b2a1
Detect charger connected on H10. No need to sleep(HZ) when powering off.
...
More sensible USB support for H10: plugging in puts it into USB charging mode and leaves Rockbox usable, holding 'O' while pluggin in the USB cable will reboot the H10 (continuing to hold 'O' starts it up in UMS mode), holding any other button brings up the USB screen as previously.
Implement system_reboot() for all PP5020 devices.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11015 a1c6a512-1295-4272-9138-f99709370657
2006-09-20 23:21:59 +00:00
Daniel Ankers
cec7cdc3bb
Initial work for coprocessor support on iPods. FS#5755
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10437 a1c6a512-1295-4272-9138-f99709370657
2006-08-03 16:29:42 +00:00
Brandon Low
d00d58896b
Patch FS#4841 from Ralf Herz, debug more io ports on the PP5020 based ipods
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9088 a1c6a512-1295-4272-9138-f99709370657
2006-03-18 09:13:55 +00:00
Thom Johansen
f7b14efc7f
Some extra PP defines, and make some PP5002 defines consistens with
...
PP5020.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9066 a1c6a512-1295-4272-9138-f99709370657
2006-03-17 00:06:11 +00:00
Thom Johansen
ed9a73557b
Commit additional defines needed by last commit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8633 a1c6a512-1295-4272-9138-f99709370657
2006-02-08 21:32:19 +00:00
Dave Chapman
c0090ff13c
Add some IIS addresses
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8458 a1c6a512-1295-4272-9138-f99709370657
2006-01-26 12:51:33 +00:00
Thom Johansen
22e6c02f8e
Removed PP5020_ prefix from register defines and added/renamed some
...
defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8438 a1c6a512-1295-4272-9138-f99709370657
2006-01-24 22:31:57 +00:00
Dave Chapman
b82c441f29
iPod: Add USB detection. When inserting the USB cable, hold down MENU to charge via USB, otherwise Rockbox will reboot into the Disk Mode application stored in flash
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8303 a1c6a512-1295-4272-9138-f99709370657
2006-01-07 00:43:48 +00:00
Thom Johansen
8bf079ffc1
Button and click wheel driver for iPod 4g and Nano.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8256 a1c6a512-1295-4272-9138-f99709370657
2005-12-17 19:08:55 +00:00
Thom Johansen
40729e902b
Added some symbolic names for control registers for PP5020 chipset.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8222 a1c6a512-1295-4272-9138-f99709370657
2005-12-11 22:21:10 +00:00