Commit graph

25 commits

Author SHA1 Message Date
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