Commit graph

805 commits

Author SHA1 Message Date
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
Rafaël Carré
d11f5a7e5f as3525* : all as3525(v1) use ADC_BVDD for reading battery
all as3525v2 use ADC_CHG_IN because ADC_BVDD is way too high when charging
Fuzev2 now displays battery icon correctly when charging

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25815 a1c6a512-1295-4272-9138-f99709370657
2010-05-05 01:28:37 +00:00
Jack Halpin
adcbb32966 sd-as3525v2: Check for response timeout error in addition to response crc error. Remove TODO comment.
Change SD_SELECT/DESELECT_CARD commands to MCI_NO_RESP as we don't need a response here.
Renumber some command errors.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25811 a1c6a512-1295-4272-9138-f99709370657
2010-05-04 17:29:26 +00:00
Rafaël Carré
7480afb3c5 as3525v2: Use CD Interrupt vs. CD polling in send_cmd()
Also enable write support, test_disk passes on all targets

Flyspray: FS#11140
Authors: Jack Halpin and myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25799 a1c6a512-1295-4272-9138-f99709370657
2010-05-03 22:15:56 +00:00
Thomas Martitz
3adac47c61 Fix wrong udelay logic that made it be way off.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25770 a1c6a512-1295-4272-9138-f99709370657
2010-05-02 02:30:06 +00:00
Rafaël Carré
bc3c5c1657 sd-as3525v2: cosmetics
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25762 a1c6a512-1295-4272-9138-f99709370657
2010-04-30 08:57:56 +00:00
Rafaël Carré
893180d47d as3525v2: crashless cpufreq switching
delays after modifying the registers seems not to be needed
moving RAM operation (cpu_frequency variable) before modifying the
register also seems to help

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25754 a1c6a512-1295-4272-9138-f99709370657
2010-04-29 03:15:18 +00:00
Rafaël Carré
2a180e8039 as3525v2: effect of CGU_PROC on fclk is instant
We do not need any delay after modifying it in system_init(), so the
same applies in set_cpu_frequency()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25753 a1c6a512-1295-4272-9138-f99709370657
2010-04-29 00:43:24 +00:00
Rafaël Carré
d7cdc65854 Fuzev2: revert r25741 and r25746
Use longer delays instead

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25747 a1c6a512-1295-4272-9138-f99709370657
2010-04-28 00:23:25 +00:00
Rafaël Carré
bd7e71df3e fix r25741: the 2nd delay needs to be present when the CPU is boosted
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25746 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 23:52:20 +00:00
Rafaël Carré
3e37460357 Fuzev2 button fixes
- remove udelay(1) and use the previous busy loop : the delay was too
  long for proper hold detection
- remove the 2nd delay (unneeded)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25741 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 21:01:31 +00:00
Rafaël Carré
621cf62702 as3525v2: fix udelay()
detect wraps so we don't miss the value we were waiting for
fix audio stuttering on fuzev2

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25740 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 18:18:30 +00:00
Thomas Martitz
f96406c5f3 Two corrections to the previous commit (wrong timer was used, KERNEL_TIMER_FREQ is a more trustworthy).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25737 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 10:56:44 +00:00
Thomas Martitz
249aae587a FS#11172 - Fuzev2: Read the scrollwheel scrollwheel via IRQ
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25736 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 10:11:52 +00:00
Thomas Martitz
845af676f8 as3525(v2): Add a somewhat inaccurate udelay (-0.5/+1.0µs). It should work good for some huge delays.
Use it in fuzev2 to improve some big delays (correct the biggest one to actually wait for the fifo to empty), and use it in the sd drivers.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25734 a1c6a512-1295-4272-9138-f99709370657
2010-04-27 09:34:29 +00:00
Rafaël Carré
fa5cd0d3bf Fuzev2: button_read_dbop() doesn't exist
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25723 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 15:07:47 +00:00
Rafaël Carré
7e7b3c5ab3 Fuzev2: fix screen corruption
Revive the delay removed by r25636 (and make it longer so it works when
boosted)
Also read GPIOA pins 7 & 6 in one load

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25722 a1c6a512-1295-4272-9138-f99709370657
2010-04-26 14:49:51 +00:00
Bertrik Sikken
0dcae7402f Sansa as3525: Add missing lcd-clip.h header file to sansa clip lcd drivers. Set svn:keywords on scrollwheel-as3525.c.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25674 a1c6a512-1295-4272-9138-f99709370657
2010-04-18 16:58:33 +00:00
Tobias Diedrich
0a3d50b88f workaround DBOP noise issue on C200v2 cause it's really annoying if your buttons don't work in the debug menu...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25655 a1c6a512-1295-4272-9138-f99709370657
2010-04-16 06:01:24 +00:00
Rafaël Carré
8bc3dba6e6 Fuzev2: USB detection isn't reliable in fact
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25639 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 20:00:43 +00:00
Rafaël Carré
5521717958 fuzev2: remove some delays from button driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25638 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 19:34:47 +00:00
Rafaël Carré
e6934b86fd Fuzev2: removed a useless GPIO op, add some whitespace
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25637 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 19:26:06 +00:00
Rafaël Carré
482fefd928 Fuzev2: simplify button_read_device()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25636 a1c6a512-1295-4272-9138-f99709370657
2010-04-13 19:06:21 +00:00
Rafaël Carré
8a2187136f fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25602 a1c6a512-1295-4272-9138-f99709370657
2010-04-12 10:25:49 +00:00
Rafaël Carré
3b1c3881f0 as3525v2: only clear DIV0 bits in set_cpu_frequency() (not bit 6)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25595 a1c6a512-1295-4272-9138-f99709370657
2010-04-11 18:26:45 +00:00
Rafaël Carré
5a8b5f1ebf as3525v2: clarify the comment about write support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25594 a1c6a512-1295-4272-9138-f99709370657
2010-04-11 18:18:24 +00:00
Rafaël Carré
07ec3c9d69 as3525v2: extend a bit the delay after switching pclk/fclk
fix r25571 : Clipv2 would boot to a black screen

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25592 a1c6a512-1295-4272-9138-f99709370657
2010-04-11 16:22:56 +00:00
Rafaël Carré
07c08a6d89 as3525v2: set_cpu_frequency()
delay a bit after changing pclk/fclk
tiny refactoring

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25571 a1c6a512-1295-4272-9138-f99709370657
2010-04-10 20:00:15 +00:00
Jack Halpin
43304b87b0 sd-as3525v2: Add some comments, no functional changes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25546 a1c6a512-1295-4272-9138-f99709370657
2010-04-09 00:26:06 +00:00
Tobias Diedrich
f7b0224a9c Added battery profile change to correct file, removed unused powermgmt-as3525.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25541 a1c6a512-1295-4272-9138-f99709370657
2010-04-08 19:31:03 +00:00
Tobias Diedrich
12a6ef5c18 Use a real battery discharge curve for calibration data
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25540 a1c6a512-1295-4272-9138-f99709370657
2010-04-08 18:50:29 +00:00
Jack Halpin
d7c8d34999 Sansa AMSv2: Do not disable DMA synchronization logic for as3525v2. The DMA controller and the SD controller run at different clock speeds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25532 a1c6a512-1295-4272-9138-f99709370657
2010-04-08 06:12:51 +00:00
Jack Halpin
286fcfe8b1 sd-as3525v2: Start out with all MCI Interrupts masked.
Before the clock settings were fixed this setting actually caused the problem it now seems to solve.
Random freezups seem to be gone for clip+ at least.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25531 a1c6a512-1295-4272-9138-f99709370657
2010-04-08 06:12:44 +00:00
Jack Halpin
f25f17c5b6 sd-as3525v2: Set SD FIFO TX/RX watermarks once in init_controller() and leave them alone after that.
We only use DMA transfers so we should not need to change/reset the FIFO configuration.

Also add comment showing what we set as the TX/RX watermarks.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25507 a1c6a512-1295-4272-9138-f99709370657
2010-04-07 05:47:12 +00:00
Tobias Diedrich
48789c5361 Remove vim option line
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25505 a1c6a512-1295-4272-9138-f99709370657
2010-04-07 03:27:23 +00:00
Tobias Diedrich
ea907b31ae Detect C200v2 variant by reading A7, use A5 or A7 to control backlight and buttonlight depending on the result.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25499 a1c6a512-1295-4272-9138-f99709370657
2010-04-06 18:32:47 +00:00
Jack Halpin
36c16ea05d Sansa AMS: Split set_cpu_frequency() into 2 separate functions for as3525v1/v2 as the code is quite different for each model.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25498 a1c6a512-1295-4272-9138-f99709370657
2010-04-06 17:22:57 +00:00
Jack Halpin
48477f06bf AS3525v2: Set XPD to SD-MMC interface in sd_init() for HAVE_MULTIDRIVE.
XPD was being switched between SD-MMC interface and general i/o functions in the sd_enable() function similar to as3525v1.
Since the as3525v2's do not seem to use XPD as general i/o there's no need to switch it back.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25497 a1c6a512-1295-4272-9138-f99709370657
2010-04-06 17:22:51 +00:00
Jack Halpin
c0e416b1ff SansaAMS: Only use INT_MCIO with as3525v1, it is unused in as3525v2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25496 a1c6a512-1295-4272-9138-f99709370657
2010-04-06 17:22:45 +00:00
Rafaël Carré
e7dcec5dde Revert unrelated part of r25491 : fuzev1 init code works again
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25495 a1c6a512-1295-4272-9138-f99709370657
2010-04-06 10:21:58 +00:00
Thomas Martitz
3f6e5668b3 Revert part of r25489 as it didn't fix the problem, that the CPU frequency debug screen shows the wrong frequency after boot, properly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25492 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 19:20:56 +00:00
Thomas Martitz
02afc271c9 as3525v2: Move codec into iram freeing 1MB for the audio buffer and also a small decoding speedup (iram seems to be 50% faster than dram when boosted and the same when unboosed). 32k is still reserved for the core and can be readjusted if needed. Codecs don't appear to ever need the 1MB (usually <350k only).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25491 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 19:18:15 +00:00
Thomas Martitz
527a2e64ab Correct comment.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25490 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 16:11:50 +00:00
Thomas Martitz
2149199b90 Fuzev2: Use 40MHz as unboosted frequency. The lcd speed and ui responsiveness is good at this freq.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25489 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 16:09:51 +00:00
Rafaël Carré
59dbdabb71 as3525v2: show the correct freqs in debug menu, CGU_PERI uses fclk as source
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25485 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 15:22:36 +00:00
Thomas Martitz
e4cda5ff2c Fix yellow. Another function unneeded in the bootloader.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25484 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 12:23:30 +00:00
Thomas Martitz
ae69e92008 as2525(v2): We don't need yuv blitting/greylib support in the bootloader so don't compile it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25483 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 12:17:11 +00:00
Thomas Martitz
20003ec1c0 Add forgotten file (git was supposed to rename!).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25482 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 12:02:56 +00:00
Thomas Martitz
446a67698f Fuzev2: Reduce code duplication by reusing Fuzev1 code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25481 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 12:01:44 +00:00
Rafaël Carré
eefdd430f1 Fuzev2: YUV output adapted from Fuzev1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25479 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 07:47:31 +00:00
Rafaël Carré
0f951b1de8 Fuzev2: use RGB565SWAPPED (pointed out by amiconn) => 91fps
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25478 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 07:10:01 +00:00
Rafaël Carré
5b8aca84dc Fuzev2: don't reinvent the wheel: swap pixels with existing swap_odd_even32
It is equally fast and doesn't need an additional mask
Thanks to amiconn for pointing to it

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25477 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 06:35:23 +00:00
Rafaël Carré
69186f6f85 Fuzev2: write pixel swapping in assembly for a some speed up
Unboosted: 73 fps -> 87.5 fps

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25476 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 05:41:51 +00:00
Rafaël Carré
7a90aa40c6 as3525v2: set PCLK correctly
PCLK doesn't use PLLA as a source but FCLK, so when changing FCLK with
CGU_PROC register, we must change PCLK as well with CGU_PERI register

Operate with 24MHz PCLK (and unboosted FCLK) for Clipv2/Clip+
Use 60MHz on Fuzev2 to keep the display fast enough (still slower than
Fuzev1 though)

µSD seems to function correctly now

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25475 a1c6a512-1295-4272-9138-f99709370657
2010-04-05 04:48:43 +00:00
Rafaël Carré
6cbbd1a756 Clipv2: read hold switch correctly
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25462 a1c6a512-1295-4272-9138-f99709370657
2010-04-03 22:33:47 +00:00
Rafaël Carré
e1a1df69fc Clipv2: fix grey lcd output
We can write to DBOP_DOUT in 8 bits mode : bits 7..0 are mapped to the
LCD, not bits 15..12 and 3..0 like on Clipv1

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25455 a1c6a512-1295-4272-9138-f99709370657
2010-04-03 17:10:44 +00:00
Rafaël Carré
40849cbeb0 Clipv2/Clip+: lower DEFAULT/NORMAL frequency from 60MHz to 24MHz
1 more hour of battery life measured on Clip+ : 16h30 with mp3 @192kbps
Fuzev2 frequency isn't changed because the scrollwheel is less
responsive below 60MHz

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25448 a1c6a512-1295-4272-9138-f99709370657
2010-04-03 07:48:59 +00:00
Rafaël Carré
1c67444ed3 Clipv2: reboot to OF when USB is inserted
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25447 a1c6a512-1295-4272-9138-f99709370657
2010-04-03 05:45:44 +00:00
Rafaël Carré
722be53bf9 as3525v2: acknowledge USB connection/deconnection in SD thread
Fuzev2: detect USB connection and reboot to OF

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25446 a1c6a512-1295-4272-9138-f99709370657
2010-04-03 05:42:54 +00:00
Rafaël Carré
d3bad5b1ca as3525v2: disable interrupts when writing to the PMU registers
Brightness changes on the Fuzev2 now work flawlessly
This might also explain why my Clip+ would sometimes "not boot", that
could have been because the backlight was not enabled at all.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25445 a1c6a512-1295-4272-9138-f99709370657
2010-04-03 04:42:04 +00:00
Jeffrey Goode
e53ede9b2b Fix someone elses yellow and red
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25434 a1c6a512-1295-4272-9138-f99709370657
2010-04-02 01:41:51 +00:00
Rafaël Carré
eef7f343c2 Clip+: remove button_hold() : we use software hold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25428 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 17:24:14 +00:00
Thomas Martitz
f376fd2f4a Fuzev2: Scrollwheel works like a charm :)
Move scrollwheel parsing function into separate file as it's reused.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25425 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 16:07:56 +00:00
Rafaël Carré
92411e8a96 Fuzev2 LCD: replace delays by calls to lcd_delay() (delays not changed)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25422 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 08:29:30 +00:00
Rafaël Carré
b79ca59194 Try to fix problems on Clip+ (not sure why they appear randomly)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25421 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 08:21:21 +00:00
Rafaël Carré
fa59c7b686 as3525v2: assume plla is the source for pclk (verified with timer frequency)
The frequencies are correctly displayed in the debug menu

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25418 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 06:05:24 +00:00
Rafaël Carré
a28a9210d0 Fix boosting on as3525v2
the arm926-ejs doesn't have synchronous/asynchronous/fastbus modes, so
just change CGU_PROC directly

Note: we could use a lower unboosted frequency now

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25417 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 04:37:17 +00:00
Rafaël Carré
49935f2fa8 as3525*: make sure fclk is 24MHz before using it as the clock source for pclk
Should fix Clip+ boot problems once for all

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25416 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 03:55:49 +00:00
Rafaël Carré
f4dcc69b51 as3525*: set up CGU_COUNT register before turning on / modifying PLLs
Write the setting before enabling the PLL
Fix booting problem (black screen) with Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25415 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 03:22:49 +00:00
Rafaël Carré
39e78993f3 as3525v2: adjustable CPU freq : CGU_PROC is identical to as3525 after all
Instead of modifying CGU_PROC to get 24MHz pclk, just switch to fastbus else Clip+ wouldn't boot
Tested on fuzev1/Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25413 a1c6a512-1295-4272-9138-f99709370657
2010-04-01 02:39:25 +00:00
Rafaël Carré
124188f41c Clipv2/Clip+ : use CHG_IN adc channel, it seems to work better than BVDD and RTCSUP
They're all the same when charger is unplugged, but when it's plugged:
- BVDD is way too high
- RTCSUP oscillates between 2 values
- CHG_IN acts like RTCSUP on some models but seems to works fine on my Clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25405 a1c6a512-1295-4272-9138-f99709370657
2010-03-31 01:22:23 +00:00
Thomas Martitz
33e7e1d1c3 Fix bootloader red, it doesn't have backlight handling.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25394 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 23:14:44 +00:00
Rafaël Carré
d2fec68fb0 fuzev2 FM doesn't work (yet), don't try to record from it
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25393 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 23:10:00 +00:00
Thomas Martitz
71393c701c Fuzev2: Preliminary button support. Scrollwheel does not work yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25392 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 23:03:06 +00:00
Rafaël Carré
dedf08a6e1 as3525: CGU_USB has only 3 bits for the divider
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25381 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 17:12:16 +00:00
Rafaël Carré
ba76e2870e as3525v2: factorize writing to ascodec PMU
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25380 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 13:00:33 +00:00
Rafaël Carré
1bfffbcaaa as3543: name 0x1b & 0x1c registers
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25379 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 12:54:07 +00:00
Rafaël Carré
cc1f6033de Clipv2/Clip+ : turn off backlight in 0x1b register
Rename clipv2 file

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25378 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 12:43:50 +00:00
Rafaël Carré
60cfc1ddff Fuzev2: fix backlight brightness
PMU registers are write-only

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25377 a1c6a512-1295-4272-9138-f99709370657
2010-03-29 12:10:43 +00:00
Rafaël Carré
f04ee9436c Fuzev2: it seems we need to set bit 3 when selecting PMU subregister
backlight still not working properly

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25371 a1c6a512-1295-4272-9138-f99709370657
2010-03-28 06:05:48 +00:00
Rafaël Carré
ce3d38c0fa Fuzev2: cleanup backlight code (still not working correctly)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25370 a1c6a512-1295-4272-9138-f99709370657
2010-03-28 04:33:26 +00:00
Rafaël Carré
a8adcf36f1 Fuzev2: fix LCD
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25368 a1c6a512-1295-4272-9138-f99709370657
2010-03-28 04:10:36 +00:00
Rafaël Carré
7cd24fa13d Fuzev2: fix lcd
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25360 a1c6a512-1295-4272-9138-f99709370657
2010-03-28 01:53:42 +00:00
Rafaël Carré
6fa93436ea Fuzev2: fix normal build: enable charging properly, disable FM, use as3525v2 cpu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25354 a1c6a512-1295-4272-9138-f99709370657
2010-03-27 16:53:13 +00:00
Rafaël Carré
148a5fb631 Fuzev2: µSD detect pin is A2 like Clip+, but the meaning is reversed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25353 a1c6a512-1295-4272-9138-f99709370657
2010-03-27 16:53:08 +00:00
Jack Halpin
4b0c43da8f sd-as3525v2.c Organize construction of MCI_COMMAND so it is more apparent which bits are being set and why.
I have also made the CMD_CHECK_CRC_BIT unused for now since we do not check any response crc values yet.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25343 a1c6a512-1295-4272-9138-f99709370657
2010-03-26 17:00:25 +00:00
Rafaël Carré
d3312b7f16 Fuzev2: fix build, use suited bitmap tool
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25342 a1c6a512-1295-4272-9138-f99709370657
2010-03-26 11:41:15 +00:00
Rafaël Carré
ea1b3676de Clip+: fix battery voltage reading when charging : use ADC_RTCSUP like e200v1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25340 a1c6a512-1295-4272-9138-f99709370657
2010-03-26 07:11:03 +00:00
Jack Halpin
9d9c090cba sd-as3525v2.c Implement HS timings for those cards that are capable.
The internal card does not appear to be HS capable, at least not in 2GB clip+

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25316 a1c6a512-1295-4272-9138-f99709370657
2010-03-24 05:41:33 +00:00
Jack Halpin
0466a11028 sd-as3525v2.c Don't reset controller on every pass through the transfer loop.
The controller only needs to be reset if we had an error to clean up any leftover trash...

Move comment pertaining to retry variable so it's actually nearby.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25315 a1c6a512-1295-4272-9138-f99709370657
2010-03-24 05:41:25 +00:00
Jack Halpin
66f011e8c1 sd-as3525v2.c Adjust comments for MCI_INT bits to show if they are related to CMD, DATA, or a termination signal.
Adjust the initial MCI_MASK value to also mask the MCI_INT_RXDR and MCI_INT_TXDR bits as it seems we don't use them for dma transfers.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25314 a1c6a512-1295-4272-9138-f99709370657
2010-03-24 02:48:38 +00:00
Jack Halpin
19fc7297ba SansaAMSv2: Give register CGU_BASE + 0x3C the name CGU_SDSLOT.
Move CLKDIV macros into clock-target.h.
Only enable the necessary interfaces for the 3 clock registers used for SD.
Add MEMSTICK and SDSLOT registers to bottom of register display in View HW info debug page.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25309 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 17:00:59 +00:00
Björn Stenberg
2d174af443 No intentional warnings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25308 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 13:21:19 +00:00
Tobias Diedrich
06653d982a Make this properly dependend on the right defines instead of a blacklist.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25306 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 11:22:21 +00:00
Tobias Diedrich
c4e4ffb541 Limit AUDIO_IRQ handling to AS3525, since it doesn't work on the newer SoC in SANSA_CLIPPLUS yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25305 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 11:13:17 +00:00
Rafaël Carré
f5988d4fbd fix previous revision by using correct definition of i2c prescaler
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25304 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 09:22:03 +00:00
Rafaël Carré
e4972b08f7 as3525: do not read i2c2_cpsr* registers because the clock might be disabled
The registers value does not change so we don't need to read them
This avoids dividing by 0

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25303 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 09:20:12 +00:00
Rafaël Carré
83fe35f4a1 fix r25297 : make ascodec-target.h empty when building sim
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25301 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 07:52:55 +00:00
Tobias Diedrich
62ff88b717 Implement software pwm to control c200v2 display brightness.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25300 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 05:27:32 +00:00
Tobias Diedrich
47ab95904e Add handler for audio irq.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25299 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 05:02:37 +00:00
Tobias Diedrich
946d3d177e Rewrite ascodec_as3514.c to use interrupts.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25297 a1c6a512-1295-4272-9138-f99709370657
2010-03-23 04:40:38 +00:00
Rafaël Carré
1657174561 sd-as3525v2: read cid & csd in the correct order, fix disk info
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25292 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 12:12:09 +00:00
Jack Halpin
beaa292199 sd-as3525v2.c We don't need to disable/enable MCI_CLKENA in send_cmd().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25286 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 06:09:19 +00:00
Jack Halpin
2a75da37ae sd-as3525v2.c Enable disk access icon.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25285 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 06:09:14 +00:00
Jack Halpin
d2a264e7da sd-as3525v2.c Use MCI_MASK instead of data_transfer flag to determine if data transfer is happening.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25284 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 06:09:08 +00:00
Jack Halpin
3ee301248d sd-as3525v2.c Add macros to distinguish between a CMD error and a DATA error.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25283 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 02:30:00 +00:00
Jack Halpin
48b8080330 sd-as3525v2 Remove post transfer wait for state call and move pre transfer wait for state call inside the transfer loop.
We don't need the post transfer call this way.  We check on TRAN state before each partial transfer.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25282 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 02:29:53 +00:00
Jack Halpin
6357c5a085 sd-as3525v2.c Use SD_DESELECT_CARD instead of SD_SELECT_CARD to make the code easier to understand. There is no functional difference.
Add comment to explain why we need to do this.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25281 a1c6a512-1295-4272-9138-f99709370657
2010-03-22 02:29:40 +00:00
Jack Halpin
da325b6270 sd-as3525v2.c: Correct SD_APP_OP_COND command to send full voltage range for v1 SD cards.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25266 a1c6a512-1295-4272-9138-f99709370657
2010-03-21 06:49:42 +00:00
Jack Halpin
f1d9491e9c sd-as3525v2.c: Only manipulate MCI_CLKENA for drive being used.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25265 a1c6a512-1295-4272-9138-f99709370657
2010-03-21 06:10:44 +00:00
Rafaël Carré
7042c96b4a Clip+: enable sound on "as3514" (as3543 in fact)
as3525 comes with a as3517, as3525v2 with a as3543, rename specific
registers accordingly

Existing problems: FM (line out) doesn't work, volume can't go below a
certain point

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25260 a1c6a512-1295-4272-9138-f99709370657
2010-03-20 17:09:44 +00:00
Rafaël Carré
91647264f8 lcd-ssd1303 (all Clips) : move model specific code in their own files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25248 a1c6a512-1295-4272-9138-f99709370657
2010-03-19 15:13:29 +00:00
Rafaël Carré
004317a863 sd-as3525v2: correctly check send_cmd return value (which is boolean)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25246 a1c6a512-1295-4272-9138-f99709370657
2010-03-18 16:40:21 +00:00
Jack Halpin
016153a0b9 SansaAMSv2: Add support for uSD cards to sd-as3525v2.c and activate hotswap and multidrive.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25245 a1c6a512-1295-4272-9138-f99709370657
2010-03-18 13:25:13 +00:00
Rafaël Carré
fb6a5431f2 sd-as3525v2: sd_get_info() is already in common SD code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25243 a1c6a512-1295-4272-9138-f99709370657
2010-03-18 10:29:13 +00:00
Rafaël Carré
ab7365610b as3525*: revert r25198 and inline memory_init in crt0.S
We do not need a stack pointer at this step, and we are sure to not use
memory not initialized yet (like bss)

Fixes FS#11114 (tested on Fuze)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25229 a1c6a512-1295-4272-9138-f99709370657
2010-03-17 05:02:42 +00:00
Thomas Martitz
b5b2a03ee2 A tiny bit more Sansa Fuze v2 work.
- buttonlight works
 - backlight turns on (quite weak though and no brightness adjustment/backlight off functional)
 - don't share drivers with e200v2/fuzev1 for now as it's not entirely clear how dbop plays into this
 - deactivte scrollwheel as it's messing up the timer setup in kernel-as3525.c indicating the dbop input reading doesn't work well
 - still no working bootloader/no lcd or buttons

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25225 a1c6a512-1295-4272-9138-f99709370657
2010-03-16 22:38:57 +00:00
Rafaël Carré
f74a6ed38a Sansa Clipv2: use similar button driver to Clipv1
Fixes some buttons not being read (hold is still buggy)

FlySpray: FS#11111
Author: Pascal Below

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25209 a1c6a512-1295-4272-9138-f99709370657
2010-03-15 23:01:45 +00:00
Rafaël Carré
ba68f2dedd sd-as3525v2: add card hotswap to sd_thread
Clip+: add (disabled) configuration for µSD slot

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25194 a1c6a512-1295-4272-9138-f99709370657
2010-03-15 02:36:16 +00:00
Rafaël Carré
72e0bf3381 sd-as3525v2: prepare for multidrive builds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25193 a1c6a512-1295-4272-9138-f99709370657
2010-03-15 01:57:15 +00:00
Rafaël Carré
9dba6593cd as3525: do not assume we can record from microphone
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25191 a1c6a512-1295-4272-9138-f99709370657
2010-03-15 01:00:00 +00:00
Rafaël Carré
6159278e0d Clip+: si4702 FM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25190 a1c6a512-1295-4272-9138-f99709370657
2010-03-15 00:36:13 +00:00
Rafaël Carré
ade669f0e7 sd-as3525v2: reduce the delay before reading response
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25189 a1c6a512-1295-4272-9138-f99709370657
2010-03-15 00:36:08 +00:00
Rafaël Carré
c3c7306098 sd-as3525: do not reverse 2 times long responses, read them directly in the needed order
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25185 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 21:46:25 +00:00
Rafaël Carré
db7aedf93a sd-as3525v2: do not reverse 2 times long responses, read them directly in the needed order
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25184 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 21:38:36 +00:00
Rafaël Carré
291e2b1ae6 sd-as3525v2: delay a bit before reading the command response
Especially when using caches we might read the response too fast and get
the response for the previous command instead.

Now Clip+ boots fine with both instruction & data caches enabled, the
delay might need to be lowered though: boot time is a bit longer.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25183 a1c6a512-1295-4272-9138-f99709370657
2010-03-14 21:38:30 +00:00
Jack Halpin
405f6e6dbc SansaAMS: debug-as3525.c Allow View HW info page to display correct info for both V1 & V2 versions of as3525.
calc_freq(CLK_PLLA) for as3525v2 simply returns 240MHz instead of calculating until we understand how it is calculated.
Now displays 922T or 926ejs depending on version.
Remove SD and uSD info from as3525v2 as it is not useful due to different SD controller.
Increased the lines used for each page of display on clip screen size.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25120 a1c6a512-1295-4272-9138-f99709370657
2010-03-11 19:01:49 +00:00
Thomas Martitz
02660557ad Fix a bunch of boot.lds files so that they build with newer ld. The stack/bss sections need NOLOAD. otherwise the linker would try to include those into the binary. I don't know why this ever worked with our current ld version.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25078 a1c6a512-1295-4272-9138-f99709370657
2010-03-08 23:16:57 +00:00
Rafaël Carré
8653c0a567 Sansa AMS: do not pretend we can power off the tuner
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25029 a1c6a512-1295-4272-9138-f99709370657
2010-03-05 01:43:47 +00:00
Thomas Martitz
2ac962aceb Fix as3525 lowmem targets. They put the init code into the plugin buffer, but some init functions are grabbing it.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25023 a1c6a512-1295-4272-9138-f99709370657
2010-03-04 12:32:12 +00:00
Thomas Martitz
f8edc32589 FS#10756 - Free unused init code
Introduce a new .init section for initialisation code, so that it can be copied to an area which is later overwritten before calling. The stack/bss can then overwrite that code, effectively freeing the code size that the initialisation routines need. Gives a few kB ram usage back.
Only implemented for PP and as3525 so far. More targets could be added, as well as more functions.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25013 a1c6a512-1295-4272-9138-f99709370657
2010-03-03 23:20:32 +00:00
Jack Halpin
a872587a8d sd-as3525v2: Load CID info to cardinfo.cid[] correctly.
SD_ALL_SEND_CID was using cardinfo.cid to store the response instead of the temp array used for long responses.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24944 a1c6a512-1295-4272-9138-f99709370657
2010-02-27 17:07:54 +00:00
Thomas Martitz
0094b0500c Add Sansa Fuzev2 to the target tree. Bootloader builds, but is completely untested.
Compilation shows a warning for the first argument of the lcd_bitmap() call in show_logo().

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24911 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 13:26:46 +00:00
Jack Halpin
d95211a23d sd-as3525v2: Controller and card init much more reliably now.
Remove MCI_HCON read from init_controller() as it now appears unneccesary.
Make sd-init_card() use similar init sequence to the one in sd-as3525.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24903 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 06:46:16 +00:00
Michael Chicoine
b6033c9aa0 Revert r24898 and fix yellow properly so that register is still read
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24899 a1c6a512-1295-4272-9138-f99709370657
2010-02-25 00:02:58 +00:00
Michael Chicoine
abacbbda6c Comment out unused variable (fix yellow)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24898 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 23:22:19 +00:00
Jack Halpin
241abf4bc5 sd-as3525v2.c: Correct some #defines, add comments, attempt to lower sd frequency to 400 khz during init.
I've left in some commented out code for now as this is still a bit experimental.....

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24891 a1c6a512-1295-4272-9138-f99709370657
2010-02-24 20:24:48 +00:00
Jack Halpin
1c09c037f9 sd-as3525v2: Add some register bit descriptions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24872 a1c6a512-1295-4272-9138-f99709370657
2010-02-23 21:31:54 +00:00
Rafaël Carré
8ca62f32aa sd-as3525v2: correct CGU_MEMSTICK setting, shift divider
Add a note about the unknown clock register

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24869 a1c6a512-1295-4272-9138-f99709370657
2010-02-23 07:08:33 +00:00
Rafaël Carré
e32e180244 as3525v2: share more of system_init() between the 2 SoCs
Differences remaining:
    - list of peripherals reset
    - CGU_PROC isn't modified on as3525v2
    - CGU_PLLA bits aren't known, but we use a known setting for 240MHz

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24868 a1c6a512-1295-4272-9138-f99709370657
2010-02-23 06:59:58 +00:00
Rafaël Carré
0af879c21a sd-as3525v2: unaligned transfers are handled properly (with memcpy)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24866 a1c6a512-1295-4272-9138-f99709370657
2010-02-23 01:00:21 +00:00
Rafaël Carré
adf5bbdc46 Clip+: greylib
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24860 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 10:35:51 +00:00
Rafaël Carré
355f38d30a sd-as3525v2: use an uncached buffer, disable write for the moment
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24858 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 10:02:20 +00:00
Rafaël Carré
a92a059abe Clip+: fix buttons driver
Do not use a static variable for buttons, else they're never reset
Remove unneeded code
Move GPIO_DIR setting to init function

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24855 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 10:02:05 +00:00
Rafaël Carré
ed55520985 as3525v2: do not modify CGU_PERI in rockbox.sansa
this prevented booting, we need to figure out CGU_PROC bits

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24854 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 08:29:02 +00:00
Rafaël Carré
21ac9d23d0 sd-as3525v2: working bootloader
check all error bits
only signal wakeup on data transfers, not on commands
trim down send_cmd

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24851 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 07:31:45 +00:00
Rafaël Carré
b347245d7c as3525v2: init sdram
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24849 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 07:31:37 +00:00
Rafaël Carré
c2c01ac34c Clip+ boots with iram mapped at 0x0, only the clipv2 is different
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24842 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 05:41:05 +00:00
Rafaël Carré
31eda59720 as3525v2: build normal firmware properly (Clipv2/+)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24840 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 02:42:58 +00:00
Rafaël Carré
a012b185ac sd-as3525v2: working transfers, still awfully slow
not touching MCI_CTYPE (leaving bus width to 1) gives data transfers
ignore the hardware locked up while error bit for now
remove printf() helper & debug code

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24838 a1c6a512-1295-4272-9138-f99709370657
2010-02-22 02:42:46 +00:00
Rafaël Carré
1ae6307a5a sd-as3525v2: panic in case of error in the isr
Disable errors on response timeout since it can happen on SD_SEND_IF_COND
Disable errors on start bit error : it's ignored by the linux driver

No panic on my side with those 2 bits unchecked, but no transfer
completion either.
Note: the Linux driver doesn't implement DMA

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24837 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:49:57 +00:00
Rafaël Carré
c6af5c962d sd-as3525v2: describe interrupt mask bits
Reset DMA before transfers and check data transfer over bit in isr
Still no error or data transfer over conditions

Read the correct status register in isr : there is a masked interrupt
status register and a general status register

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24836 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:49:53 +00:00
Rafaël Carré
e9cd0f1c7a sd-as3525v2: no limits on the amount of sectors to transfer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24832 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:37 +00:00
Rafaël Carré
f857fe1450 sd-as3525v2: MCI_HCON bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24831 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:33 +00:00
Rafaël Carré
95f063cc6f sd-as3525v2: MCI_FIFOTH bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24830 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:29 +00:00
Rafaël Carré
ad7d84d315 sd-as3525v2: command register bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24829 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:23 +00:00
Rafaël Carré
d19705f7fc sd-as3525v2: name interrupt bits (no description yet)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24828 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:18 +00:00
Rafaël Carré
ceae8748b8 sd-as3525v2: describe CTYPE bit
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24827 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:13 +00:00
Rafaël Carré
4be56226c1 sd-as3525v2: detail MCI_CTRL bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24826 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:09 +00:00
Rafaël Carré
48ed5ad66e as3525v2: full list of registers + description
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24825 a1c6a512-1295-4272-9138-f99709370657
2010-02-21 22:01:05 +00:00
Rafaël Carré
8b4ee2cfdd as3525: make clear the CCU bit we can't reset is the IDE interface
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24738 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 23:27:35 +00:00
Rafaël Carré
9f228d7662 as3525v2: use CGU_BASE instead of hardcoded address for unknown register
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24737 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 23:27:31 +00:00
Rafaël Carré
04fef58210 as3525v2: make clear the SD code is debug only and display a message
comment out printing of registers in the isr

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24736 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 23:09:56 +00:00
Rafaël Carré
020322665b Clip+: LCD display (with FlynDice help)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24729 a1c6a512-1295-4272-9138-f99709370657
2010-02-17 18:43:13 +00:00
Jack Halpin
3a60a6aa23 Sansa Clip+: Implement button driver.
Initial button driver for clip+.  I've followed the steps the OF uses to read the buttons.
There is no hold button on the clip+ so for now calling button_hold() siply returns false.
The OF actually sets an additional flag for the 2nd read from D6 and not BUTTON_POWER as I have done here. 

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24669 a1c6a512-1295-4272-9138-f99709370657
2010-02-15 19:29:47 +00:00
Rafaël Carré
3f43765925 Sansa Clip+: use 8 bits transfers, like DMA transfers
The code assumed LCD pixels were packed on 16 bits values but for the
Clip we use 8 bits values.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24563 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 08:20:42 +00:00
Rafaël Carré
ec39555290 Add DMA line for SSP as used in Clip+
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24562 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 08:13:52 +00:00
Rafaël Carré
71e77aaff8 Sansa Clip+: use correct SSP settings
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24559 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 03:36:53 +00:00
Rafaël Carré
fbc59e2e28 Sansa Clip+ has no button light
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24558 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 02:35:42 +00:00
Rafaël Carré
1e6847db75 Sansa AMS AS3525v2 SD: remove a case which is never run
Reindent

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24552 a1c6a512-1295-4272-9138-f99709370657
2010-02-07 19:09:59 +00:00
Rafaël Carré
bd0b7363ca Sansa AMS: do not init memory for AS3525v2
(#ifdef rule was broken)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24549 a1c6a512-1295-4272-9138-f99709370657
2010-02-07 18:37:15 +00:00
Bertrik Sikken
8d234fc9a3 as3525: add a few more CGU_PERI definitions
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24537 a1c6a512-1295-4272-9138-f99709370657
2010-02-06 14:33:40 +00:00
Rafaël Carré
c8ea43f095 Untested attempt at a Clip+ LCD driver using SSP (PrimeCell PL022)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24523 a1c6a512-1295-4272-9138-f99709370657
2010-02-05 15:12:08 +00:00
Rafaël Carré
f0d53ea8d6 Sansa ASM: clock-target.h needs to know the CPU
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24521 a1c6a512-1295-4272-9138-f99709370657
2010-02-05 12:48:39 +00:00
Rafaël Carré
12af2926e5 Make Clip+ bootloader build
Now making the Fuzev2 bootloader build should be pretty easy

TODO:
    - write button driver (FlynDice found all buttons already)
    - find button light
    - decide if lcd-ssd1303.c must be modified for Clip+ using SSP or forked
    - check if backlight code works (I copied Clipv2 code)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24520 a1c6a512-1295-4272-9138-f99709370657
2010-02-05 12:40:25 +00:00
Rafaël Carré
dc3cc55b65 sd as3535v2 : remove functions already present in sd.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24364 a1c6a512-1295-4272-9138-f99709370657
2010-01-28 12:04:17 +00:00
Thomas Martitz
fbc8f0c469 Update on even pixel boundaries on the e200v2 for best performance (was forgotten in r24198).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24337 a1c6a512-1295-4272-9138-f99709370657
2010-01-26 21:31:53 +00:00
Bertrik Sikken
51cb7eb5f2 Sansa c200v2: enable battery charging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24257 a1c6a512-1295-4272-9138-f99709370657
2010-01-17 14:19:31 +00:00
Rafaël Carré
6c93570b90 Sansa AMS: remove "ata" from SD drivers filenames
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24237 a1c6a512-1295-4272-9138-f99709370657
2010-01-15 14:03:41 +00:00
Rafaël Carré
7478cfcbf7 Sansa as3525v2: move SD embryo code to a common dir
Select it based on as3535/as3525v2 so Clip+/Fuzev2 will be able to use
it too

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24222 a1c6a512-1295-4272-9138-f99709370657
2010-01-13 06:44:45 +00:00
Jack Halpin
fefafebed6 SansaAMS: Disable voltage scaling.
Voltage scaling seems to be causing various problems mostly related to issues with the uSD cards.
The increased runtime benefit only amounts to ~30 minutes as currently implemented so it seems prudent to disable it once again at this time.
We still don't understand why the core voltage being lowered would impact the uSD card but in fact it does.  The internal cards do not seem to have problems.
I have simply #ifdef'd the voltage scaling code with HAVE_ADJUSTABLE_CPU_VOLTAGE so if you want to use voltage scaling simply define that and the voltage scaling code should run.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24217 a1c6a512-1295-4272-9138-f99709370657
2010-01-12 23:56:59 +00:00
Bertrik Sikken
f5f6af2fee Fix svn:keywords property in as3525 target tree
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24212 a1c6a512-1295-4272-9138-f99709370657
2010-01-10 14:53:53 +00:00
Bertrik Sikken
ba9040a82b Sansa AMS: allow use of PLL B for more accurate audio sample rate (0.04% instead 0.15% error)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24211 a1c6a512-1295-4272-9138-f99709370657
2010-01-10 14:24:45 +00:00
Thomas Martitz
32b15fc08f Sansa e200v2/Fuze: Optimize YUV blitting by writing 2 pixel at once to the DBOP and removing a few unneeded busy polling status register for fifo empty. Speed up between 50% and 80%.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24202 a1c6a512-1295-4272-9138-f99709370657
2010-01-08 16:41:36 +00:00
Rafaël Carré
64566ce775 Clivp2: Fix typo when applying FS#10047
Make LCD work again

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24199 a1c6a512-1295-4272-9138-f99709370657
2010-01-08 08:11:50 +00:00
Thomas Martitz
dc07c79263 Sansa AMS: Time has shown that switching between 16 and 32bit mode costs much time (due to the micro delay needed), so do 32bit transfers unconditionally for lcd updates at the cost of updating slightly larger rectangles (gives upto 15% speed up, nearly at maximum now).
Unify this optimized dbop transfer function and re-use it more often (it still handles 16bit transfers).

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24198 a1c6a512-1295-4272-9138-f99709370657
2010-01-07 22:21:41 +00:00
Thomas Martitz
5fd54dee4f e200v2/Fuze: Correct and simplify clipping clipping code in lcd_update_rect().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24197 a1c6a512-1295-4272-9138-f99709370657
2010-01-07 19:35:36 +00:00
Rafaël Carré
57667c51cf Sansa AMS: refactor DBOP button reading (e200v2/Fuze/c200v2)
This gets rid of LCD glitches on Sansa Fuze, and now LCD transfers can
get interrupted by button reading

Flyspray: FS #10603
Author: Bertrik Sikken

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24192 a1c6a512-1295-4272-9138-f99709370657
2010-01-06 23:41:36 +00:00
Rafaël Carré
3992f18982 Sansa e200v2: LCD
- Cosmetics change to reduce the diff with lcd-fuze.c:
 - remove useless headers
 - move/remove/change comments
 - rename functions
 - fix casts

Now the differences with fuze lcd code are mostly:
- lcd_window* code
- _display_on() / as3525_dbop_init()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24182 a1c6a512-1295-4272-9138-f99709370657
2010-01-04 21:35:31 +00:00
Rafaël Carré
98fa13cb29 Sansa Fuze: LCD
- add lcd_set_invert()
- add lcd_set_flip() commented out since not working fine yet:
  mpegplayer isn't flipped, and statusbar display is buggy
- use the registers list from e200v2
- cosmetics (indentation fix, comments changes, function names, casts,
  function moves, ...) to make the diff with lcd-e200v2.c shorter

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24181 a1c6a512-1295-4272-9138-f99709370657
2010-01-04 21:35:26 +00:00
Andree Buschmann
56d972ad57 Fix tabs
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24153 a1c6a512-1295-4272-9138-f99709370657
2010-01-03 10:19:43 +00:00
Bertrik Sikken
5c4ef78cc9 Simplify some expressions using the ? operator
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24136 a1c6a512-1295-4272-9138-f99709370657
2010-01-01 22:47:25 +00:00
Rafaël Carré
2392bb4199 FS#10047 : Clipv2
Reuse some code from Clip (LCD) and a lot of code from AS3525
Add a new CPU type : AS3525v2, identical to AS3525 except it's an ARMv5 (arm926-ejs)
SD code still not working
For an unknown reason LCD doesn't work anymore (to be investigated)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24131 a1c6a512-1295-4272-9138-f99709370657
2009-12-31 19:15:20 +00:00
Bertrik Sikken
5698674ece Code police: add missing header file, make some local functions static
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24083 a1c6a512-1295-4272-9138-f99709370657
2009-12-20 16:28:15 +00:00
Jack Halpin
5a4ca2f04d Sansa AMS: Fix Red. Write delay is not included for non HAVE_MULTIDRIVE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24055 a1c6a512-1295-4272-9138-f99709370657
2009-12-17 19:57:08 +00:00
Jack Halpin
7bce743218 Sansa AMS: Revert 4 bit widebus
For some reason 4 bit widebus is creating issues when writing to the .rockbox directory so revert 4 bit widebus and the revision to the write delay that was added as a fix.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24054 a1c6a512-1295-4272-9138-f99709370657
2009-12-17 19:17:53 +00:00
Jack Halpin
d24ebd1613 Sansa AMS: Make write delay work for non-MULTIDRIVE.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24020 a1c6a512-1295-4272-9138-f99709370657
2009-12-16 06:56:44 +00:00
Jack Halpin
7d6ec7bb6f Sansa AMS: Use small write delay for all non-HS cards including the internal SD to prevent data corruption.
Making this delay apply to all non-HS SD cards seems to fix some data corruption issues that came up with the switch to 4-bit widebus.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24019 a1c6a512-1295-4272-9138-f99709370657
2009-12-16 06:32:22 +00:00
Jack Halpin
0f19f4713d Sansa AMS: Add MCI_RESPONSE_ERROR macro to make code function more obvious.
MCI_RESPONSE_ERROR covers MCI_CMD_TIMEOUT & MCI_CMD_CRC_FAIL and makes it more clear that these are errors in the response and not the command itself.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24003 a1c6a512-1295-4272-9138-f99709370657
2009-12-15 06:11:29 +00:00
Jack Halpin
87770d2439 Sansa AMS: Implement 4 bit widebus mode for SD cards.
Both the internal and uSD cards are now put into 4 bit widebus mode during initialization except for bootloader.
Add MCI_START_BIT_ERR to MCI_ERROR list and change name to MCI_DATA_ERROR for clarity.
Make appropriate changes to SD error codes.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23977 a1c6a512-1295-4272-9138-f99709370657
2009-12-13 20:37:55 +00:00
Jack Halpin
c03871ab80 Sansa AMS: Assume IDE_CLK is used as MCLK for internal SD. We assumed PCLK previously.
This patch changes all references/assumptions of PCLK to IDE_CLK for the internal pl180 controller.
Lower the AS3525_IDE_FREQ to 50 MHz in order to be able to divide by 2 for 25 MHz on the internal SD card.
Adjust the code in debug-as3525.c to account for the change and the frequencies reported should be correct.
Add some #if defined(HAVE_MULTIDRIVE) conditionals to cut out the code dealing with uSD for the clip.
Isolate the write delay needed for low frequency writes to only run for standard speed uSD cards. That is the only case for an MCICLK at 15.5 MHz.

Internal cards run at 25 MHz, HS uSD at 31 MHz, and standard speed uSD cards at 15.5 MHz.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23929 a1c6a512-1295-4272-9138-f99709370657
2009-12-11 04:53:22 +00:00
Jack Halpin
fae4eab4b2 Sansa AMS: Add extra delay to the uSD init sequence to enhance card compatability,
Some cards need this delay now that we're running at ident speed during this part of the init stage.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23919 a1c6a512-1295-4272-9138-f99709370657
2009-12-10 17:42:03 +00:00
Jack Halpin
f37fe25638 Sansa AMS: Run all SD cards within SD Specification frequencies.
Addition of a small write delay avoids data crc failures at lower MCICLK frequencies.
Check the actual speed value from the card's CSD register to determine HS status.  HS cards can run at twice the speed of standard speed SD cards.
Internal cards & standard speed uSD now run at PCLK/4 = 15.5 MHz.  HS uSD cards run at PCLK/2 = 31 MHz.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23901 a1c6a512-1295-4272-9138-f99709370657
2009-12-08 20:26:31 +00:00
Jack Halpin
472bab654b Sansa AMS: Move the boost from SD ident to operating frequency to after the cards get switched to HS timings.
It seems that lowering the operating frequency for the SD cards has made some uSD cards have problems with the init process.
By moving the boost from ident to operating frequency to after the switch to HS timing these card now seem to init normally.
We still need to fix the problem where the internal cards and non HS uSD cards are still slightly overclocked at 31 MHz.
As of now we experience data crc failures during writes at the next lower frequency of 15.5 MHz.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23870 a1c6a512-1295-4272-9138-f99709370657
2009-12-06 07:32:40 +00:00
Jack Halpin
43991cdc8f Sansa AMS: The internal SD does not use the IDE AHB interface so remove references to it. It does use the other non AHB interface.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23836 a1c6a512-1295-4272-9138-f99709370657
2009-12-03 20:06:46 +00:00
Jack Halpin
d414b0a027 Sansa AMS: Reduce MCICLK speed on SD cards to 31 MHz.
This is within the SD Spec for v2 High Speed cards but still over the 25 MHz limit for v1 and non-HS v2 cards.
Test_disk write & verify passes on both internal and uSD.
The v1 cards still need to be lowered to 15 MHz but that causes data crc failures at this point.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23835 a1c6a512-1295-4272-9138-f99709370657
2009-12-03 20:06:40 +00:00
Jack Halpin
7f88cc44aa Sansa AMS: Use some new macros to set the MCICLK frequency to help avoid missing the bypass bit when resetting frequencies with MCI_CLOCK register.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23831 a1c6a512-1295-4272-9138-f99709370657
2009-12-03 17:22:09 +00:00
Jack Halpin
40629be046 Sansa AMS: Wait until sd_init_card() to turn on the clocks for the pl180 controller.
Currently the bypass bit is not cleared so it's possible to enter the identification phase at bypass speed instead of ident speed.
The simplest solution to ensure the bypass bit is not set is to set the register with an = operation instead of |=.
This makes setting the MCI_CLOCK register at the end of the controller init unnecessary.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23830 a1c6a512-1295-4272-9138-f99709370657
2009-12-03 17:22:03 +00:00
Jack Halpin
d8f420a48d Sansa AMS: Add read/write and drive info to panic message for SD transfer errors.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23829 a1c6a512-1295-4272-9138-f99709370657
2009-12-03 17:21:56 +00:00
Jack Halpin
c67ce499f3 Sansa AMS: Check if SD controllers are already enabled before attempting to enable in order to read the registers.
If the controllers were already enabled there was a chance we could try to read the MCI_CLOCK registers while the cards were buffering and then disable the controllers prematurely.

I guess funman knows and sees all!!  Thanks funman.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23811 a1c6a512-1295-4272-9138-f99709370657
2009-12-01 21:23:11 +00:00
Jack Halpin
5bd4ec0c87 Sansa AMS: Force sd_enable(true) when using the Debug View HW info page so we can read the registers immediately.
Because we turn off the clocks to the SD controllers between disk accesses we were unable to read the MCI_CLOCK registers until there was a disk access.  Now we can read them immediately.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23810 a1c6a512-1295-4272-9138-f99709370657
2009-12-01 20:12:25 +00:00
Jack Halpin
a22ab34649 Sansa AMS: Reorganize sd_enable() and add/change comments. No real functional changes.
Enabling/disabling of the NAF and IDE clocks is now grouped together as both are related to the internal SD.
Sequence for disabling SD now mirrors the enable sequence.
Comments added to make it easier to follow the configuration change for XPD from gpio to mci-sd and back.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23808 a1c6a512-1295-4272-9138-f99709370657
2009-12-01 18:22:25 +00:00
Thomas Martitz
ee7cf6c63c Remove unused card_detect(), and make card_detect_target() static inline in each sd driver.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23757 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 00:51:09 +00:00
Jack Halpin
84f04a57ee AMS Sansa: For consistency, replace references to SECTOR_SIZE with SD_BLOCK_SIZE which is defined in sd.h as 512 bytes.
We had 3 different references to the same value.  Rockbox always uses a blocksize of 512 bytes for SD and we were using SECTOR_SIZE, SD_BLOCK_SIZE, & card_info[drive].blocksize to use this value.  Now the only reference being used is SD_BLOCK_SIZE.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23746 a1c6a512-1295-4272-9138-f99709370657
2009-11-25 03:24:28 +00:00
Rafaël Carré
231e54d80f Sansa AMS : fix recording
Flyspray: FS#10371
Authors: Fred Bauer and myself

Only enabled on e200v2 and Fuze (crashes on clipv1)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23739 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 17:59:25 +00:00
Jack Halpin
cb9dff0a95 AMS Sansa: Include time spent yielding when figuring timeout in sd_wait_for_state().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23738 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 17:43:53 +00:00
Rafaël Carré
ed13fd6dca Sansa AMS: VIC_INT_ENABLE register is not a mask
When read it returns all enabled interrupt sources
When written it enables interrupt sources for each bit set
So just like VIC_INT_EN_CLEAR, we don't have to read the previous value
before writing to it (VIC_INT_EN_CLEAR is write-only anyway)

Thanks to Fred Bauer for spotting

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23734 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 12:05:53 +00:00
Jack Halpin
4314ceb73b AMS Sansa: Remove MCI_RX_ACTIVE FIFO check following SD transfers.
We don't need to check the FIFO for MCI_RX_ACTIVE because we don't experience problems reading from the SD cards.
We need the MCI_TX_ACTIVE FIFO check during writes because some SD cards spend longer times in the PRG state
programming the data that has been written to them.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23733 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 06:37:36 +00:00
Jack Halpin
9e9db20357 AMS Sansa: Remove wait_for_state() following transfer in sd_select_bank() function.
We use wait_for_state() before any command that requires a state prior to being sent.  Waiting after a transfer is not needed.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23732 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 06:12:17 +00:00
Jack Halpin
f5b59cdf5e AMS Sansa: dma-pl081.c: dma_enable_channel() Add step to clear pending interrupts from the previous operation. Add comments and make construction
of the CH_CONTROL and CH_CONFIGURATION registers easier to follow.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23725 a1c6a512-1295-4272-9138-f99709370657
2009-11-23 19:44:13 +00:00
Jack Halpin
fab80009bc AMS Sansa: Handle responses to SD Commands so that response crc checking is accounted for. Adjust sd error codes appropriately.
The crc check on responses to sd commands was being bypassed due to a SD_APP_OP_COND special case.  Now a short response is returned
even if the crc check fails so we can check the busy bit.  The send_cmd() function still returns a false value but it loads the response
variable with the cmd response.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23718 a1c6a512-1295-4272-9138-f99709370657
2009-11-23 04:22:11 +00:00
Jack Halpin
ecbb01fe0a AMS Sansa: Remove a now redundant sd_wait_for_state() and adjust error codes in ata_sd_as3525.c
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23698 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 14:13:39 +00:00
Jack Halpin
6df98f690d AMS Sansa: Make send_cmd() function a bit less complicated and save ~96 bytes.
Also move sd_wait_for_state() to immediately precede SD_READ/WRITE_MULTIPLE_BLOCK commands.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23692 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 04:50:26 +00:00
Michael Chicoine
bbc8b1b8cb FS#10796 - Clip - prevent power switch activation when coming out of hold
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23686 a1c6a512-1295-4272-9138-f99709370657
2009-11-21 21:16:08 +00:00
Thomas Martitz
a1bc3401f1 Fix a few possible problems discovered in -O0 / eabi experiments.
- two essential parts of Sansa AMS drivers are optimzed away in newer gcc, so mark them volatile.
- use "r" instead of "i" (which is apparently invalid syntax) for the input list in some inline assembly

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23634 a1c6a512-1295-4272-9138-f99709370657
2009-11-15 17:23:25 +00:00
Michael Chicoine
a06feaa7ec Fix FS#10751 - Fuze freezes when using radio while charging
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23517 a1c6a512-1295-4272-9138-f99709370657
2009-11-04 15:58:18 +00:00
Thomas Martitz
310346ebcc Fix a #elif without condion (is an error with newer gcc/cpp versions).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23502 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 21:20:02 +00:00
Jeffrey Goode
9d842683eb Comment out LOGF_ENABLE defines everywhere, replace evil comments
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23497 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 16:25:03 +00:00
Rafaël Carré
9b46960baf Sansa AMS PCM : cleanup
Init CGU_AUDIO with correct clock source (for play & rec)
Do not disable recording clocks when starting playback, they are already disabled
Move clock enable/disable code from dma callback to init

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23493 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 08:14:28 +00:00
Rafaël Carré
d06aafc03a Sansa AMS: fix system_exception_wait()
If a panicf() is called while a button is still pressed, the Sansa would
reboot immediately with no chance to see the message

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23490 a1c6a512-1295-4272-9138-f99709370657
2009-11-03 07:42:42 +00:00
Rafaël Carré
fb126d4305 Sansa AMS : reduce size of interrupt source/isr mapping table
INT_GPIOB is not used
INT_MCI0 and INT_GPIOA are only put in the table if needed

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23481 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 23:41:10 +00:00
Rafaël Carré
f64a3fe149 Sansa AMS PCM: remove runtime sanity checks
Unaligned memory ops will cause a data abort anyway
Make the check for samplerate at buildtime

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23480 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 23:35:34 +00:00
Rafaël Carré
9b4057bbd4 Sansa AMS recording support (Microphone and FM)
Still disabled on all targets:
- Fuze and e200v2 see spurious interrupts with no source defined
- Clip/m200v4 deadlock instantly when starting recording (perhaps due to low memory size)

Having the code in SVN will make working on this feature easier

Also add keymaps for Fuze, and correct Frequency section of recording
options : the 22.05kHz limitation of e200v1 and c200v1 doesn't apply to
Sansa AMS (different I2S hardware, unrelated to as3514)

Flyspray: FS#10371
Authors: Fred Bauer and myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23476 a1c6a512-1295-4272-9138-f99709370657
2009-11-01 22:51:31 +00:00
Michael Chicoine
4eafd23f42 FS#10744 - Fuze: Last line of screen's pixels doesn't change when switching themes and using plugins
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23452 a1c6a512-1295-4272-9138-f99709370657
2009-10-31 23:15:33 +00:00
Jack Halpin
6d20102a9c AMS Sansa: Change some #defines in debug-as3525 from "(SANSA_E200V2) || defined(SANSA_FUZE) || defined(SANSA_C200V2)" to HAVE_MULTIDRIVE
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23361 a1c6a512-1295-4272-9138-f99709370657
2009-10-26 17:22:05 +00:00
Michael Chicoine
10f46b3c8a fix an off-by-one error in lcd_update_rect()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23359 a1c6a512-1295-4272-9138-f99709370657
2009-10-26 15:42:26 +00:00
Jack Halpin
03986d4ec7 Revert r23350 "AMS Sansa: Assume IDECLK is MCLK for the internal SD Disk."
More information makes this assumption seem incorrect.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23356 a1c6a512-1295-4272-9138-f99709370657
2009-10-26 07:06:37 +00:00
Jack Halpin
ec43287aa0 AMS Sansa: Assume IDECLK is MCLK for the internal SD Disk. Reduce IDECLK to 62 MHz for now to be consistent with MCLK for uSD which is PCLK.
Adjust SD timeouts accordingly.

Adjust code in debug-as3525.c to display correct frequencies on system/debug/View disk info page.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23350 a1c6a512-1295-4272-9138-f99709370657
2009-10-25 18:31:44 +00:00
Jack Halpin
5897249c1e Add #ifdef HAVE_MULTIDRIVE to HS timings switch for uSD cards.
Internal cards are v1 sd cards so no need to include this code for the clip.

Move transition from STBY -> TRAN-> STBY states inside the if(sd_v2) conditional check for HS switch as it's not needed for non HS cards.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23331 a1c6a512-1295-4272-9138-f99709370657
2009-10-24 16:42:24 +00:00
Thomas Martitz
e4921d6ab5 Speed up lcd_update_rect by ~2.5% by counting towards 0 in the loop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23329 a1c6a512-1295-4272-9138-f99709370657
2009-10-24 16:01:53 +00:00
Thomas Martitz
d85c3ec410 Convert lcd_activation callbacks to use the event system to allow for multiple parallel callbacks (for custom statusbar).
Increase maximum event count as we need more (I actually had a report about it during custom statusbar testing).
Removed corresponding functions from the core and plugin api. Bump min version and sort.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23302 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 21:54:59 +00:00
Jack Halpin
c5a3f93ac3 AMS Sansa: Adjust SD Card frequency to Identification frequency at beginning of card init instead of the end of pl180 controller init.
If a card is reinitialized now the ident frequency is used instead of the bypass frequency during the identification phase.

Added comments throughout sd_init_card() to help follow init process and highlight indent stage.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23256 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 05:34:25 +00:00
Bertrik Sikken
d24d885aa4 Use wrap-safe TIME_BEFORE/TIME_AFTER macros to compare times with current_time, instead of comparing them directly.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23246 a1c6a512-1295-4272-9138-f99709370657
2009-10-18 15:50:30 +00:00
Nils Wallménius
f34a841b0c Revise r23225 a bit, removing the debug_printf function and implementing more generic lcd_(remote)_putsf function(s) instead and use those in more places
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23233 a1c6a512-1295-4272-9138-f99709370657
2009-10-17 18:02:48 +00:00
Jack Halpin
000cff5bae AMS Sansa: Lower ADC checkvalue for voltage scaling to 1.175V as some players run slightly low.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23205 a1c6a512-1295-4272-9138-f99709370657
2009-10-16 17:44:23 +00:00
Jack Halpin
562e41bae5 AMS Sansa: FS#10669 Reimplement Voltage scaling.
Reimplement voltage scaling on AMS Sansas at 1.10v during unboosted operation to improve runtimes.  The voltage is now also boosted during disk access if a µSD is present.  This prevents the µSD problems we saw on the last implementation.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23193 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 19:48:26 +00:00
Rafaël Carré
19d70fce20 Sansa Fuze & e200v2 : do not enable USBSTACK in the bootloader
Don't implement usb_enable() is HAVE_USBSTACK is not defined

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23185 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 10:23:18 +00:00
Rafaël Carré
8bd8d06842 Sansa AMS USB driver : still not working
Implement usb_enable()
Reorder/Modify usb_drv_init() to match closer the OF and remove a freeze
(USB registers were accessed before the USB module was enabled)
Add a panic in USB isr to be sure we notice when it's called
Reset GPIOA direction for usb_detect() to notice extraction
Add some comments

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23184 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 10:03:20 +00:00
Rafaël Carré
5303ab101b Sansa AMS SD driver: cleanup defines and comments
Remove useless E200V2 || FUZE || C200V2 : all those models have
MULTIDRIVE and/or HOTSWAP defined and have no specific difference.

Correct some comments

Remove HAVE_MULTIDRIVE within HAVE_HOTSWAP since HOTSWAP imply MULTIDRIVE

Change HOTSWAP to MULTIDRIVE where needed

Use NUM_DRIVES in sd_num_drives()

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23180 a1c6a512-1295-4272-9138-f99709370657
2009-10-15 07:16:38 +00:00
Rafaël Carré
0290094d8a Sansa AMS PCM : replace buggy and confusing one-liner
The bits which are not divider (i2si/i2so enable and clock selection)
would be unset.
This is not a problem in the current code since this function was always
called before starting playback (and setting those bits) but this might
be a problem when recording is enabled.

Finally it is simpler to read.

Thanks to Fred Bauer for pointing this.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23156 a1c6a512-1295-4272-9138-f99709370657
2009-10-13 16:41:20 +00:00
Jack Halpin
7331bd5381 AMS Sansa: Remove BUSWIDTH and BLOCKLEN commands and revise strategy for High Speed SD Card.
We are unable to successfully put the pl180 controller into 4 bit mode so we should not put the cards into widebus mode for now.
The blocklength is hardcoded to 512 in sd.c and BLOCKLEN defaults to 512 so this command is not needed.
It appears the internal SD card is not HS capable but sending it the HS switch command does not seem to hinder it's init process.
Assume all SD_V2 cards are HS capable and send them the HS switch command.
If View disk info shows 50.0 MBit/s the card has HS timings.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23137 a1c6a512-1295-4272-9138-f99709370657
2009-10-12 18:55:10 +00:00
Jack Halpin
14079c39f0 AMS Sansa: If SD card is HS capable set High Speed timings.
This still doesn't solve the problem of the cards being overclocked at 62MHz but we can mitigate this a bit by switching to HS timings.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23088 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 03:11:13 +00:00
Thomas Martitz
faddb57482 Fuze/e200v2: Fix inaccuracy when moving the wheel slowly (fixes FS#10667).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23059 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 23:27:38 +00:00
Rafaël Carré
7cc6202c03 Sansa AMS SD: relax requirement for APP_CMD response, some uSD cards seem to not set correctly the response bits
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23001 a1c6a512-1295-4272-9138-f99709370657
2009-10-07 20:34:58 +00:00
Jack Halpin
1c36835b80 AMS Sansa: Replace another simple delay with a more intelligent MCI FIFO status check.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22864 a1c6a512-1295-4272-9138-f99709370657
2009-10-01 03:54:36 +00:00
Thomas Martitz
29c06f6c63 e200v2/Fuze: Improve scrollwheel a little bit by assuming the previous wheel value if no new value was found (which happens if a single wheel value was skipped). Only assume it once to not get wrong readings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22863 a1c6a512-1295-4272-9138-f99709370657
2009-10-01 00:28:03 +00:00
Jack Halpin
bf3d60b25e AMS Sansa: Rename variable sdhc to sd_v2 to more accurately reflect the information it holds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22862 a1c6a512-1295-4272-9138-f99709370657
2009-09-30 20:33:40 +00:00
Rafaël Carré
6bd92a74d3 Fix "lcd driver speed up" on e200v2
Flyspray: FS#10272
Author: Michael Chicoine

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22859 a1c6a512-1295-4272-9138-f99709370657
2009-09-30 18:54:42 +00:00
Jack Halpin
37265d308b AMS Sansa: Replace simple write delay with a smarter check on status of MCI FIFO.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22850 a1c6a512-1295-4272-9138-f99709370657
2009-09-29 16:32:24 +00:00
Bertrik Sikken
69b40e704d Clean up duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22845 a1c6a512-1295-4272-9138-f99709370657
2009-09-27 14:46:44 +00:00
Bertrik Sikken
66d5bd7cf8 Sansa Fuze/e200v2: protect lcd a little better against concurrent access
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22838 a1c6a512-1295-4272-9138-f99709370657
2009-09-26 10:47:10 +00:00
Jack Halpin
68089db6db AMS Sansa: Add delay for µSD writes to fix CRC failures with class 6 µSD cards.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22825 a1c6a512-1295-4272-9138-f99709370657
2009-09-25 01:38:51 +00:00
Jack Halpin
589e1f0072 AMS Sansa: Adjust View HW info page to display SD and uSD MCICLK freqs instead
of 400 khz Ident freq.  Also misc formatting changes.

Displaying the 400 khz ident frequency for the SD and uSD cards was not really
useful information.  This change displays the MCICLK frequency that we are
running the cards at.  The page now displays 0MHz until a card access and then
will displays the set frequency and the actual frequency.  The uSD display is
now only displayed for those players with a uSD

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22684 a1c6a512-1295-4272-9138-f99709370657
2009-09-12 20:50:11 +00:00
Thomas Martitz
b54b066516 Higher the button delay on the fuze a bit more, the wrong hold button reads aren't happening anymore apparently even for plugins with heavy lcd updates.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22658 a1c6a512-1295-4272-9138-f99709370657
2009-09-07 23:48:51 +00:00
Bertrik Sikken
533c29b2f2 Sansa c200v2: update DBOP button reading mechanism, this enables readout of the volume buttons, rec and hold button.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22635 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 18:56:59 +00:00
Thomas Martitz
e91fe1e543 Increase the button delays slightly to aid against sporadic missreads of the hold button an sporadic blue pixels on the display.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22628 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 03:50:11 +00:00
Thomas Martitz
46c719aac8 Make the Fuze usable again by inserting a few delays in the lcd functions, core rockbox should be fine now. NOTE: *After exiting* plugins (e.g. doom, plasma, pictureflow) which do heavy lcd updates, the Fuze still fails (backlight goes off) -- I have no idea how that happens yet, Unless I find a fix for that within the next few days, I'm probably going to revert one/both of the lcd speedup commits.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22627 a1c6a512-1295-4272-9138-f99709370657
2009-09-05 03:50:04 +00:00
Thomas Martitz
6f9fde95a5 Move the FIFO emptying up, as having it after lcd_write_single_data16() causes problems with uneven transfers (I'm not sure why).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22581 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 02:06:37 +00:00
Thomas Martitz
b9093b2b35 Fuze/e200v2: Speed up the LCD further by letting the FIFO fill until it's full instead of keeping it almost empty.
The blue bars I previously had with this way are fixed by blocking DBOP output while reading buttons from GPIO.
We reached the maximum fps even at unboosted now (100.0 fps at lcd_update(), DBOP can't do more). Optimisation to YUV stuff is still possible though.
The e200v2 scrollwheel is very improved due to the this and the previous speedup since the chance of getting the wheel read blocked is greatly decreased with faster updates.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22578 a1c6a512-1295-4272-9138-f99709370657
2009-09-01 00:42:22 +00:00
Dominik Wenger
a56199c49e Apply the lcd speed fix from fuze also to e200v2. Improves speed by a factor ~2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22575 a1c6a512-1295-4272-9138-f99709370657
2009-08-31 20:45:26 +00:00
Thomas Martitz
7dd548c697 Speed up the Fuze's LCD by a factor of ~2.1 (lcd_update()) by using 32bit transfers when possible.
Unaligned (to 4byte boundary) and odd (where the amount of data is not an integer multiple of 32bit) are still supported. Even those still have a speedup of >2.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22574 a1c6a512-1295-4272-9138-f99709370657
2009-08-31 15:54:25 +00:00
Rafaël Carré
6932fa397b Sansa Clip & m200v4 : calls backlight_hold_changed() when hold button is toggled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22323 a1c6a512-1295-4272-9138-f99709370657
2009-08-15 15:02:51 +00:00
Rafaël Carré
be6dd6dd0a Sansa AMS: identify interrupts with no source set
They would previously appear like coming from the (disabled) watchdog
module

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22251 a1c6a512-1295-4272-9138-f99709370657
2009-08-11 13:20:55 +00:00
Thomas Martitz
4210ff584a Remove the comment also, Thanks to Rafaël Carré for spotting.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22245 a1c6a512-1295-4272-9138-f99709370657
2009-08-10 22:01:35 +00:00
Thomas Martitz
653db606cf Fix FS#10486 - "fuze screen not drawn correctly on backlight turn-on if playlist ends while the backlight is off" by adding a lcd_update() to lcd_enable() as other targets do. Remove the delay as it seems unneeded nowadays.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22244 a1c6a512-1295-4272-9138-f99709370657
2009-08-10 21:38:10 +00:00
Bertrik Sikken
978f3798a9 Apply FS#10447 - e200v2 lcd driver cleanup by Michael Chicoine
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22210 a1c6a512-1295-4272-9138-f99709370657
2009-08-08 14:37:42 +00:00
Frank Gevaerts
a7548d3bc7 Make sd_present() and mmc_present() look only at the actual presence of a card, not at initialisation state
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21981 a1c6a512-1295-4272-9138-f99709370657
2009-07-20 13:47:21 +00:00
Michael Giacomelli
e362aeb61f Commit FS#10413 by Michael Chicoine. Fixes upside down menu in mpegplayer when watching videos with the screen inverted.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21942 a1c6a512-1295-4272-9138-f99709370657
2009-07-18 01:38:17 +00:00
Frank Gevaerts
c0a5a67387 Commit FS#9545, storage cleanup and multi-driver support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21933 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 22:28:49 +00:00
Thomas Martitz
fd17a8d637 Apply the same fix as r21930 did for the ramdisk for the AMS Sansa driver.
Nothing should change, since the value of transfer didn't change in the == case, but it saves executing this case at least.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21931 a1c6a512-1295-4272-9138-f99709370657
2009-07-17 21:50:36 +00:00
Jack Halpin
f9e7a5ad39 AMSSansa: Use single adc_read instead of multiple ascodec_reads to read voltage for display in View HW info.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21804 a1c6a512-1295-4272-9138-f99709370657
2009-07-12 14:12:45 +00:00
Jens Arnold
47d4c4739b ARM asm LCD and ATA driver functions: Don't save r12 as it is a scratch reg. Saves a bit of stack and execution time.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21795 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 23:43:44 +00:00
Rafaël Carré
17ac0d7ff9 fix yellow : panicf() is declared in panic.h
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21780 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 15:26:58 +00:00
Rafaël Carré
405d12de7e Sansa AMS: panic with the PL180 controller status register in case of errors
The maximum number of errors is 10 (arbitrary)
A recovery mechanism is not in place (yet) but could be implemented in the future

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21776 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 14:27:26 +00:00
Rafaël Carré
75fa699814 Sansa AMS: handle properly SD transfer errors
clocks disabling and mutex unlocking were not made in case of errors

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21773 a1c6a512-1295-4272-9138-f99709370657
2009-07-11 13:46:10 +00:00
Thomas Martitz
161cb164ca Adding last minutes comments to explain things is only cool if you close it also (aka fix yellow).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21745 a1c6a512-1295-4272-9138-f99709370657
2009-07-10 15:44:38 +00:00
Thomas Martitz
e7f0c3f397 Rearrange things a bit for less #ifdefs and less duplication.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21744 a1c6a512-1295-4272-9138-f99709370657
2009-07-10 15:32:02 +00:00
Rafaël Carré
c51e26a43d Sansa AMS SD driver: fix error checking in µSD insertion
If µSD init fails, rockbox will panic and give an error number
Use a maximal delay of 1 second for µSD (and internal storage) init, as
specified in the SD Specification 2.00

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21742 a1c6a512-1295-4272-9138-f99709370657
2009-07-10 12:51:50 +00:00
Rafaël Carré
03fe562a95 Sansa AMS: display the virtual led icon on disk transfers
Sansa PP: directly use led() function, remove useless sd_led()

Thanks to mc2739 (Michael Chicoine)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21693 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 16:44:57 +00:00
Thomas Martitz
cabd45086a sAMSa: Turn the backlight off before rebooting to avoid irritating lcd flash.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21692 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 14:46:19 +00:00
Rafaël Carré
e3636a8f32 Samsa SD driver : acknowledge USB events, now reboots on USB insertion
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21690 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 14:20:52 +00:00
Rafaël Carré
c1780af9fc Samsa AMS: start of an USB driver (nothing working atm)
Work based on AMD 5536 linux driver and AMD Geode CS5536 datasheet
Rockbox still doesn't reboot on USB insert

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21689 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 13:54:51 +00:00
Thomas Martitz
c292a8eb1f Sansa AMS: Disable voltage scaling for now until we found a way to make it reliable for everyone, it's causing problems with storage for many people.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21687 a1c6a512-1295-4272-9138-f99709370657
2009-07-06 13:13:47 +00:00
Rafaël Carré
4368b59b09 Sansa AMS : don't reinvent adc_read(), patch by FlynDice
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21651 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 09:24:56 +00:00
Michael Giacomelli
7131ddb105 ARM922T's icache isn't coherent with its dcache, so we need to ensure that its flushed before changing codecs. Playback takes care of this for us, but only if we define cache coherency functions. Do that. Also, add a comment explaining that MMU functions need to be included so that other people don't spend hours chasing them in the future.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21647 a1c6a512-1295-4272-9138-f99709370657
2009-07-05 01:17:25 +00:00
Rafaël Carré
293b499093 Move sd_get_info() into common sd code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21610 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 23:39:57 +00:00
Maurus Cuelenaere
ccbd8f4f31 * Move some more stuff to the general SD driver
* Ingenic SD driver: cleanup DMA part a bit (not working yet)


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

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

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21601 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 21:49:13 +00:00