Commit graph

2579 commits

Author SHA1 Message Date
Tobias Diedrich
826508029b Unconditionally boost cpu and remove CNAK retry panic
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27054 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 13:58:34 +00:00
Tobias Diedrich
7ce6802b48 Remove '\n' from panicf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27053 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 13:44:10 +00:00
Tobias Diedrich
f80c853c7e Threshold seems to affect the CNAK retries needed.
Maybe it's not possible to change NAK while the DMA engine is active.
Burst probably can't hurt.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27052 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 13:41:57 +00:00
Tobias Diedrich
bf7e632e86 Hardware too smart can complicate things... We have to intercept the usb_core reply to SET_CONFIGURATION.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27051 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 13:27:58 +00:00
Tobias Diedrich
d518359151 "lsusb -vv" now works too, but the real bug is probably still in here somewhere.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27048 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 10:33:05 +00:00
Rafaël Carré
5a44e43870 revert r26953 + r26954
test_disk says everything is alright but playback is buggy, especially
when playing lossless files

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27044 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 09:02:56 +00:00
Tobias Diedrich
072c0a15cb usb_storage seems to be working now, enable USE_ROCKBOX_USB on C200v2, other AMSv1 untested.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27039 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 05:46:54 +00:00
Michael Sevakis
831707d991 lv24020lp tuner: On PP targets (c200/e200), use the atomic GPIO bitwise macros for the interface since it shares GPIOH with the clickwheel interrupt.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27038 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 04:00:34 +00:00
Michael Sevakis
94c23e167c e200v1: What's the wheel deal? Rework wheel code to make it a bit more straightforward and increase control a bit. Change button interrupt to clear after bitflip. Use atomic GPIO bitwise macros for everything.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27037 a1c6a512-1295-4272-9138-f99709370657
2010-06-22 03:11:45 +00:00
Bertrik Sikken
2062270964 Apply FS #11423 - Use udelay in AMS driver for FM radio I2C
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27035 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 21:41:07 +00:00
Amaury Pouly
4ed8306121 as3525v2-usb: definitely switch to this clock handling, it is the good one
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27033 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 20:25:50 +00:00
Amaury Pouly
7ef8b0ec4b as3525-usb: change clock handling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27032 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 20:25:46 +00:00
Amaury Pouly
2a25910541 as3525v2-usb: add support to derive usb clock from pllb, correct endpoint listing, simplify a few things.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27031 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 20:25:37 +00:00
Amaury Pouly
7d46f4e251 as3525v2-usb: add a few missing define for completeness, finish reorganization of the header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27030 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 20:25:31 +00:00
Michael Sevakis
bd380b3993 iPod 3G: Ensure wheel repeats are not generated unless the same keycode is posted more than once in a row, regardless of velocity. Remove 'was_hold' from handle_scroll_wheel calls since the call is never reachable with was_hold being true. Just clear pending ints in one spot after setting levels. Init prev_scroll properly again in 3g case.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27025 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 18:47:42 +00:00
Michael Sparmann
b59d6642e2 Fix ata_idle_notify on iPod Nano 2G
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27020 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 16:54:25 +00:00
Jonathan Gordon
e7a4b96f6e change the D2 bootloader to boot rockbox by default. boot OF is hold is on or usb is connected
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27007 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 10:51:39 +00:00
Tobias Diedrich
9297a02d49 mps depends on endpoint, I wonder why gcc didn't warn about i being used uninitialized...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27005 a1c6a512-1295-4272-9138-f99709370657
2010-06-21 06:22:36 +00:00
Michael Chicoine
17a2f9d8d2 Revert r26350 - fixes FS#11421
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26997 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 18:10:15 +00:00
Michael Sparmann
d41612ff03 Remove PROC_NEEDS_CACHEALIGN for Nano2G again, it's only needed for PP
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26996 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 17:35:02 +00:00
Michael Sparmann
27af11af5e Fix misspelled STORAGE_WANTS_ALIGN in s5l8700/system-target.h. Also add PROC_NEEDS_CACHEALIGN.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26985 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 12:35:29 +00:00
Michael Sparmann
7caf78848e Use STORAGE_ALIGN_ATTR for instead of hardwired alignment in the Nano2G FTL and NAND driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26983 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 12:29:18 +00:00
Rafaël Carré
ad375c0bbc Revert r26937 (as3525v2: use 248MHz PLL)
This caused mounting of µSD to fail on Fuzev2 in some cases, although
the card is detected properly
This might be the cause of playback glitches (more frequent for lossless
files) on clipv2
Trying to set the main PLL at 384MHz and FCLK at 240MHz didn't work, so
there might be some problems not understood yet

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26979 a1c6a512-1295-4272-9138-f99709370657
2010-06-20 02:01:03 +00:00
Amaury Pouly
b40c300d59 as3525v2-usb: fix yellow about unused functions (they can be resurrected from an older revision if needed)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26976 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:49:06 +00:00
Amaury Pouly
485acfba3f as3525v2-usb: remove useless macro
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26973 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:40:16 +00:00
Amaury Pouly
04ae1db331 as3525v2-usb: end of massive renaming
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26972 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:40:07 +00:00
Amaury Pouly
19b3348656 as3525v2-usb: major code renaming
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26971 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:57 +00:00
Amaury Pouly
f9242c06d0 as2525v2-usb: coherence fix
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26970 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:51 +00:00
Amaury Pouly
b5266ce3e5 as3525v2-usb: simplify register definitions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26969 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:45 +00:00
Amaury Pouly
1ef8cd769d as3525v2-usb: tweaks things but still doesn't work.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26968 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:38 +00:00
Amaury Pouly
c1e454d819 as3525v2-usb: rework thing, simplify
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26967 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:32 +00:00
Amaury Pouly
3603f24370 as3525v2-usb: reorganize thing, don't renable ep0 on enum because it's already done
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26966 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:39:28 +00:00
Amaury Pouly
f83328c7b4 as3525v2-usb: don't disable interrupts on bus reset (that was for debug purpose)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26965 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:38:45 +00:00
Michael Sevakis
910101d613 iPod 3G: Add a small check to ensure backlight never gets stuck off if wheel is inactive for too long (because it limits the number of backlight_on calls).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26964 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:36:54 +00:00
Michael Sevakis
b7a8935dff iPod 3G: Implement wheel acceleration and repeats. Chosen settings feel pretty decent but can be tweaked.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26962 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 20:09:37 +00:00
Rafaël Carré
4329512017 fix r26953: use physical address for DMA buffer, also for IRAM
AMSv2 and AMSv1 lowmem put the codec buffer in IRAM so we need to adjust
the address : AS3525_PHYSICAL_ADDRESS macro will do just that

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26954 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 05:55:18 +00:00
Rafaël Carré
ffc7323ec3 sd-as3525*: handle aligned transfers without memcpy()
test_disk shows 1MB transfers are up to 3 times faster
not much difference for 1 or 8 sectors at a time
define STORAGE_WANTS_ALIGN to use the fast path when possible

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26953 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 04:55:10 +00:00
Rafaël Carré
9e3f473492 FS#11417 by Joe Balough: fix audio/tuner on philips hdd6330
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26952 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 03:51:57 +00:00
Tobias Diedrich
23f6bc9b3d Of course there's no mdelay on c200(v1), so just use udelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26951 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 03:04:22 +00:00
Tobias Diedrich
b393f091c2 Include system-target.h for mdelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26950 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 02:52:13 +00:00
Tobias Diedrich
aa0736e951 Use mdelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26949 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 02:36:10 +00:00
Tobias Diedrich
1510777266 Add mdelay
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26948 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 02:34:56 +00:00
Tobias Diedrich
06fa365fef Comment on mps sizes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26947 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 02:29:24 +00:00
Rafaël Carré
1d5cc0a505 usb-drv-as3525: set bulk max packet size according to speed
only dump/clean dcache for the needed range

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26946 a1c6a512-1295-4272-9138-f99709370657
2010-06-19 00:26:36 +00:00
Tobias Diedrich
62622277dc With a max delay of 17 seconds before overflow happens limiting to unsigned short shouldn't be necessary.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26939 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 20:04:16 +00:00
Rafaël Carré
3a0c6fb34b as3525v2: use 248MHz PLL (reverse engineered by bertrik)
- cpufreq is now the same than AMSv1
- audio playback frequency should be more accurate
- adjust pclk (24.8MHz on clipv2/clip+, 41.333..MHz on fuzev2) : it is
  still lower than the AMSv1 which use 62MHz on every model

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26937 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 19:56:29 +00:00
Rafaël Carré
61c90fbf3f as3525: cache first read of enrd0 register
We need it for correct charger detection if we boot with charger plugged
because there is no edge interrupt

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26936 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 19:47:58 +00:00
Rafaël Carré
7a9033179f as3525*: make udelay() be a simple busy loop
it achieves all the requirements, work fine on c200v2, and is much simpler

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26933 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 19:14:08 +00:00
Bertrik Sikken
ae64b59afa as3525v2: document PLL bits and show current PLL frequency in the debug menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26930 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 18:32:38 +00:00
Rafaël Carré
3e690ac60d arm/crt0.S: comment why the reset vector doesn't use absolute addressing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26929 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 18:31:14 +00:00
Rafaël Carré
fd715fa95c as3525*: enable MMU in bootloader
Reserve 1MB of DRAM for loading rockbox and use the rest as BSS
Write sdram setup in assembler and move it to a separate file, together
with MMU init code

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26926 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 17:33:51 +00:00
Tobias Diedrich
2813d50acf C200v2 lcd controller still gets stuck sometimes, do a full controller init in lcd_enable()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26920 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 14:11:41 +00:00
Tobias Diedrich
68e2023184 Enable display and backlight on panic.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26917 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 13:45:24 +00:00
Michael Sevakis
25701c5b2d Squeeze down the PP5002 cache routines a bit.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26909 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 06:54:58 +00:00
Tobias Diedrich
8260a79689 Avoid ifdefs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26908 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 05:07:00 +00:00
Tobias Diedrich
fe47966f0e Move usb-drv-as3525 defines into header file
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26907 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 04:55:55 +00:00
Michael Sevakis
d9c9fe305c For multiprocessor targets, do the thread_exit routine such that we don't need to rely on the compiler's good graces to have stack switching be reliable. Only needs a few asm instructions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26906 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 03:10:18 +00:00
Rafaël Carré
b812465bff as3525: bootloader USB mode
not working yet : an empty drive is detected
won't link on fuzev1: drivers allocated in usb_storage.c are too large

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26905 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 01:47:39 +00:00
Rafaël Carré
6470a9ffd1 sd-as3525: enable writing, sd_enable() and card_get_info_target() in bootloader
They will be needed for USB

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26904 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 01:47:34 +00:00
Rafaël Carré
48313f58e3 usb-drv-as3525: use udelay() and not a C busy loop
Remove redundant "? true : false"

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26903 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 01:47:29 +00:00
Rafaël Carré
b43e15fe57 usb-drv-as3525: build with LOGF_ENABLE undefined
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26902 a1c6a512-1295-4272-9138-f99709370657
2010-06-18 01:47:24 +00:00
Tobias Diedrich
69028d5d31 sd-as3525 was calling dma_release() without calling dma_retain() first, if
no card is in the sd slot.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26896 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 19:14:42 +00:00
Tobias Diedrich
8e8c8dce51 Either the removal of the unneeded flush or the additional epn_info setup
has made it more reliable.  It seems to basically work now, but
somehow when Linux tries to read the partition table and it gets the
"scsi read10" command, the storage_read_sectors(drive=0, start=0, count=8)
call never returns...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26894 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 17:50:48 +00:00
Rafaël Carré
c0bd4173aa Make sure files which aren't windows-specific use \n line endings only
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26893 a1c6a512-1295-4272-9138-f99709370657
2010-06-17 16:59:51 +00:00
Rob Purchase
6c94ce590d Re-write the Telechips I2C delay routine in assembler to stop the compiler optimising it away. Tested with EABI and non-EABI compilers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26872 a1c6a512-1295-4272-9138-f99709370657
2010-06-16 21:03:57 +00:00
Bertrik Sikken
ff8e76e9e5 The mystery FM chip in some Sansa Clip+ players has been identified as a RDA5802, so rename files and functions. Also fix several bugs.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26871 a1c6a512-1295-4272-9138-f99709370657
2010-06-16 20:29:08 +00:00
Rafaël Carré
46e1231a44 FS#11402 by me : sd_enable for Sansa AMSv2
Gets a bit more battery life
Adjust current usage, it was a bit too low for Clipv2/Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26866 a1c6a512-1295-4272-9138-f99709370657
2010-06-16 06:08:04 +00:00
Bertrik Sikken
fcea117d21 Support for mystery FM chip in some Sansa Clip+, FS #11403 by me
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26864 a1c6a512-1295-4272-9138-f99709370657
2010-06-15 20:57:48 +00:00
Amaury Pouly
1d4dc9b3b0 cowond2: make sure the i2c delay loop code is actually generated by the eabi compiler.
This fix adds one nop instruction per loop (there were 3 before) and so i2c will be slightly slower, but this hardly a problem.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26850 a1c6a512-1295-4272-9138-f99709370657
2010-06-14 23:01:30 +00:00
Rafaël Carré
a8c073216d cowond2: make the code consistent with the comments and really clear the bits
Untested on target

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26832 a1c6a512-1295-4272-9138-f99709370657
2010-06-13 14:00:30 +00:00
Rafaël Carré
12e85b609f __div0: give the address of the instruction calling division to UIE
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26820 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 17:15:44 +00:00
Rafaël Carré
96d164f26d ARM: __div0() takes no argument
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26819 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 17:15:39 +00:00
Rafaël Carré
646a999e35 Sansa AMS: call the exception handler with the correct address when the exception happened in Thumb state
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26818 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 16:55:51 +00:00
Amaury Pouly
50e6e896ad usb-as3535v2: add more defines, reorganize/simplify things, add code for interrupt handling
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26810 a1c6a512-1295-4272-9138-f99709370657
2010-06-12 05:26:23 +00:00
Michael Sparmann
f2e048493e Remove an unneccessary long call from the S5L8700 PCM FIQ handler
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26781 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 16:20:46 +00:00
Michael Sevakis
60f843bf18 Configure Gigabeat S with EABI compiler by default. Implement the INIT section that this enables (due to selective need for long calls). Remove pcm_postinit from INIT section since it's asynchronous. Disable strict aliasing on SPC codec for now just to shut it up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26779 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 14:39:35 +00:00
Rafaël Carré
d5a27c2fb1 pcm as3525v1: revert 26761 to use faster ASM code
Fix the asm constraints to mark the left output variable as earlyclobber
Thanks to amiconn

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26777 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 14:04:48 +00:00
Michael Sevakis
9a2b1d612c s5l8700 PCM: Always call dma_callback. (fix r26253 remnants)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26775 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 13:11:00 +00:00
Rafaël Carré
7c055d9648 ata-creative-zvm: make sure return value is defined
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26771 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:52:50 +00:00
Rafaël Carré
71c9521a87 pcm-pp: revert r26756
FIQ/IRQ handlers can't be built with -mthumb, and the thumb case was
buggy anyway (spotted by jhMikeS) : pc offset hadn't been adjusted

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26765 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 11:25:16 +00:00
Rafaël Carré
2f7bb96c3d as3525v1: drop the asm version of mono2stereo
When building with eabi gcc, 2 variables are assigned the same register
This might be a bug in the constraints, but it's just simpler to use C,
even at the cost of 1 cycle per loop

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26761 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 06:39:32 +00:00
Rafaël Carré
45c7498f59 FS#11335 by me: make ARM assembly functions thumb-friendly
We can't pop into pc on ARMv4t when using thumb: the T bit won't be
modified if we are returning to a thumb function
Code running on ARMv4t should use the new ldrpc / ldmpc macros instead
of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc}
No modification on pure ARM builds and ARMv5+

Note: USE_THUMB is currently never defined, no targets can currently be
built with -mthumb, see FS#6734

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 04:41:36 +00:00
Rafaël Carré
5fea005610 arm/memset: don't use ldm to load pc when it has been stored with str
It looks nicer to keep str/ldr and stm/ldm in pairs

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26754 a1c6a512-1295-4272-9138-f99709370657
2010-06-11 03:54:47 +00:00
Michael Sevakis
05ca8978c4 Clean unused stuff out of thread.h and config.h and reorganize thread-pp.c to simplify the preprocessor blocks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26743 a1c6a512-1295-4272-9138-f99709370657
2010-06-10 17:31:45 +00:00
Rafaël Carré
70b9ab484f meizu m6sl: load code from IRAM, not FLASH (it eases debugging)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26730 a1c6a512-1295-4272-9138-f99709370657
2010-06-09 18:13:36 +00:00
Rafaël Carré
1596128296 arm/crt0.S: s58l* don't use this file, no need for 'DFUC' string
adjust vectors offsets

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26709 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 23:26:21 +00:00
Rafaël Carré
e907a96d71 make meizu-m6sl bootloader build
assume 512 bytes sector size as reported by dmesg

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26700 a1c6a512-1295-4272-9138-f99709370657
2010-06-08 18:07:59 +00:00
Jens Arnold
fe0334394f Fix byte order for Mini G2, and fix comments.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26675 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 21:16:59 +00:00
Rafaël Carré
4eea33e27d as3525v1: fix r26444 which broke mic recording
preventing the DMA callback to advance in the recording buffer is not
enough in pcm_rec_dma_get_peak_buffer()
we need to prevent it interrupting us while we are copying the left
channel data into the right channel

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26663 a1c6a512-1295-4272-9138-f99709370657
2010-06-07 16:17:32 +00:00
Jens Arnold
a225ee9867 Use atomic GPIO manipulation where appropriate.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26632 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:50:26 +00:00
Rafaël Carré
5c9e76a1e0 sd-as3525v2: check the (supposedly) card data line for business when writing
Fix panics when deleting large files from µSD
Tested on problematic Transcend 4GB Class 6

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26631 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:47:30 +00:00
Frank Gevaerts
9c43b2ce17 Remove card_enable_monitoring() and use a mutex instead. The card_enable_monitoring() method actually didn't eliminate the possible race conditions it was meant to fix.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26627 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:20:47 +00:00
Torne Wuff
4a2cab6aa1 USB charging support for iPods.
This adds proper full speed charging support for iPod 4G, Color, Mini 1G, Mini 2G, Nano 1G, and Video. Nano 2G already has support, so now all ipods charge (except 1G-3G whose hardware doesn't support USB charging).

USB charging defaults to on, but will only charge at full speed from a USB host. To charge from an AC charger, you need to set the USB charging mode to "force". It may be possible to detect AC chargers in a future version, at least on some models.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26626 a1c6a512-1295-4272-9138-f99709370657
2010-06-06 13:01:19 +00:00
Frank Gevaerts
a0557b23f0 remane hotswap.* to sdmmc.*. The contents have nothing at all to do with hotswapping things
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26598 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 21:12:16 +00:00
Bertrik Sikken
20856e1c10 Move delay a bit in dbop_read_input for ams sansa targets using the DBOP port for button readout
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26585 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 15:57:32 +00:00
Jens Arnold
57dcfe0eee Implement backlight brightness for iPod G4 greyscale and iPod Color/Photo.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26573 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 11:48:12 +00:00
Torne Wuff
991e92fd3d New USB charging system, part 1 - API rework and user-visible setting update
1) "Charge during USB connection" option is now tristate: off/on/force. Currently "force" behaves just like "on", but in future it will allow charging even when it was not possible to positively identify a charger.

2) The H300 code has been adjusted to use the new system but there should be no functional differences, it already had the USB charging option and its USB/charging support is hardware controlled.

3) The Gigabeat S code has been adjusted to use the new system: the player now has the USB charging option, which wasn't previously available. The player will only charge at full speed when allowed to do so by a working USB host, so USB AC adapters won't work very well; however, they didn't work before either, so this is not a change in functionality.

4) The iPod Nano 2G code has been adjusted to use the new system: it already had the USB charging option. Using a USB AC adapter won't charge at full speed any more (it did before) - the old implementation was equivalent to the not-yet-implemented "force" option in the new system.

No other target should be affected. Support for the "force" mode and support for at least some other iPod models will come in a future commit :)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26570 a1c6a512-1295-4272-9138-f99709370657
2010-06-05 10:05:27 +00:00
Jens Arnold
c4f88526c7 Port greylib blitting optimisation to clipv2 and Clip+. Actual speedup can't be measured because something is fishy with the cpu clocking (calculated load is negative??)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26562 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 23:12:33 +00:00
Jens Arnold
081bda8ab2 Port greylib blitting optimisation to clipv1.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26557 a1c6a512-1295-4272-9138-f99709370657
2010-06-04 21:12:06 +00:00
Tobias Diedrich
3f44f1c151 Using void instead of unsigned char fixes the strict-aliasing warnings with -Os and gets rid of some casts. And we already use void pointer arithmetic in several other places.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26518 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 18:29:06 +00:00
Rafaël Carré
bf3e50b89b sd-as3525v1: do not disable peripheral clocks in sd_enable()
(forward port of r26481 + cosmetics)
This lead to freezes under various conditons (bug report: FS#11267)

Battery life is almost not (if at all) affected:
- between 4 and 8 minutes less runtime for fuzev1
- 9 minutes less runtime for c200v2 (2 minutes difference on a 2 hours run)

Additional verifications of the runtime (including on other models) wouldn't hurt

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26512 a1c6a512-1295-4272-9138-f99709370657
2010-06-03 13:55:42 +00:00
Michael Sevakis
a34860524b Fix PP5002 builds. Somehow an #else went missing along the line.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26480 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 12:56:05 +00:00
Michael Sevakis
555ad6710f Threading: Split processor support code into respective target files. C files from /target/xxx are included into thread.c because of essential inlining and files are code, not declarations. Copyrights in each new file go to whoever implemented the first functional support.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26479 a1c6a512-1295-4272-9138-f99709370657
2010-06-02 12:45:36 +00:00
Tobias Diedrich
253cfbcd47 Prevent a race condition when writing VIC_INT_EN_CLEAR. Should be very difficult to hit in this case though...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26451 a1c6a512-1295-4272-9138-f99709370657
2010-06-01 19:29:01 +00:00
Rafaël Carré
df34a4767f as3525 ascodec: make internal functions statics and remove some details for ascodec-target.h header
reorder static functions to avoid the need for early prototypes
panic if the INT_AUDIO callback could not read the 3 IRQ_ENRD registers

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26445 a1c6a512-1295-4272-9138-f99709370657
2010-06-01 10:16:10 +00:00
Rafaël Carré
dc32a5b14c as3525 PCM: implement locking like done for the gigabeats in r26341
this removes workaround for spurious interrupts added in r26316

side effect: make keyclicks work correctly when used intensively (with
the scrollwheel for example), the clicks should be inserted fast enough
for the PCM fifo to not become empty.

PL190 can cause spurious interrupts if an interrupt is triggered by a
peripheral shortly before the interrupt for this peripheral is cleared
from VIC registers.

As an effect we should only write in VIC_INT_EN_CLEAR after having
disabled the source of the interrupt in the peripheral.

references on PL190 spurious interrupts:
- http://www.embeddedrelated.com/groups/lpc2000/show/14599.php
- http://water.cse.unsw.edu.au/esdk/lpc2/spurious-irq.html

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26444 a1c6a512-1295-4272-9138-f99709370657
2010-06-01 09:39:08 +00:00
Rafaël Carré
acb524e51a sd-as3525v1: set up bank selection data outside of the loop
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26441 a1c6a512-1295-4272-9138-f99709370657
2010-06-01 03:50:52 +00:00
Rob Purchase
a6c1b54d46 Enable IRAM on TCC7801 (Cowon D2) for a 6-12% speedup in codecs that use it, and a small increase in battery life.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26436 a1c6a512-1295-4272-9138-f99709370657
2010-05-31 21:00:25 +00:00
Jens Arnold
64adb32cbf Port the greylib blitting optimisation to m:robe 100. It's even more efficient on monochrome LCDs - about 20% ISR speedup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26435 a1c6a512-1295-4272-9138-f99709370657
2010-05-31 20:13:27 +00:00
Rafaël Carré
0ea7905395 ARM: use BX when branch to an address in register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26432 a1c6a512-1295-4272-9138-f99709370657
2010-05-31 15:14:26 +00:00
Jens Arnold
7a1aca46a3 Smaller & faster grey blitting on greyscale ipods, based on an idea by Mike Sevakis. ISR speedup on all greyscale iPods except Mini 2nd Gen is ~10%. No speedup on the latter, because the serial transfer is the limiting factor.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26422 a1c6a512-1295-4272-9138-f99709370657
2010-05-30 22:24:50 +00:00
Bertrik Sikken
a5248a2995 Update Samsung YP-S3 bootloader demo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26417 a1c6a512-1295-4272-9138-f99709370657
2010-05-30 21:43:14 +00:00
Rafaël Carré
cc07d68866 fuze*/e200v2 YUV lcd code: remove a useless instruction forgotten in r21795
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26399 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 22:42:54 +00:00
Rafaël Carré
9b2527420f Fuze: don't change gate scan position if lcd_set_flip() is not used
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26387 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 17:40:37 +00:00
Rafaël Carré
5ea1fe614a cpucache_invalidate: use bx reg instead of mov pc, reg to return
Using BX has the effect to set the T bit, so it can return to a thumb
function

With this change, rockbox runs fine on Clipv2 built with -mthumb (for
most files which don't use inline 32 bits ARM assembly)

Some other places use code which change the T bit on armv5 but not on
armv4 so armv4 won't run

See FS#6734

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26386 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 17:12:42 +00:00
Rafaël Carré
56220785c1 e200v2: revert r26353
invert setting isn't remembered when backlight goes off and lcd_enable()
is ran again

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26374 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 14:24:10 +00:00
Rafaël Carré
d2f26206ba Fuzev1/v2 : lcd_set_flip()
FS#11329

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26372 a1c6a512-1295-4272-9138-f99709370657
2010-05-29 13:43:18 +00:00
Jack Halpin
8b6356d08a sd-as3525.c: Do not wait for TRAN state after transfer is over.
Waiting for TRAN state after the end of the transfer caused writing problems for some uSD cards.  Removing this wait returns write functionality to those cards.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26365 a1c6a512-1295-4272-9138-f99709370657
2010-05-28 21:47:36 +00:00
Bertrik Sikken
36b4b39a7e Apply FS#9194 - LCD invert for Sansa c200/c200v2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26362 a1c6a512-1295-4272-9138-f99709370657
2010-05-28 19:36:52 +00:00
Bertrik Sikken
36c6f3d13f Restore return statement in kernel-as3525.c that was accidentally removed in r26330. This fixes c200v2 black screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26361 a1c6a512-1295-4272-9138-f99709370657
2010-05-28 19:04:30 +00:00
Michael Chicoine
0ae59df3fa Simplify lcd invert
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26353 a1c6a512-1295-4272-9138-f99709370657
2010-05-28 12:19:26 +00:00
Michael Chicoine
3c1dd03fb3 Simplify lcd_set_flip, lcd_window, and lcd_window_blit
Remove unneeded defines
Whitespace cleanup

Thanks to Rafaël Carré for finding the simpler register settings.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26350 a1c6a512-1295-4272-9138-f99709370657
2010-05-28 05:15:28 +00:00
Rafaël Carré
6921a2b6b9 Merge common LCD code between fuzev1 & fuzev2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26344 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 23:32:38 +00:00
Rafaël Carré
9ff986cdca sd-as3525v2: Include time spent yielding when figuring timeout in sd_wait_for_tran_state()
(apply r23738 to as3525v2 code)
extend the arbitrary delay to 5 seconds, we never know

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26342 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 23:32:29 +00:00
Michael Sevakis
6b6123444e Gigabeat S PCM: Sync some comments to changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26341 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 23:22:55 +00:00
Michael Sevakis
25ebd9832d Gigabeat S PCM: There's no reason to touch any hardware registers in order to lock out PCM callbacks.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26340 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 23:14:39 +00:00
Rafaël Carré
a71929b1a0 as3525: no need to ack TIMER interrupt multiple times
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26330 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 13:42:39 +00:00
Rafaël Carré
2f0f3490d3 Clip*: give lcd_hw_init() INIT_ATTR attribute
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26329 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 12:28:53 +00:00
Rafaël Carré
435e08eae1 mark some functions as init functions (discarded after init() has run)
tick_start, fmradio_i2c_init, pcm_init, pcm_postinit, pcm_play_dma_init

Also add some as3525 target specific functions
Make as3525v2 use this attribute

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26328 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 12:00:29 +00:00
Rafaël Carré
b0146de64c as3525: don't export empty usb_init_device(), declare it as empty inline
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26326 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 12:00:18 +00:00
Rafaël Carré
065ef89479 clipv2: make buttonlight functions static inline one-liners
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26323 a1c6a512-1295-4272-9138-f99709370657
2010-05-27 11:09:12 +00:00
Rafaël Carré
6ca9f232a8 as3525: fix r26308
I2SOUT peri needs to be enabled to set the loopback setting

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26319 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 22:58:55 +00:00
Rafaël Carré
c9133db4b1 as3525: as revealed by r26311, it seems DMAC interrupt can't be masked
Even if we disable it in VIC_INT_EN_CLEAR, it still fires an interrupt
by running the default isr.
Locking requires disabling interrupts completely.
I'm not sure if DMAC is the only interrupt affected or if we can't rely
on VIC_INT_EN_CLEAR to mask interrupts.
If it's the latter, we will need to have special locking scheme for
INT_AUDIO.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26316 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 17:32:50 +00:00
Rafaël Carré
7ad50c6f59 as3525: write irq/fiq handlers in C
Declare VIC registers holding function pointers as volatile pointers to
function pointers and access them directly without casting
UIRQ() is an IRQ handler too, even if it doesn't return

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26313 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 16:03:01 +00:00
Rafaël Carré
f0f5a6419a typo: 'nomasked' -> 'unmasked'
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26312 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 14:45:59 +00:00
Rafaël Carré
bdb8ba4ecd as3525: implement pcm_play_dma_get_peak_buffer correctly
give the real amount of bytes left to transfer

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26311 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 12:00:44 +00:00
Rafaël Carré
55d60d4e76 as3525v2: no need to set PMU_GATE bit (bit 3) in PMU_enable register when reading
It's only needed when we'll write to the selected register

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26309 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 11:14:13 +00:00
Rafaël Carré
1c967b788e as3525: move audio loopback handling to audio_set_output_source
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26308 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 11:07:49 +00:00
Michael Sevakis
72ccb14ab1 Gigabeat S: Turn off hardware effects (tone and 3d) when doing digital loopback for FM recording otherwise the signal and levels are poorly represented in monitoring (can't just do ADC->DAC for general FM and get voice too). Some tweaking to input setup to improve gain a tiny bit. A little bit quieter startup too.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26300 a1c6a512-1295-4272-9138-f99709370657
2010-05-26 05:13:45 +00:00
Rafaël Carré
ff9474e558 as3525v1: relax a bit requirements in the SD driver
- retry failed commands up to 6 times
- wait at most 5 seconds for the card to go to TRAN state

- wait for the card to be in TRAN state (i.e. not programming) before
  disabling SD clocks (remove the workaround in sd_enable() )

should fix lockups reported on fuzev1 under heavy internal storage + µSD use
(playback + database/pictureflow updating)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26291 a1c6a512-1295-4272-9138-f99709370657
2010-05-25 21:55:09 +00:00
Rafaël Carré
9112b0b1bb as3525v2: do not deselect all cards after a SD transfer
Selecting the right card before the transfer will deselect the other one

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26290 a1c6a512-1295-4272-9138-f99709370657
2010-05-25 20:38:42 +00:00
Rafaël Carré
873dd7becc as3525: find_first_set_bit() isn't built in bootloaders
We assume only one bit is set and use clz to find the most significant
set bit, if there's more than one bit set we'll see it in the panic msg

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26285 a1c6a512-1295-4272-9138-f99709370657
2010-05-25 16:20:04 +00:00
Michael Sevakis
2aed6b0da8 as3525: Fix an oops in converting the recording API to a newer form.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26270 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 22:33:26 +00:00
Szymon Dziok
06601e5fba Vibe 500: fix the scrolling through the lists by implementing BUTTON_REPEAT for the scrollstrip.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26268 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 19:48:06 +00:00
Szymon Dziok
6eed071a6d fix YUV Dither for the other targets too, like in r26064.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26266 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 18:57:11 +00:00
Rafaël Carré
2d40d566d7 as3525: don't destroy status when calculating IRQ number in UIRQ()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26260 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 17:41:47 +00:00
Rafaël Carré
9bb6b8d689 as3525: be sure all interrupts are disabled when recording
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26257 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 17:21:20 +00:00
Michael Sevakis
19afbf4892 Really cleanup remaining r26253 yellow (hopefully).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26256 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 17:16:33 +00:00
Michael Sevakis
1f5b9434da Cleanup r26253 red and yellow.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26254 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 16:57:48 +00:00
Michael Sevakis
d56999890f Make PCM->driver interface about as simple as it will get. Registered callback, zero data, alignment and stops are handled entirely inside pcm.c; driver merely calls fixed pcm.c callback. Remove pcm_record_more and do it just like playback; the original reason behind it isn't very practical in general. Everything checks out on supported targets. There wer some compat changes I can't check out on many unsupoorted but if there's a problem it will be a minor oops. Plugins become incompatible due to recording tweak-- full update. Sorted API.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26253 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 16:42:32 +00:00
Rafaël Carré
13f159df57 as3525*: sd_wait_for_state() is only used for waiting to SD_TRAN state
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26251 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 15:07:15 +00:00
Rafaël Carré
8d1ec38a1d as3525: show unmasked interrupts on unhandled IRQ
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26250 a1c6a512-1295-4272-9138-f99709370657
2010-05-24 14:32:38 +00:00
Rafaël Carré
172fc967b0 as3525v2: RTC alarm
A specific poweroff function needs to be used for wake-up to work
Disable RTC in bootloaders for consistency with other Sansas

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26243 a1c6a512-1295-4272-9138-f99709370657
2010-05-22 00:28:03 +00:00
Rafaël Carré
eacc32248e as3525v2: enable AFE (AUDIO Front End) interrupts
We needed to set the XIRQ output pin

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26238 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 17:49:04 +00:00
Rafaël Carré
7d8c02d105 Clip+: add charging curve
Charge using 150mA current like the OF to charge faster
Edit clipv2 charging curve with 150mA

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26227 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 12:48:15 +00:00
Amaury Pouly
5f53612441 usb-as3525v2: fix typo in a comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26223 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 08:36:39 +00:00
Rafaël Carré
7f24c3095d Clipv1: charging curve
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26220 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 23:16:04 +00:00
Rafaël Carré
26c8eebe4f Clipv1: cosmetics
Move code not defined for bootloader under a single preprocessor check

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26219 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 23:15:56 +00:00
Rafaël Carré
59462a8bf8 Clipv1: move buttonlight functions to header
GPIO direction needs only to be set at init
both functions are now one liners so make them static inline

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26218 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 23:15:48 +00:00
Torne Wuff
2960052d28 Increaase default ipod 3g contrast, to a value between the last two.
It seems there is some significant variance between different greyscale ipods of the same model, so it's unlikely that *any* value will be great for everyone. I'm hoping that this is just high enough that the lightest screens aren't totally blank, but not dark enough that the darkest screens are entirely unreadably black ;)

This rather unsatisfactory compromise is to help us get a new bootloader release out (since bootloaders can't have their contrast adjusted) - a real fix would be to detect the LCD type, which the OF appears to be able to do (maybe).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26208 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 18:58:33 +00:00
Rafaël Carré
0a21ffabbe Clipv2: charging curve + voltage limits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26200 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 17:03:24 +00:00
Amaury Pouly
be6fba009b usb-as3525v2:
- forgot a ccu undocumented thing in init
- finish init code (following linux patch)
- enable interrupts
- don't use dynanmic fifo sizing by default
- move to a more static configuration of usb hardware parameters (it might be necessary to move them to config* files later).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26195 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 14:54:32 +00:00
Rafaël Carré
ddecf431e0 fuzev2: charging curve and voltage limits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26190 a1c6a512-1295-4272-9138-f99709370657
2010-05-20 12:53:20 +00:00
Michael Sevakis
9594f86c1a Gigabeat S: Use longer battery filter; lag is not a problem with voltage for charging since it's I-controlled. Initialize local copy of last_inputs for the power routines in target init otherwise the battery filter is reinitialized too soon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26180 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 23:39:59 +00:00
Rafaël Carré
29e70dfcb8 sd-as3525v2: masked interrupts and block size won't change, and DMA won't be disabled, so we can just set these in the controller init once for all
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26179 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 20:41:47 +00:00
Rafaël Carré
6b46cc08ed as3525: hide our UNCACHED_ADDR from usb_storage.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26178 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 18:13:06 +00:00
Rafaël Carré
2e188a4dad revert part of r26176 to avoid large static allocation
we still need to convert uncached addresses to physical addresses

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26177 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 18:08:32 +00:00
Rafaël Carré
bae0756acf as3525: don't use IRAM for usb, and avoid usb storage using uncached addresses behind our back
No need for special address handling, all addresses are equal to their physical address

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26176 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 17:56:47 +00:00
Thomas Martitz
0b28594036 Revert r26060. A better fix was found. The acceleration should be fixed once for all now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26175 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 17:34:12 +00:00
Tobias Diedrich
12af4986b9 Handshake still grinds to a halt at some point, but it works better now.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26167 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 15:43:53 +00:00
Rafaël Carré
6c8269bc3f fix previous commit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26166 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 14:41:56 +00:00
Rafaël Carré
8e12292e75 better preprocessor conditions for enabling GPIOA interrupt
it's only needed if we hotswap the µSD or if we build the fuzev2
scrollwheel code without irq (which we don't do anyway)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26165 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 14:30:34 +00:00
Rafaël Carré
627baea953 sd-as3525: wait 100µs before disabling SD clocks
test_disk doesn't freeze anymore when closing the file between writing & reading

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26164 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 14:06:13 +00:00
Rafaël Carré
54f08f3ab1 as3525v2: fix end of charge detection
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26163 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 14:06:08 +00:00
Rafaël Carré
b3a8170afe sd-as3525: avoid division when calculating current bank, we only deal with 1 or 2 banks
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26161 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 12:11:57 +00:00
Rafaël Carré
6f2afd36bc as3525: reorder vectored interrupts
The list is ordered by priority, put the DMA and SD interrupts at
the top

This seems to fix the random freezes on heavy storage operation like
building database or pictureflow cache

The recently added audio interrupt had a priority higher than SD slot on
as3525v1, give it a lower priority

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26160 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 12:11:54 +00:00
Rafaël Carré
a53785911a sd-as3525: give timeout in HZ units, not in ticks
remove a TODO fixed in r26029

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26159 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 12:11:50 +00:00
Amaury Pouly
cc61f03915 as3525v2: add partial usb init code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26157 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 08:33:50 +00:00
Michael Sevakis
3356effcdf Gigabeat S: Wrong thing messing with IPU_CONF. No fiddling is needed just yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26155 a1c6a512-1295-4272-9138-f99709370657
2010-05-19 00:42:55 +00:00
Michael Sevakis
54c649697b Gigabeat S: Implement LCD contrast, invert and flip modes. Enhance LCD power management. Include init data but it's not needed yet (identical to Gigabeat F).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26154 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 23:50:00 +00:00
Rafaël Carré
8fe22bd4b8 as3525v2: show adc channels in the debug menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26150 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 20:01:49 +00:00
Rafaël Carré
4f61e455a2 Fuzev1: calibrated charging curve
Show all the adc channels in the IO ports debug menu (not for as3525v2
since the channels are different)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26149 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 19:44:40 +00:00
Tobias Diedrich
0f6b5f03d9 Enable/disable second pll dynamically on usb plugin/remove.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26145 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 16:23:11 +00:00
Rafaël Carré
f8f3fab62c as3525 usb: build as3525v2 file based on CONFIG_USBOTG, and fix warnings
build it on fuzev2 and clipv2 too, it should be the same controller
as3525v1 file is only build for CONFIG_USBOTG == USBOTG_AS3525, no need
to check for it in the .c file

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26142 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 12:56:14 +00:00
Amaury Pouly
22cfbee274 as3525v2: add usb driver stub, enable usb phy&core init
clip+: add USBOTG_ define and enable usb stack

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26132 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 09:58:52 +00:00
Tobias Diedrich
ed96c935ec Ok, this time I double-checked for warnings...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26131 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 07:27:04 +00:00
Tobias Diedrich
3bb2afc741 And don't forget the return values...
Note to self: Next time don't forget to check a AMSv2 build before committing...


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26130 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 07:24:54 +00:00
Tobias Diedrich
e36cfed9bf And of course the stubs still need to be there...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26129 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 07:20:12 +00:00
Tobias Diedrich
ecdbab95f4 Obviously this should not be built on AS353x...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26128 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 07:08:55 +00:00
Tobias Diedrich
4a8c05e92f This change wasn't supposed to be in there yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26127 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 07:07:10 +00:00
Tobias Diedrich
922f83e647 Not quite working yet, but almost.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26126 a1c6a512-1295-4272-9138-f99709370657
2010-05-18 07:00:57 +00:00
Rafaël Carré
7dd0297a4d as3525: correctly detect usb status if we boot with USB plugged
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26118 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 21:17:46 +00:00
Rafaël Carré
88c55d7290 as3514/as3543 fixes
- Enable end of charge monitoring once, it doesn't need to be disabled
- Acknowledge the first (wrong) end of charge interrupt on charger enable
  (this had been broken in r25299)
- Centralize reads to ENRD* registers and cache the results when needed
    - on PP it is not needed because reads are atomic, we only check for
      end of charge when the charging, and for charger presence when
      discharging

as3525v2 (using as3543) specifics
- I got the datasheet today from AMS, thanks to them for being so fast
  and not require me to sign tons of papers!
- USB detection now works on as3525v2 using the as3543. Clip+ won't
  reboot to OF yet, it needs mkamsboot support first (usbstack disabled)
- Charging should work, the CHARGER register is at a different place, it
  is an extended PMU register -> use ascodec_read/write_charger() to
  access it
- real interrupts are not used yet for ENRD, we get thousands of
  interrupts per second, apparently only limited by the i2c clock.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26116 a1c6a512-1295-4272-9138-f99709370657
2010-05-17 20:53:25 +00:00
Rafaël Carré
7ae53d860c Clipv2/+ : ascodec register 0x25 is not related to backlight
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26093 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 18:11:27 +00:00
Rafaël Carré
31caef4ad6 as3525: don't use incomplete USB code when charging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26083 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 11:48:43 +00:00
Rafaël Carré
c785722fec as3525: make sure we don't use a negative number of sectors
Better be safe than sorry, don't try to read/write outside our storage,
because we might overwrite the OF on the internal storage

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26077 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 10:24:31 +00:00
Rafaël Carré
b9beeccbcf as3525v1 use an as3515 audio codec/PMU, not an as3517 as previously thought
-> Change references to as3517 into as3515

there is a reference to the as3515 in the public as3525 datasheet to
support this fact

as3517 is used in the as3527 SoC, the (public) as3527 datasheet has
detailed information on its registers
the audio codec/PMU used in as3525v2 (thought to be as3543) appears to be
compatible (identical?) with as3517

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26075 a1c6a512-1295-4272-9138-f99709370657
2010-05-16 09:22:02 +00:00
Michael Sevakis
dcf442e61f YUV Dither: r12 saving was removed but stacked parameter load offset wasn't changed to compensate, resulting in an improperly aligned dither kernel.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26064 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 20:25:56 +00:00
Rafaël Carré
6f6dffa4a6 adc-as3514.c: cosmetics
reduce indentation level, return early on error condition

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26063 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 19:44:54 +00:00
Rafaël Carré
d10bf7ab46 fuzev2: leave at least 3ms between scrollwheel events
fix insane acceleration

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26060 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 16:34:14 +00:00
Rafaël Carré
79cfc221a5 fuzev2: fix buttonlight flashing on µSD access (2nd try)
it would still flash when the light was off
it turns out that if B5 is set to input the light can't be turned on
but we can still select between µSD slot and internal storage

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26059 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 16:21:47 +00:00
Michael Sevakis
e34c0593e7 Gigabeat S: There's no reason to pause the LCD DMA when changing the framebuffer address.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26054 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 14:58:16 +00:00
Rafaël Carré
0f77db7346 as3525: fix capacity sanity check
adjust logical starting sector to physical starting sector after the check
number of blocks is already adjusted from physical to logical
don't panic anymore when accessing the last part of storage

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26050 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 12:01:53 +00:00
Jeffrey Goode
b8a51adb57 vuprintf does not belong in stdio.h, causes problems with other versions of stdio.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26042 a1c6a512-1295-4272-9138-f99709370657
2010-05-15 03:47:06 +00:00
Rafaël Carré
7036a10126 fuzev2: prevent button light flickering when accessing µSD
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26031 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 22:01:40 +00:00
Rafaël Carré
84b7747069 as3525v1: detect correctly internal storage capacity
check if SD transfers fit with the card capacity

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26029 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 21:41:29 +00:00
Rafaël Carré
e72d2daad8 as3525v2: check if SD transfers fit with the card capacity
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26028 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 19:37:10 +00:00
Rafaël Carré
685209d907 as3525: add some comments in the microphone channel copy loop
Indent the asm constraints at the same level than instructions

Also add a trick to reduce the number of instructions outputted by gcc
in the commented C version of the loop

The difference between C and asm is now 1 instruction

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26027 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 16:47:58 +00:00
Rafaël Carré
ac43fd367a as3525v1: duplicate the right channel into the left channel when recording microphone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26023 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 12:59:54 +00:00
Rafaël Carré
39e4b84e64 as3525: change SDRAM settings only in models for which there is a bootloader
c200v2 & m200v4 have no binary bootloader released yet

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26009 a1c6a512-1295-4272-9138-f99709370657
2010-05-14 08:35:49 +00:00
Rafaël Carré
90963dcc0b as3525: retain & release DMA engine when starting and stopping recording
This fixes the error introduced in r25989, where it would release the
DMA engine when uninitializing recording.
The real bug has been fixed instead (in pitch_detector)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26003 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 21:32:10 +00:00
Tobias Diedrich
990179e1aa Correct register defines. I had to look at the disassembly to spot this bug. orz
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25996 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 14:07:59 +00:00
Rafaël Carré
cd8ed00dfe as3525: use the correct uncached address for rec peak buffer
also avoid disabling completely the DMA engine in pitch_detector

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25989 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 08:21:04 +00:00
Rafaël Carré
bc0434d63a as3525: use a table for mclk dividers, get rid of a division
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25981 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 05:58:52 +00:00
Rafaël Carré
d556f26820 as3525: use DMA for recording
Flyspray: FS#11257

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25980 a1c6a512-1295-4272-9138-f99709370657
2010-05-13 05:26:12 +00:00
Michael Sevakis
59063c6e49 Missed a yellow on Cowon D2. :)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25972 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 14:35:47 +00:00
Michael Sevakis
cc7457e788 Fix r25970 red and yellow *and* a bug uncovered for pp5002 where pcm_play_dma_start wasn't actually initializing the dma_play_data with the first buffer info (must've happened during pp502x DMA conversion).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25971 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 14:31:12 +00:00
Michael Sevakis
4d04132c76 PCM bottom layer simplification. pcm_rec_peak_addr variable no longer has to be handled there. Driver can just return current pointer for recording peaks. A new define, HAVE_PCM_REC_DMA_ADDRESS, specifies that physical addresses are being used for recording and translation is needed before starting a new block. The drivers need not worry about aligning start and size nor should care if either will be zero. All this will be checked in the logical layer first.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25970 a1c6a512-1295-4272-9138-f99709370657
2010-05-12 14:05:36 +00:00
Michael Sevakis
8261051b37 Gigabeat F/X: Let us clear up confusion about just what the core frequency is. Fix frequency display in buffering screen.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25953 a1c6a512-1295-4272-9138-f99709370657
2010-05-11 14:09:26 +00:00
Andree Buschmann
7d21e5ab32 No need to use alternating registers for dual register read/write sequence. Correct comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25939 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 20:35:57 +00:00
Andree Buschmann
18b5488a4a Minor speed up (+3%) of iPod Video screen updates.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25938 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 19:12:03 +00:00
Jack Halpin
ed704825d2 sd-as3525v2: Set LP bits in MCI_CLKENA for cards after they have been initialized.
The OF does this and while we don't have the documentation to be sure I think it's highly likely this is a low power mode referred to in one of the product "briefs".

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25936 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 17:35:00 +00:00
Jack Halpin
56457934c6 sd-as3525v2: Add delay after SD_SWITCH_FUNC to while switching to high speed timings and wait until after this switch to bring the card clock back up to full speed.
This seems to make switching the uSD card to high speed timing much more reliable.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25935 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 17:34:54 +00:00
Tobias Diedrich
badf2c31f7 See 0x429c in OF (lcd_init), B6 is lcd reset line.
Hopefully setting this properly to output will cure the random lcd resets.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25933 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 16:11:01 +00:00
Rafaël Carré
4970f98619 as3525v2: disable adjustable CPU frequency
When the rest of the code is confirmed to work properly without CPU
frequency changes, it will be possible to reliabily test set_cpu_frequency()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25924 a1c6a512-1295-4272-9138-f99709370657
2010-05-10 03:49:17 +00:00
Rafaël Carré
a1b26db98f Sansa Cliv2: calibrated discharge curve
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25901 a1c6a512-1295-4272-9138-f99709370657
2010-05-08 14:53:41 +00:00
Rafaël Carré
b269b7854f as3525*: stop MPMCCLKOUT when all SDRAMs are idle
Get a bit more battery life (between 30 minutes and 2 hours)

as3525v2: only enabled in bootloader, we need a new binary release anwyway
as3525v1: enabled in rockbox.sansa as well, so we can continue using the
current bootloaders

Flyspray: FS#11246
Author: myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25900 a1c6a512-1295-4272-9138-f99709370657
2010-05-08 13:59:01 +00:00
Michael Sevakis
43d2c7ad19 Clean the DCache just before going to main because areas were written by init code that need to be coherent (.ncbss and .sdmacode).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25896 a1c6a512-1295-4272-9138-f99709370657
2010-05-08 08:32:09 +00:00
Michael Sevakis
a420561bf8 Gigabeat S: Reclaim about 800K of memory that was laying unused. Get rid of DEVBSS_ATTR for this target and implement as NOCACHEBSS_ATTR. Plugin and codec buffers move so all that is now incompatible (do full update). No version increase for plugins/codecs because the loader will reject them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25895 a1c6a512-1295-4272-9138-f99709370657
2010-05-08 07:45:34 +00:00
Rafaël Carré
3487b85d89 Fuzev1: calibrated discharge curve
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25874 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 14:33:45 +00:00
Michael Sevakis
d7ef247412 i.MX31/Gigabeat S minor cleaning: Make HW access more obvious in places I forgot to do earlier. Reduce the number of structs that need to be filled-out for some drivers just to simplify a little. Change some types.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25870 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 10:53:19 +00:00
Rafaël Carré
235fc05e3b Fuzev2: calibrated discharge curve
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25869 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 07:46:07 +00:00
Michael Sevakis
affea5fe9e i.MX31: Make some style changes to some driver code so that hardware vs. variable access is more obvious to the eye. Change a few data types and qualifiers. No functional differences.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25865 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 02:29:18 +00:00
Jeffrey Goode
13b8e3d66d Remove last traces of sprintf.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25864 a1c6a512-1295-4272-9138-f99709370657
2010-05-07 02:13:47 +00:00
Thomas Martitz
d67bf4c858 Fix last sprintf warning.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25859 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 22:54:40 +00:00
Thomas Martitz
55e4fe73cc Fix the remaining reds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25858 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 22:33:57 +00:00
Frank Gevaerts
ab4a162763 Fix gigabeat S includes so it builds again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25855 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 22:13:54 +00:00
Thomas Martitz
77dfff5a55 Fix some more snprintf related warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25853 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:37:03 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Jack Halpin
db8d07589f ad-as3525v2: Ask for a reponse from SD_APP_CMD to help with timing issues when switching to 4 bit widebus.
Some SD cards were having problems switching to 4 Bit widebus and this solution appears to remedy that.
Thanks to Luca_S!

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25846 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 18:53:41 +00:00
Michael Sevakis
0defb8483c Gigabeat S bootloader: Fix archaic call placement in dptc_stop which hangs the bootloader before jumping to FW. Let the backlight LED ramp up after unplugging USB which just looks better.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25840 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 04:45:05 +00:00
Michael Sevakis
992b7e10b8 Gigabeat S: There's no compelling reason to start automatic scaling in the bootloader only stop it milliseconds later. Do init to default frequency and working point, however.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25839 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 04:17:34 +00:00
Michael Sevakis
021f9e9e56 Changed a macro to a raw in int constant. Didn't mean to do that. Put it back right.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25838 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 03:30:59 +00:00
Michael Sevakis
a36a498c57 i.MX31/Gigabeat S: This should fix stability problems. One problem was to start using the DVFS controller properly so that interrupts will be masked at the lowest and highest frequency indexes. Millions of useless interrupts were occurring at 132MHz because its index was 2, not 3, which masks it automatically when it can't go slower. Stopping the flood was enough to actually see the difference in general. IRQ must be disabled when fiddling with the CCM registers and only enabled when waiting for voltage ramp as having them enables also causes spurious DVFS ints. Implement interruptible ISR pro/epilogue more safely (always using IRQ stack even in SVC mode handling). Fix an improper inequality in DVFS code (which set regs for down when going up and v.v.). Misc. support changes. Have internal tables take less RAM.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25837 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 03:23:51 +00:00
Jack Halpin
8fd3ec9727 sd-as3525v2.c: Set MCI interrupt mask immediately prior to enabling DMA for the transfer.
These INT's shouldn't be unmasked until the transfer is just about to happen.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25836 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 20:04:16 +00:00
Michael Sevakis
630b4fc555 i.MX31/Gigabeat S: The nested IRQ code was just totally wrong and not actually working anyway (which is why it wasn't crashing). AVIC doesn't seem truthful about priority of current ISR either :\. Sometimes there were channel swaps during really active DVFS due to FIFO underflow from a needed long delay in the ISR (100us, and IIS TX only has 45us reserve) and DMARQ *must* be serviced low-latency. Get it doing as was intended.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25822 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 07:15:20 +00:00
Jack Halpin
08641941bb sd-as3525v2.c: Implement 4 bit widebus for SD Transfers.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25820 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 04:35:08 +00:00
Rafaël Carré
145135f99f Fuzev2: don't disable interrupts in fm code, allow button tick to run
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25819 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 04:13:15 +00:00
Rafaël Carré
a69e1c4a44 Fuzev2: FM - tested on 2 different models
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25818 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 04:06:44 +00:00
Rafaël Carré
aec0af5413 as3525 FM i2c : don't assume SCL and SDA are on the same GPIO
This seems to be the case for the Fuzev2

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25817 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 02:27:18 +00:00