Commit graph

40 commits

Author SHA1 Message Date
Rafaël Carré
83eb479732 FS#10216 : Sansa AMS : Do not cross a bank boundary in a single transfer (Only for 8GB or more -if they exist- players)
Also add a few comments in the code

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21096 a1c6a512-1295-4272-9138-f99709370657
2009-05-26 21:08:47 +00:00
Rafaël Carré
ef9aacb2e0 FS#10245 by Jack Halpin : Adjust Clocking scheme on Sansa AMS
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21088 a1c6a512-1295-4272-9138-f99709370657
2009-05-26 18:44:02 +00:00
Rafaël Carré
0f93ae5da0 Sansa AMS: move OF size declaration in model specific config
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21008 a1c6a512-1295-4272-9138-f99709370657
2009-05-21 11:46:52 +00:00
Rafaël Carré
8033342d0f Sansa AMS : remove mci_set_clock_divider()
Inline the 2 uses, and use a preprocessor sanity check for identification frequency

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20924 a1c6a512-1295-4272-9138-f99709370657
2009-05-13 08:27:33 +00:00
Thomas Martitz
ec797ed622 FS#10113 - Sansa AMS : do not use unaligned buffers on ATA DMA by Rafaël Carré.
Fixes various storage related problems like stuttering audio, md5sum and test disk failure and Sansa Fuze's backdrop corruption by using aligned buffers. There's a speed penalty but stability has more priority.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20679 a1c6a512-1295-4272-9138-f99709370657
2009-04-10 17:03:56 +00:00
Thomas Martitz
dc859ebd51 FS#10053 - Sansa AMS >2GB support by Rafaël Carré. Enables bank switching on
the AMS sansas, which solves the ">2GB problem" (the problem that we could not
access data past 1GB on devices having more than 2GB internal storage).


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20577 a1c6a512-1295-4272-9138-f99709370657
2009-03-30 13:26:05 +00:00
Michael Sevakis
580d91f097 Unify kernel list management for ticks, registered queues and timeout objects by using NULL-terminated lists of pointers. Redo timeout API a bit to simplify it and integrate it. Should give some small binsize reduction accross the board but more if timeout objects are being included.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19808 a1c6a512-1295-4272-9138-f99709370657
2009-01-21 02:44:20 +00:00
Michael Giacomelli
3db7893911 Commit second part of FS#9663 by Thomas Martitz. Enable button light on fuze and e200v2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19792 a1c6a512-1295-4272-9138-f99709370657
2009-01-18 18:49:36 +00:00
Michael Giacomelli
090535fcbd SD driver cleanup by Thomas Martitz. Removes various magic numbers in favor of defines, increases a timeout in hopes of improving support for various SD cards, adds descriptive panic messages, and adds volatile were needed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19774 a1c6a512-1295-4272-9138-f99709370657
2009-01-16 01:14:58 +00:00
Rafaël Carré
c7e83bd017 Sansa AMS : use SD controller status to notify end of data transfer
Retry blocks transfer if a problem happened
Remove unneeded blocking API from DMA code

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19714 a1c6a512-1295-4272-9138-f99709370657
2009-01-08 08:27:42 +00:00
Frank Gevaerts
af805be6cb revert accidental commit of unrelated files
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19539 a1c6a512-1295-4272-9138-f99709370657
2008-12-21 16:32:13 +00:00
Frank Gevaerts
c88cd20ab2 merge 19488 back from the 3.1 branch
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19538 a1c6a512-1295-4272-9138-f99709370657
2008-12-21 16:30:09 +00:00
Michael Giacomelli
8493da0974 Commit FS#9652 by Thomas Martitz. Enable microSD on e200v2 and fix initialization for the fuze and e200v2.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19451 a1c6a512-1295-4272-9138-f99709370657
2008-12-16 02:04:08 +00:00
Frank Gevaerts
66b97219fc Actually set sd_enabled (again by Thomas Martitz)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19450 a1c6a512-1295-4272-9138-f99709370657
2008-12-15 23:49:43 +00:00
Frank Gevaerts
f9fb52b933 fix yellow
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19449 a1c6a512-1295-4272-9138-f99709370657
2008-12-15 23:47:17 +00:00
Frank Gevaerts
9f37f04619 Apply FS#9650 (by Thomas Martitz). This adds hotswap and microSD support for the Fuze. It doesn't seem to work for all cards yet.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19447 a1c6a512-1295-4272-9138-f99709370657
2008-12-15 23:37:16 +00:00
Rafaël Carré
e97191faa7 Sansa AMS: Disable DMA clocks when not in use
Add dma_retain() and dma_release() to reference count the users

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19344 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 22:54:06 +00:00
Rafaël Carré
8e19a739be Sansa AMS SD driver: don't check non fatal flags of MCI_STATUS
Correct the logic when enabling interrupt line (multivolume)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19337 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 21:55:09 +00:00
Rafaël Carré
1ab08e6879 Sansa AMS: updates DMA API
* Adds a callback to be called on end of transfer
* Add a function to disable a channel
* Services the 2 channels if both are active in the isr

SD driver: panics on error

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19333 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 20:48:19 +00:00
Rafaël Carré
45711ac286 Sansa AMS: centralize clock settings in clock-target.h
Reorder system_init() to initialize peripherals not only in bootloader
Use a 65MHz PCLK (and memclk) which will be needed for realtime decoding

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19330 a1c6a512-1295-4272-9138-f99709370657
2008-12-04 20:04:31 +00:00
Rafaël Carré
a783453ff9 Sansa AMS: sd_enable() isn't available in the bootloader
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19281 a1c6a512-1295-4272-9138-f99709370657
2008-12-01 08:18:22 +00:00
Rafaël Carré
ce851c0c67 Sansa AMS: disable SD clocks when not in use (copied from FS#9570)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19280 a1c6a512-1295-4272-9138-f99709370657
2008-12-01 04:17:39 +00:00
Dominik Wenger
fbb80b00db Init the ata_sd mutex before use.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19266 a1c6a512-1295-4272-9138-f99709370657
2008-11-30 11:38:26 +00:00
Rafaël Carré
a39e4e9962 Sansa AMS: use non-busy wakeup to signal end of DMA transfer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19233 a1c6a512-1295-4272-9138-f99709370657
2008-11-26 16:02:00 +00:00
Rafaël Carré
c1f90b1881 Sansa AMS: Use DMA for SD transfers (read and write)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19211 a1c6a512-1295-4272-9138-f99709370657
2008-11-25 13:38:32 +00:00
Rafaël Carré
5302448e68 Sansa AMS: Don't make sd_init() fail if a SD card is not present in the slot
Fix contributed by kugel

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19126 a1c6a512-1295-4272-9138-f99709370657
2008-11-17 16:06:46 +00:00
Rafaël Carré
d3e783b268 Fix the Sansa AMS SD driver
- Make write_sectors() function fail.
- Disable interrupts while transferring data and do not yield(), so we are sure the FIFO is not overflowed
Note this solution is only temporary since it's not friendly to other threads and confuse kernel tick precision
This will be reverted when we will be using DMA to access the SD card, but for now it permits further development
- PL180: Rename the MMC_* registers into MCI_*, to not make people believe it is a MMC only controller
- Supports non aligned destination buffers when reading
- Correct the timeout units which were lamely copied from ata-sd-pp.c and were in milliseconds (note that the timeouts are disabled now)
- Higher a bit the stack size
- Use the full initialization procedure in the bootloader and the loaded firmware
- Use the CCU_IO register only when a SD slot is present
- Put some panicf() around to catch problems

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19122 a1c6a512-1295-4272-9138-f99709370657
2008-11-16 22:26:50 +00:00
Dominik Wenger
a4c0660537 add the OF offset also for sansa fuze, and make it only for internal SD.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19108 a1c6a512-1295-4272-9138-f99709370657
2008-11-15 19:24:51 +00:00
Dave Chapman
e25c1c6e43 Add more driver stubs to make the Fuze and e200v2 main builds compile; Correct the memory definition for the Fuze (8MB)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19090 a1c6a512-1295-4272-9138-f99709370657
2008-11-11 14:46:13 +00:00
Jonathan Gordon
889b8c96da quick fix for the e200v2 to skip the OF
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19067 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 13:01:46 +00:00
Rafaël Carré
6b566568eb Fix Clip firmware building by adding missing symbols
Implement some of the new functions
Use as3514 rtc
Add AS3525 case in rolo.c
Copy card_get_info_target() from ata-sd-pp.c , and use the correct 32bits words order

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19064 a1c6a512-1295-4272-9138-f99709370657
2008-11-10 11:04:43 +00:00
Rafaël Carré
7ddaaf074b Fix as3525 bootloader broken by r19049 - we need to operate between
100kHz and 400kHz for the identification phase

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19056 a1c6a512-1295-4272-9138-f99709370657
2008-11-09 23:52:08 +00:00
Rafaël Carré
fa748db6ff sd.h : avoid namespace collision by prefixing defines with SD_
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19055 a1c6a512-1295-4272-9138-f99709370657
2008-11-09 23:40:21 +00:00
Rafaël Carré
9acf856da7 AS3525 SD : fix 2nd initialization (in loaded firmware)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19049 a1c6a512-1295-4272-9138-f99709370657
2008-11-09 10:00:52 +00:00
Rafaël Carré
aef27e1f0c Sansav2 Bootloader
Adds read-only SD driver, largely copied from ata-sd-pp.c
Only tested on the embedded SD, on the Clip
First steps to build a Normal firmware

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19045 a1c6a512-1295-4272-9138-f99709370657
2008-11-09 06:17:21 +00:00
Rafaël Carré
3952e6d008 AS3525: enable access to the embedded SD card
Don't reset the peripherals
Don't mind about the spare register
Don't mind about MEMSTICK peripheral
Use correct clock speeds for IDE

Tested on Clip only

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19036 a1c6a512-1295-4272-9138-f99709370657
2008-11-07 10:52:26 +00:00
Frank Gevaerts
9e6fb8a12d Adapt sansa v2 sd driver to the new storage layer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18967 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 22:55:35 +00:00
Rafaël Carré
646cac0bde Remove Linux's mmci.h since the license is strict GPLv2
Rewrite a new header distributed under GPLv2 or later, and place it in
export/ in case other targets ship with an ARM PL180 controller

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18959 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 14:38:45 +00:00
Rafaël Carré
52cb009662 Sansav2 SD : minor modifications
Declare a structure constant
Fix a comment (wrong bit number)

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18946 a1c6a512-1295-4272-9138-f99709370657
2008-10-31 18:54:24 +00:00
Rafaël Carré
e1b4838481 Embryo of a SD driver for Sansav2
Debug code included, needed until the bootloader is ready

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18926 a1c6a512-1295-4272-9138-f99709370657
2008-10-29 20:21:59 +00:00