Michael Sevakis
a8b388fb86
Enable dualcore for the pp5002 processor by adding the needed cache handling and sleep/wakeup sync to the kernel. Refine some handling of fw/bl startup for all.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15827 a1c6a512-1295-4272-9138-f99709370657
2007-11-27 01:20:26 +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
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
da55251a35
Compile Portal Player bootloaders as single core. Cleanup the startup code for bootloaders. Remove cop stack entirely and keep IRAM use down on all relevant targets - just use the 128-byte idle stack. Use the inline asm version of current_core for pp5002 as well.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14898 a1c6a512-1295-4272-9138-f99709370657
2007-09-29 06:17:33 +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
Mark Arigo
dbc6b4e39a
Sansa c200 port. Rockbox works with sound. Several features are disabled including some lcd options, FM radio, recording, and all plugins. Loading the OF from the Rockbox bootloader does not work.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14625 a1c6a512-1295-4272-9138-f99709370657
2007-09-06 03:28:58 +00:00
Michael Sevakis
4aaded5c76
PP50xx: COP was left in undefined mode after init. Switch it to supervisor mode before entering cop_main.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14124 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 20:59:27 +00:00
Michael Sevakis
e1c52e7fbe
PP50xx: Allow FIQ during IRQ to always be able to service FIFOs. I've got a diff handy for quick revert if there's a problem.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14123 a1c6a512-1295-4272-9138-f99709370657
2007-08-01 20:26:04 +00:00
Daniel Stenberg
cca0e3d8f8
FS#5472 add a memory size prompt to configure to allow ipod video builds for
...
64 MB ram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13408 a1c6a512-1295-4272-9138-f99709370657
2007-05-19 14:35:11 +00:00
Barry Wardell
ddf83009a1
Switch to mi4 format for Rockbox binary on H10 and Sansa. This means we now only have one binary format to deal with on this target. Users with bootloaders older than 20 March 2007 will have to update. Up to date ones are already on download.rockbox.org since that date.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13134 a1c6a512-1295-4272-9138-f99709370657
2007-04-12 21:07:35 +00:00
Barry Wardell
3bf7f29312
Oops, shouldn't have committed this just yet.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12866 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 22:19:30 +00:00
Barry Wardell
7cd559dde0
Oops, the mi4 magic was being looked for in the wrong place when decrypting. Also decrease verbosity of PP bootloader a bit.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12865 a1c6a512-1295-4272-9138-f99709370657
2007-03-20 22:18:35 +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
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
Barry Wardell
2f16d4f1b3
Add working dual-boot bootloaders for H10 and Sansa, which allow booting the OF and Rockbox. Rolo also works.
...
Changes made:
Combine bootloader/h10.c and bootloader/e200.c into a common bootloader file (bootloader/main-pp.c) to be used by all mi4 based PortalPlayer targets. The file bootloader/main-pp.c is based off the old bootloader/h10.c with some minor changes to allow it to work on the Sansa too. This effectively adds a Sansa bootloader.
Define MODEL_NAME string in config-*.h for use in bootloader.
Split crt0-pp.S into separate files for bootloader and normal builds. Bootloader code is now in crt0-pp-bl.S while normal build code stays in crt0-pp.S.
Improvements to crt0-pp.S and crt0-pp-bl.S (mostly to make it more multiprocessor safe):
* Leave space in bootloader at 0xe0-0xeb since scramble writes over there when it creates the mi4 file (don't leave space for iPods since it's not needed and all code in crt0-pp-bl.S needs to fit before the boot_table at 0x100).
* Remove unused DEBUG and STUB code from crt0-pp.S.
* Make CPU wait for COP to be sleeping when we put the COP to sleep.
* Invalidate COP cache when COP wakes
* Flush CPU cache before waking COP
* Make sure only the CPU clears the BSS (not the COP)
* Make sure only the CPU sets up its own stack (not the COP)
Rolo works on H10, so enable it.
Make Sansa e200 use rockbox.e200 rather than PP5022.mi4 for 'Normal' builds. This makes updating rockbox simpler as we don't need to go through the firmware update procedure, but rather just put a new rockbox.e200 on the device. rockbox.e200 uses a simple 'add' checksum.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11815 a1c6a512-1295-4272-9138-f99709370657
2006-12-19 11:33:53 +00:00
Daniel Ankers
43e2c01065
Sansa doesn't use a Wolfson codec. Various other changes to allow Sansa to compile correctly with a normal build. Based on FS#6336 by Pavel Gnelitsa
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11570 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 00:49:16 +00:00
Daniel Ankers
41997d3d89
Clean up crt0.S and move it to the target tree
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10830 a1c6a512-1295-4272-9138-f99709370657
2006-08-31 19:45:05 +00:00