Commit graph

159 commits

Author SHA1 Message Date
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
Miika Pekkarinen
9b9539c8d3 Make database endianess independent.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12297 a1c6a512-1295-4272-9138-f99709370657
2007-02-13 21:51:18 +00:00
Barry Wardell
1a2dddc346 RTC support for Sansa.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12185 a1c6a512-1295-4272-9138-f99709370657
2007-02-03 13:10:17 +00:00
Daniel Ankers
e9a2caee2b Unify I2C driver for all PortalPlayer targets
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12126 a1c6a512-1295-4272-9138-f99709370657
2007-01-27 17:17:52 +00:00
Barry Wardell
adc349891e Clean up PP5002 I2C code (no functional changes):
Move into target tree.
Use #defines instead of inb/outb.

Also restore comments in PP5020 I2C code.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12124 a1c6a512-1295-4272-9138-f99709370657
2007-01-27 15:20:30 +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
Jens Arnold
5d51784faa Assembler optimised ATA transfer loops for ARM targets. Only used for PP5020/5021/5022 targets atm. PP5002 seems to have problems with it not directly related to the asm code itself, and the gigabeat doesn't profit from it, probably because the CPU isn't the bottleneck even without optimisation.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12099 a1c6a512-1295-4272-9138-f99709370657
2007-01-24 00:12:08 +00:00
Daniel Ankers
1010b76c72 ARM optimised memcpy/memmove from glibc. This should give increased performance on all ARM targets, especially iPod 5G
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12000 a1c6a512-1295-4272-9138-f99709370657
2007-01-13 23:57:14 +00:00
Marcoen Hirschberg
295367686e merge a big part of the unofficial gigabeat cvs back. Includes working bootloader and rockbox with audio.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11850 a1c6a512-1295-4272-9138-f99709370657
2006-12-29 02:49:12 +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
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
Barry Wardell
1cf6cdf6ac Fix more warnings. Don't compile PortalPlayer pcm code in bootloader builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11799 a1c6a512-1295-4272-9138-f99709370657
2006-12-18 02:58:23 +00:00
Barry Wardell
df0dc2262e FS#6096. Recording on PortalPlayer targets (H10, iPod Video, iPod 4g, iPod Color, iPod Nano).
* Fix failed compile of enc_config.c when HAVE_MPEG2_SAMPR is not defined.
* Fix bug in AIFF encoder header creation on little endian targets.
* Add recording screen keymaps for H10 and iPod.
* Move pcm_playback PP specific code to target tree.
* Add recording code to wmcodec drivers.
* Add pcm_record code.

Some problems still remain:
* Playback doesn't work after recording until Rockbox is restarted.
* Gain control not implemented.
* Only 16-bit/44KHz for now. The hardware should be capable of up to 24-bit/96KHz.
* Line-in recording not tested on H10.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11794 a1c6a512-1295-4272-9138-f99709370657
2006-12-18 01:52:21 +00:00
Daniel Ankers
acbbe82a24 Move I2S initialisation out of the Wolfson codec driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11700 a1c6a512-1295-4272-9138-f99709370657
2006-12-09 19:18:18 +00:00
Jens Arnold
31ffd7b154 Completed target tree move of the ata driver code. Some code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11655 a1c6a512-1295-4272-9138-f99709370657
2006-12-03 22:13:44 +00:00
Marcoen Hirschberg
a45e632495 move rtc functions to seperate files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11614 a1c6a512-1295-4272-9138-f99709370657
2006-11-27 09:44:56 +00:00
Jens Arnold
0e6dd7efcd Moved archos button reading to target tree. * Cleanup of button.[ch]. * Deactivated serial remote code for recorder FM/V2 as there is no remote pin, saving ~500 bytes of code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11612 a1c6a512-1295-4272-9138-f99709370657
2006-11-27 02:16:32 +00:00
Michael Sevakis
16cb491cdd iAudio/iRiver: Bootloader should not compile the audio-*.c files.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11581 a1c6a512-1295-4272-9138-f99709370657
2006-11-24 06:53:33 +00:00
Michael Sevakis
ab1861a3c2 iRiver/iAudio: Added audio_set_recording gain and sound_default to plugin API. Simplified plugin recording by target/-ing some audio functions. UDA1380 records with WSPLL as a result.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11577 a1c6a512-1295-4272-9138-f99709370657
2006-11-23 19:21:15 +00:00
Daniel Ankers
336cb6898e Add several dummy functions to allow Sansa to build correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11568 a1c6a512-1295-4272-9138-f99709370657
2006-11-22 00:30:24 +00:00
Michael Sevakis
cc50c149e9 H100/General: HAL for S/PDIF and refinement/bufixes in optical output powering/source selection.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11523 a1c6a512-1295-4272-9138-f99709370657
2006-11-13 23:21:54 +00:00
Jens Arnold
6bdf3ee6f2 Split 1 bit LCD code and move appropriate parts to target tree. Only archos code is tested.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11517 a1c6a512-1295-4272-9138-f99709370657
2006-11-12 13:22:59 +00:00
Jens Arnold
616945590d Removed the Gmini 120 and Gmini SP code. These ports are dead, unfortunately.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11505 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 20:36:39 +00:00
Michael Sevakis
f64f589d2e H100/120: Split lcd driver into pixel format and device specific parts. Adjustment of contrast range to just a little less than white to a little more than black. Really only had to reset minimum.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11487 a1c6a512-1295-4272-9138-f99709370657
2006-11-10 00:02:28 +00:00
Tomasz Malesinski
6e992abf36 Target tree support for Iriver iFP.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11485 a1c6a512-1295-4272-9138-f99709370657
2006-11-09 22:58:35 +00:00
Jens Arnold
ad70a9b2e6 Moved archos LCD aseembler code to target tree.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11478 a1c6a512-1295-4272-9138-f99709370657
2006-11-09 07:31:31 +00:00
Michael Sevakis
e89a3940f9 More exodus to the target tree for ColdFire and a bonus sorting of firmware/SOURCES.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11468 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 16:13:04 +00:00
Marcoen Hirschberg
f9c8a891af put back the PP5002 specific ATA code that got lost during the ipod target tree move
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11467 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 12:34:21 +00:00
Jonathan Gordon
59da10a940 grr.. got lost in firmware/SOURCES
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11463 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 03:06:37 +00:00
Jonathan Gordon
d9f7ac24f4 fix booboo in ata.c (SYS_POWEROFF falling into SYS_USB_CONNECTED)
enable ata_idle callbacks in ata_mmc.c (calls the callbacks after 10s of
real inactivity)
fix builds


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11462 a1c6a512-1295-4272-9138-f99709370657
2006-11-08 02:23:01 +00:00
Michael Sevakis
0f5cb94aa4 Big Patch adds primarily: Samplerate and format selection to recording for SWCODEC. Supprort for samplerates changing in playback (just goes with the recording part inseparably). Samplerates to all encoders. Encoders can be configured individually on a menu specific to the encoder in the recording menu. File creation is delayed until flush time to reduce spinups when splitting. Misc: statusbar icons for numbers are individual digits to display any number. Audio buffer was rearranged to maximize memory available to recording and properly reinitialized when trashed. ColdFire PCM stuff moved to target tree to avoid a complicated mess when adding samplerate switching. Some needed API changes and to neaten up growing gap between hardware and software codecs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11452 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 18:07:30 +00:00
Jonathan Gordon
0b22795e26 adds ata_idle_notify system which allows callbacks in apps/ to be called
when the hard disk is idle but spinning, and just before shutting down.
on SWCODEC targets with > 8MB RAM the playback engine will try to
refill the buffer if it is less than 75% full while the disk is spinning
(temporarily disabled on the nano)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11451 a1c6a512-1295-4272-9138-f99709370657
2006-11-06 14:24:18 +00:00
Michael Sevakis
f29cae0d26 Moved coldfire code in system.c and system.h into target tree.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11399 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 14:17:14 +00:00
Jonathan Gordon
139f9f28e9 move the iriver h1x0/h3x0 targets to the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11392 a1c6a512-1295-4272-9138-f99709370657
2006-10-30 08:56:06 +00:00
Jonathan Gordon
a737de778a oops, two files didnt get commited
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11381 a1c6a512-1295-4272-9138-f99709370657
2006-10-29 10:32:50 +00:00
Barry Wardell
24f4a2a8cf Allow the Sansa e200 UI simulator to be built. Thanks to Andre Smith for the nice image of the Sansa. Lots more to be done including testing and tweaking the keymaps and modifying the plugins for the Sansa's 176x220 LCD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11351 a1c6a512-1295-4272-9138-f99709370657
2006-10-26 13:38:09 +00:00
Michael Sevakis
784dd78745 Moved pcf50606 stuff to target directory.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11348 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 23:24:07 +00:00
Michael Sevakis
b26e396436 Pinched pcf50606 i2c code used in iRiver players and adapted to x5. Boost ratios down as much as 100 percent for mp3 and 50 percent for vorbis. mp3 hardly ever boosts even with eq. Scrolling much sharper. Like a whole new player. The code can be used for both iRiver and x5 by just defining macros with the appropriate ports and bit numbers for each player. Probably will have a pcf50606-coldfire.c soon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11330 a1c6a512-1295-4272-9138-f99709370657
2006-10-25 06:10:22 +00:00
Marcoen Hirschberg
0561fc47af this shouldn't have been committed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11278 a1c6a512-1295-4272-9138-f99709370657
2006-10-20 17:43:44 +00:00
Marcoen Hirschberg
1d7ebdfe26 generalise the wolfson codec code a bit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11277 a1c6a512-1295-4272-9138-f99709370657
2006-10-20 17:12:42 +00:00
Daniel Ankers
d8ef7c58d8 Big Sansa update: Go back to using the common crt0-pp.S. Add LCD driver. Add ADC driver (may not be needed). Fix a bug in the button driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11237 a1c6a512-1295-4272-9138-f99709370657
2006-10-16 17:21:36 +00:00
Daniel Ankers
6a4ec1414d Oops: Sansa and H10 need crt0 included in the bootloader
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11190 a1c6a512-1295-4272-9138-f99709370657
2006-10-11 17:47:32 +00:00
Barry Wardell
0640a050d5 No need to include pcf50605.c twice for ipods.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11132 a1c6a512-1295-4272-9138-f99709370657
2006-10-05 11:35:11 +00:00
Barry Wardell
d4945dc0d0 Move all iPod targets into the target tree. FS#5890
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11129 a1c6a512-1295-4272-9138-f99709370657
2006-10-05 10:58:51 +00:00
Marcoen Hirschberg
d2015eb578 the Gigabeat I2C driver needs the generic driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11091 a1c6a512-1295-4272-9138-f99709370657
2006-09-29 11:01:26 +00:00
Marcoen Hirschberg
8e1e6f9b29 add the I2C driver for the Gigabeat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11090 a1c6a512-1295-4272-9138-f99709370657
2006-09-29 10:54:01 +00:00
Marcoen Hirschberg
3496689c8e add the ADC driver for the Gigabeat
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11089 a1c6a512-1295-4272-9138-f99709370657
2006-09-29 10:52:34 +00:00
Barry Wardell
24ca76ffec H10 fixes: Split LCD driver up into two drivers, one for each LCD type. Improvements to 20GB LCD driver - support for enable/disable, contrast adjustment, make the update code clearer and ~4% faster, support for flipping, support for invert. Fix CPU frequency for both models. Fix default battery capacity for 5/6GB.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10910 a1c6a512-1295-4272-9138-f99709370657
2006-09-09 19:02:18 +00:00
Jens Arnold
9d2f7b5c6d Assembler optimised memset16() for ARM, by Thom Johansen. Should speed up LCD clearing and solid rectangle drawing on colour iPods somewhat.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10900 a1c6a512-1295-4272-9138-f99709370657
2006-09-07 00:16:04 +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