Commit graph

1767 commits

Author SHA1 Message Date
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
Rafaël Carré
cb2c947b1b Sansa c200v1 & c200v2 LCD: higher performance when writing pixels
c200v1: use a loop similar to r21320 and before to get almost the same performance (49.x fps while r21320 had 50.7 fps)
c200v2: better use of the DBOP fifo (taken from r21190) : 30% more fps
rename lcd_send_data to lcd_write_data now that it has the same prototype

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21427 a1c6a512-1295-4272-9138-f99709370657
2009-06-20 22:49:04 +00:00
Bertrik Sikken
fa4135e43d Fix delays in generic i2c driver, reduce delays in ams sansa fmradio i2c driver (tested on m200v4, clip, e200v2, fuze).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21421 a1c6a512-1295-4272-9138-f99709370657
2009-06-20 21:45:04 +00:00
Bertrik Sikken
f81ce592e5 Enable charging on the Sansa Fuze (charging/discharging curves are still uncalibrated)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21394 a1c6a512-1295-4272-9138-f99709370657
2009-06-20 14:29:21 +00:00
Maurus Cuelenaere
582942016b * Commit a modified FS#10354 (thanks to Davide Quarta) - add support the VX747+ in scramble and configure
* Add support for the VX777
* Remove the touchscreen mode switching combo from the button driver



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21379 a1c6a512-1295-4272-9138-f99709370657
2009-06-20 10:54:13 +00:00
Mark Arigo
df8f64d3a4 Philips SA9200: 1) reset all devices in system_init, 2) revert an earlier change in the sd driver, 3) properly detect the charger, 4) add lcd register defines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21347 a1c6a512-1295-4272-9138-f99709370657
2009-06-19 03:41:52 +00:00
Mark Arigo
a61196fd3a Philips SA9200: Working touchpad and button lights! Also, improvements to the keymap (still needs work).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21346 a1c6a512-1295-4272-9138-f99709370657
2009-06-19 03:23:38 +00:00
Mark Arigo
4c58ad26ba Clean up the Synaptics touchpad driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21344 a1c6a512-1295-4272-9138-f99709370657
2009-06-19 02:48:15 +00:00
Rafaël Carré
753064fccf Sansa AMS: fix yellow for models with buttonlight & without multivolume
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21343 a1c6a512-1295-4272-9138-f99709370657
2009-06-18 23:03:10 +00:00
Rafaël Carré
e2ec2fe391 Apply FS#10306 to Sansa c200v2 (fix build in the same time)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21341 a1c6a512-1295-4272-9138-f99709370657
2009-06-18 22:45:30 +00:00
Rafaël Carré
1e787a9911 FS#10306 by Thomas Martitz : button light doesn't change on SD transfers on Sansa AMS (Fuze & e200v2)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21340 a1c6a512-1295-4272-9138-f99709370657
2009-06-18 22:33:02 +00:00
Maurus Cuelenaere
7c6a725e8e Fix red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21332 a1c6a512-1295-4272-9138-f99709370657
2009-06-18 18:27:53 +00:00
Maurus Cuelenaere
2fb6396f5a Ingenic Jz4740: enable IRAM (only core, without ibss)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21331 a1c6a512-1295-4272-9138-f99709370657
2009-06-18 18:16:15 +00:00
Rafaël Carré
0181bc42c9 Sansa c200v2 : support more hardware
Don't read the buttons from GPIOC but from DBOP_DIN (all directional buttons + select)
Still missing hold, rec, volume up and volume down
Read microsd
Tuner is a si4700 but seems to suffer from the same problem than e200v2
Sound works

TODO: missing buttons, lcd yuv, test lcd performance (the c200v1 lcd performance has decreased since r21321 : needs to be investigated)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21330 a1c6a512-1295-4272-9138-f99709370657
2009-06-18 15:05:59 +00:00
Rafaël Carré
3520d8e90e Sansa c200v2 : lcd & backlight support, using the c200v1 lcd driver
The LCD driver is unified and lcd_send_command now takes 2 arguments : the command and its argument.
    If there is no argument, it's set to 0 and a NOP command is issued
    If there is more than one argument (set X/Y address), the 2nd argument is sent as a 2nd command, and a NOP command is issued after it.
    Benefit : c200v2 transfers the command and the argument in one 16 bits transfer
    Performance should not be affected since commands without argument are only used in lcd_init() and lcd_enable()

lcd_send_data() now transfers whole lines (or columns) instead of single pixels
yuv is disabled for c200v2 for now

Some buttons can be read, including left button (bit 6 of DBOP_DIN), but for some reason they have no effect in rockbox: to be investigated

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21321 a1c6a512-1295-4272-9138-f99709370657
2009-06-17 19:55:27 +00:00
Maurus Cuelenaere
5a5cccf10b Make some asm() statements volatile
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21313 a1c6a512-1295-4272-9138-f99709370657
2009-06-16 18:35:57 +00:00
Maurus Cuelenaere
143f62e8cc Onda VX747: fix backlight driver so it doesn't 'flicker' upon init
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21310 a1c6a512-1295-4272-9138-f99709370657
2009-06-16 11:41:48 +00:00