Commit graph

1783 commits

Author SHA1 Message Date
Bertrik Sikken
9926c933c7 S5L8700: implement kernel timer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21672 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 19:09:14 +00:00
Maurus Cuelenaere
e63904c7e9 Onda VX747 backlight: use a higher frequency to reduce flickering
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21671 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 18:58:06 +00:00
Bertrik Sikken
9b1c774218 S5L8700: initial framework for PCM (using DMA transfers)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21656 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 13:41:16 +00:00
Rafaël Carré
4368b59b09 Sansa AMS : don't reinvent adc_read(), patch by FlynDice
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21651 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 09:24:56 +00:00
Michael Giacomelli
7131ddb105 ARM922T's icache isn't coherent with its dcache, so we need to ensure that its flushed before changing codecs. Playback takes care of this for us, but only if we define cache coherency functions. Do that. Also, add a comment explaining that MMU functions need to be included so that other people don't spend hours chasing them in the future.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21647 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 01:17:25 +00:00
Maurus Cuelenaere
eabeb928dd Ingenic Jz4740: add basic frequency switching
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21625 a1c6a512-1295-4272-9138-f99709370657
2009-07-03 21:34:40 +00:00
Maurus Cuelenaere
7f2ddc4923 Ingenic Jz4740 PCM driver: add some locking here and there (doesn't fix all PCM issues)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21622 a1c6a512-1295-4272-9138-f99709370657
2009-07-03 11:50:58 +00:00
Maurus Cuelenaere
6dbf4cf827 Ingenic Jz4740: remove some unneeded stuff and simplify SD driver (also thanks to Rafaël Carré)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21621 a1c6a512-1295-4272-9138-f99709370657
2009-07-03 11:40:50 +00:00
Rafaël Carré
293b499093 Move sd_get_info() into common sd code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21610 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 23:39:57 +00:00
Maurus Cuelenaere
ccbd8f4f31 * Move some more stuff to the general SD driver
* Ingenic SD driver: cleanup DMA part a bit (not working yet)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21606 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 22:56:14 +00:00
Rafaël Carré
90d7a8c4fc Ingenic jz4740 SD driver: remove custom list of SD commands
Replace most references to MMC/mmc with SD/sd
Remove MMC failover code since MMC cards aren't supported

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21604 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 22:41:33 +00:00
Rafaël Carré
c0eb9aeb9e add firmware/driver/sd.c which contains common code between SD drivers
ingenic SD driver needs more cleanup so it still doesn't use the common code
correct a comment in hotswap.c: card_extract_bits assume most significant word of register first (so, use this order)
fix debug menu which used MMC specific commands / bits positions in csd/cid
move the default block size of 512 into sd.h
move the mantissa & exponent table into a single file (sd.c) to reduce binsize. we don't need to export it anymore anyway

TODO : ingenic cleanup (will happen soon so building sd.c is not conditional)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21601 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 21:49:13 +00:00
Rafaël Carré
93f6e3df24 card_extract_bits() take the start bit argument as defined in public SanDisk specifications for SD and MMC, i.e. bit 0 is the lsb
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21600 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 19:13:01 +00:00
Maurus Cuelenaere
f3a4a7635e Ingenic Jz4740 SD driver: remove some unneeded stuff + fill the OCR field in card_get_info_target()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21596 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 17:03:51 +00:00
Maurus Cuelenaere
898475bf4f Ingenic Jz4740 SD driver: fix SD clock init (fixes problems with SDHC cards)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21592 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 13:56:54 +00:00
Maurus Cuelenaere
e4003539bc Also cleanup Onda VX747 ata-sd-target.h file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21587 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 10:21:01 +00:00
Rafaël Carré
e0e24cbf0a Merge tCardInfo struct (MMC) and tSDCardInfo struct (SD)
Put specific members under #ifdef (CONFIG_STORAGE & STORAGE_xx) (2 members for SD and 1 for MMC)
Fix a typo: tsac doesn't exist and must be read taac
Move card_get_info functions declaration inside hotswap.h to remove mutual inclusion of ata_mmc.h and hotswap.h
Move static const data structures from SD drivers into sd.h (sd_exponent and sd_mantissa)
Fix sd_command prototypes in SD drivers (card registers are unsigned long)
Fix speed calculation in Sansa AMS driver (PP SD driver needs to be checked)
Move ata-sd-target.h to sd-pp-target.h to reflect the PP specifity. Now it only contains declaration of microsd_int()
Remove unused ata-sd-target.h for injenic

TODO:
- check if CSD register bits are extracted correctly in PP driver
- correctly define read_timeout and write_timeout unit for MMC & SD, and use timeouts in Sansa AMS driver

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21586 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 10:07:22 +00:00
Jack Halpin
c929310e55 AMSSansa: Corrects bug introduced with r21577 causing random lockups on AMSSansas.
The input to the ADC is now set to CVDD inside the while loop.  If the input gets changed while waiting for the voltage to be read it will now be reset to CVDD before the next read is attempted.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21584 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 04:47:36 +00:00
Mark Arigo
4093874f80 Philips SA9200. Add LCD features: enable, sleep, flip, contrast, and invert.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21583 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 02:18:49 +00:00
Jack Halpin
e905ca61d4 FS#10344 - AMSSansa Dynamically adjust core voltage to extend playtime.
Lower CVDD core voltage to 1.10 volts when the frequency is less than 200 MHz.

 

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21577 a1c6a512-1295-4272-9138-f99709370657
2009-06-30 17:56:21 +00:00
Rafaël Carré
ed75cc09f1 Sansa AMS : use the aligned buffer in bss for all DMA transfers
This was only used for data transfers, now use it also for card data
transfers in sd_select_bank, to save runtime alignement and stack usage.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21564 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 18:14:26 +00:00
Rafaël Carré
ffefe0c08b Put TIMER_FREQ definition in CPU-specific config, and remove timer-target.h
Note : SH has TIMER_FREQ defined to CPU_FREQ, so any code wanting it must include #config.h before #cpu.h

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21560 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:30:12 +00:00
Rafaël Carré
c5dedd7d76 Remove the TIMER_* macros and declare target-specific functions in timer.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21559 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:57 +00:00
Rafaël Carré
89ccd5c145 Remove int_prio argument from timer_register, and move the only use for it into alpine_cdc plugin, since this plugin is only built on SH7034
Also remove it from TIMER_START()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21558 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:46 +00:00
Rafaël Carré
b955dff268 Move PP (last target) timer code in target tree
Put warnings in timer.h for incomplete targets (TIMER_FREQ not defined and/or timer-target.h inexistant)

Correct TIMER_STOP & TIMER_START macros arguments for target without timers
TIMER_START takes an extra argument in multicore builds (macro in macro doesn't work fine..)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21557 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:35 +00:00
Rafaël Carré
b3ed33d04a Move SH7034 timer code in the target tree
Add an argument int_prio to TIMER_START() macro because SH7034 needs it
Leaves a target specific code in timer_register (could be given to target code through timer_set and __timer_set() )

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21556 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:14 +00:00
Rafaël Carré
c34ca87b64 Move coldfire timer code in the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21555 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:06 +00:00
Rafaël Carré
15a7f5e5e9 Move PNX0101 timer code in the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21554 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:29:02 +00:00
Rafaël Carré
e0640c3c4b Rename TIMER_REGISTER macro to TIMER_START and TIMER_UNREGISTER to TIMER_STOP to reflect what they does exactly.
registering and unregistering are handled by the non target-specific functions of timer.c
Remove arguments from the new TIMER_START since they are unused by targets

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21553 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:28:56 +00:00
Rafaël Carré
15e40dd3a6 Move Sansa AMS timer code in the target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21552 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 14:28:49 +00:00
Rafaël Carré
529855e79b Sansa AMS: correct sd_select_bank() in SD driver
Put the card data sent by DMA aligned on cache line size, and in uncached memory

Since sd_select_bank() is not used very often, still allocate the DMA buffer on the stack.

If you still experience any problems with this commit please report them after having formatted your player and reinstalled rockbox

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21550 a1c6a512-1295-4272-9138-f99709370657
2009-06-29 11:56:49 +00:00
Bertrik Sikken
7df759c951 Create an udacodec interface (similar to ascodec and wmcoded) and adapt/implement it for the iriver h1xx/h3xx and the meizus.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21546 a1c6a512-1295-4272-9138-f99709370657
2009-06-28 17:43:04 +00:00
Bertrik Sikken
c33373e163 S5L8700: implement i2c driver (used for communicating with the RTC and the codec in the meizus)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21533 a1c6a512-1295-4272-9138-f99709370657
2009-06-27 20:11:11 +00:00
Bertrik Sikken
660daa51d4 Meizu M3: implement logarithmic brightness curve (curve provided by markun) and increase PWM frequency for the backlight.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21532 a1c6a512-1295-4272-9138-f99709370657
2009-06-27 19:10:42 +00:00
Maurus Cuelenaere
48f4512518 Also fix the iRiver H10
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21503 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 22:23:45 +00:00
Maurus Cuelenaere
e59c4ffc82 Fix some forgotten OR's in some button-target.h files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21501 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 22:13:37 +00:00
Maurus Cuelenaere
20e5ffe306 Onda VX747: make backlight setting range from 1->16 instead of 0->15
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21494 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 20:27:55 +00:00
Maurus Cuelenaere
5acfa34b9c Use a logarithmic scale for the Onda VX747 backlight (thanks to Bertrik Sikken)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21492 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 19:52:03 +00:00
Rob Purchase
f62388f82c TCC78x: Enable interrupts/threading in the bootloader (required now that the storage driver yields).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21486 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 07:37:11 +00:00
Rob Purchase
5e24a2c98c Fix an error in the TCC NAND driver which caused a panic on startup for certain users.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21485 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 07:36:56 +00:00
Karl Kurbjun
4e3f39fc45 Fix Red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21484 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 04:29:58 +00:00
Karl Kurbjun
19cb444691 M:Robe 500: RTC is now working, Added some SPI flexibility per end device and modified the interrupt handler for the tsc2100 which should make it more reliable.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21483 a1c6a512-1295-4272-9138-f99709370657
2009-06-24 04:17:15 +00:00
Bertrik Sikken
743dcf7f69 Implement PWM backlight driver for the Meizus. Update Meizu M3 bootloader to control brightness with the touch strip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21478 a1c6a512-1295-4272-9138-f99709370657
2009-06-23 18:11:03 +00:00
Rafaël Carré
d86cf998e8 Sansa AMS debug: small fixes
- Indentation fix
- Put braces around _DEBUG_PRINTF macro
- read_cp15() is only 1 instruction so inline it, and it doesn't access memory

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21477 a1c6a512-1295-4272-9138-f99709370657
2009-06-23 13:54:05 +00:00
Thomas Martitz
8fb4aea702 FS#10284 - "Sansa e200v2 & Fuze: Merge the button driver into 1 file" by Dustin Skoracki
Those two drivers were so similar, merging them is worth a few more #ifdefs.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21474 a1c6a512-1295-4272-9138-f99709370657
2009-06-22 22:24:58 +00:00
Bertrik Sikken
aecf2b12db Meizu lcd-m3: whitespace fixes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21469 a1c6a512-1295-4272-9138-f99709370657
2009-06-22 19:46:09 +00:00
Rob Purchase
67c86a76d9 TCC78x: Make the NAND driver yield during reads (thanks to bertrik for spotting the obvious error that caused this to crash until now). Fixes the D2 'delay before playback starts' bug.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21465 a1c6a512-1295-4272-9138-f99709370657
2009-06-22 18:06:08 +00:00
Bertrik Sikken
c99ab564b0 Fix more missing mutex_init calls.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21463 a1c6a512-1295-4272-9138-f99709370657
2009-06-21 22:06:22 +00:00
Rafaël Carré
a98c54f5f1 Do not use lcd_blit_yuv() if MEMORYSIZE <= 2, since mpegplayer won't run anyway (and won't build)
Only affected target: Sansa c200v2

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21453 a1c6a512-1295-4272-9138-f99709370657
2009-06-21 14:09:48 +00:00
Bertrik Sikken
04451b4369 Fix missing i2c mutex initialisation for telechips.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21445 a1c6a512-1295-4272-9138-f99709370657
2009-06-21 13:26:32 +00:00