Commit graph

1413 commits

Author SHA1 Message Date
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
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
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
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
Rafaël Carré
02a53fd809 Sansa AMS: add a comment in sdram_init(), and use inline asm to set the SDRAM mode register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21282 a1c6a512-1295-4272-9138-f99709370657
2009-06-13 23:52:13 +00:00
Karl Kurbjun
4d41886caa M:Robe 500: Fix up 256 color blitting when in portrait mode, fix a mistake in the plugin linker script, reduce the amount of memory used by overwriting IRAM with bss after program has started, clean up some tabs and formatting, resize the simulator when building for 640x480
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21280 a1c6a512-1295-4272-9138-f99709370657
2009-06-13 20:59:03 +00:00
Bertrik Sikken
d1faf8b39c FS#10317 - Sansa AMS 32-bit timers. Configure the timers for 32-bit mode instead of the default 16-bit mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21266 a1c6a512-1295-4272-9138-f99709370657
2009-06-12 21:11:45 +00:00
Bertrik Sikken
426cdb1284 Commit FS#10285 - Sansa Clip alternative button driver. This driver alternates one row in the button matrix per kernel tick, avoiding the need for explicit delays between selecting a button row and reading colums.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21253 a1c6a512-1295-4272-9138-f99709370657
2009-06-11 22:17:47 +00:00
Bertrik Sikken
79f348a178 Minor nitpick: don't do |= on the write-only GPIOA_IC register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21251 a1c6a512-1295-4272-9138-f99709370657
2009-06-11 20:43:53 +00:00
Rafaël Carré
460a1c4497 Sansa AMS storage driver: restart bank selection if data transfer failed, and precise a comment about retry variable
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21248 a1c6a512-1295-4272-9138-f99709370657
2009-06-11 17:28:24 +00:00
Rafaël Carré
7572141d42 FS#10309 : Sets reasonable timeouts for data access in the SD driver
Those are the recommended maximal timeouts in §4.6.2
Despite that, some people still experiment problems with the SD driver since MMU and data cache were enabled

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21247 a1c6a512-1295-4272-9138-f99709370657
2009-06-11 17:17:12 +00:00
Rafaël Carré
e2f165c088 Sansa AMS: make the UNCACHED_ADDR macro work for any type of pointer, and only use pointers with it, not arrays
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21230 a1c6a512-1295-4272-9138-f99709370657
2009-06-09 00:51:30 +00:00
Rafaël Carré
f504153857 FS#10048 : enable MMU and data cache on Sansa AMS to give a major speed up
- cache IRAM and DRAM
- map IRAM just next to DRAM to remove the need for -mlong-calls and reduce binsize
- tweak delays in Fuze button code
- tweak delays in Clip button code (down button sometimes doesn't respond anyway : an alternate driver is being worked on)

Before reporting any problem, please check your filesystem or format your player from the OF

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21228 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 23:05:33 +00:00
Bertrik Sikken
5631bf7343 Sansa fuze: don't configure GPIO A7 in the LCD driver, this pin is used for fm radio
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21225 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 19:54:58 +00:00
Bertrik Sikken
3589be4bdd Sansa e200v2: use = instead of |= when setting GPIO level
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21224 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 19:48:30 +00:00
Karl Kurbjun
038c808466 M:Robe 500: Add missing file.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21212 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 01:05:22 +00:00
Karl Kurbjun
4fddd5cbf6 Fix Creative ZVM build
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21209 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 00:48:48 +00:00
Karl Kurbjun
4a483bb1bf M:Robe 500: Mostly complete USB driver, supports BULK mode currently and gets about 2 MB/s writes vs 1.1 MB/s on the OF. Mostly tested against Linux, preliminary testing in Windows appears to work. There is currently a bug in the attach process where it only works once per boot that needs to be fixed. There are a few other minor M:Robe 500 changes as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21208 a1c6a512-1295-4272-9138-f99709370657
2009-06-08 00:19:16 +00:00
Rafaël Carré
f8a8619615 FS#10273 : Power Sansa Clip screen for some models needing as3514's DCDC15
No battery life loss for models not needing it

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21207 a1c6a512-1295-4272-9138-f99709370657
2009-06-07 23:33:43 +00:00
Rafaël Carré
1d97a380e2 Sansa Clip: apply r21190 to asm lcd_greydata : 2% speedup
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21199 a1c6a512-1295-4272-9138-f99709370657
2009-06-06 14:13:48 +00:00
Bertrik Sikken
82902a8ade Make more effective use of the DBOP FIFO for the sansa clip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21190 a1c6a512-1295-4272-9138-f99709370657
2009-06-04 19:53:39 +00:00
Rafaël Carré
2409c28f21 Sansa AMS: Revert r21177 : the timer frequency is used by the user timer (example: metronome will be twice too fast)
Instead use a private KERNEL_TIMER_FREQ define which is dependant on HAVE_SCROLLWHEEL
Comment that call_tick_tasks() will read the scrollwheel
Remove the unneeded volatile type qualifier from poll_scrollwheel

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21187 a1c6a512-1295-4272-9138-f99709370657
2009-06-04 14:50:07 +00:00