Frank Gevaerts
534cd216a0
sd_first_drive is only used when HAVE_HOTSWAP is defined, so add appropriate #ifdefs
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21985 a1c6a512-1295-4272-9138-f99709370657
2009-07-20 19:46:36 +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
Frank Gevaerts
3e1b9d5fdd
take first_drive into account when handling hotswap. This is not important as long as this is the only driver in use, but it avoids bugs as soon as things like ramdisks are used
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21980 a1c6a512-1295-4272-9138-f99709370657
2009-07-20 13:23:28 +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
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
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
Rafaël Carré
93f6e3df24
card_extract_bits() take the start bit argument as defined in public SanDisk specifications for SD and MMC, i.e. bit 0 is the lsb
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21600 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 19:13:01 +00:00
Rafaël Carré
e0e24cbf0a
Merge tCardInfo struct (MMC) and tSDCardInfo struct (SD)
...
Put specific members under #ifdef (CONFIG_STORAGE & STORAGE_xx) (2 members for SD and 1 for MMC)
Fix a typo: tsac doesn't exist and must be read taac
Move card_get_info functions declaration inside hotswap.h to remove mutual inclusion of ata_mmc.h and hotswap.h
Move static const data structures from SD drivers into sd.h (sd_exponent and sd_mantissa)
Fix sd_command prototypes in SD drivers (card registers are unsigned long)
Fix speed calculation in Sansa AMS driver (PP SD driver needs to be checked)
Move ata-sd-target.h to sd-pp-target.h to reflect the PP specifity. Now it only contains declaration of microsd_int()
Remove unused ata-sd-target.h for injenic
TODO:
- check if CSD register bits are extracted correctly in PP driver
- correctly define read_timeout and write_timeout unit for MMC & SD, and use timeouts in Sansa AMS driver
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21586 a1c6a512-1295-4272-9138-f99709370657
2009-07-01 10:07:22 +00:00
Mark Arigo
df8f64d3a4
Philips SA9200: 1) reset all devices in system_init, 2) revert an earlier change in the sd driver, 3) properly detect the charger, 4) add lcd register defines.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21347 a1c6a512-1295-4272-9138-f99709370657
2009-06-19 03:41:52 +00:00
Mark Arigo
b642129be4
Philips SA9200 fixes: (1) boost in the bootloader like the e200 and c200, (2) use the right GPIOs and inits in the SD driver, and (3) add charger detection.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20323 a1c6a512-1295-4272-9138-f99709370657
2009-03-14 02:47:14 +00:00
Antonius Hellmann
0852527d5f
Hopefully fixes the 'two byte inserted bug' of #FS8663. Combination of Martin Ritters and my findings on the issue.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19911 a1c6a512-1295-4272-9138-f99709370657
2009-02-03 20:21:02 +00:00
Antonius Hellmann
e55f2329c0
First step in committing the results of FS#8663:
...
Introduce more descriptive register and bit definitions. No functional change here. Thanks to Martin Ritter for his investigations.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19893 a1c6a512-1295-4272-9138-f99709370657
2009-02-01 09:08:12 +00:00
Michael Sevakis
da76a34694
Use bus reset detection for all ARC OTG devices. Remove conflict from LV24020LP driver with some GPIO-by-number macros for PP502x. Start monitoring for USB stack once all core threads and queues are created otherwise queues will likely be registered after USB acks. Putting PP502x system_reboot in IRAM (unmapped, uncached) memory seems to help it work more consistently. Hopefully I got all the PP USB connect handlers in the right spot in irq_handler. If device seems unresponsive to cable, check there first.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19819 a1c6a512-1295-4272-9138-f99709370657
2009-01-22 22:05:04 +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
5d21c8cb1d
First part of FS#9570 by Antonius Hellmann. Disables power to the SD memory when not in use. Gives a sizeable power savings (4 mA by his measurement).
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19194 a1c6a512-1295-4272-9138-f99709370657
2008-11-24 03:59:21 +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é
6e73019894
SD PP: move non specific defines to sd.h, to be reused by other SD drivers
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19043 a1c6a512-1295-4272-9138-f99709370657
2008-11-09 06:17:14 +00:00
Frank Gevaerts
430343bca7
implement single-driver storage layer with macros instead of inlines
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18975 a1c6a512-1295-4272-9138-f99709370657
2008-11-02 01:14:46 +00:00
Frank Gevaerts
19eb800f75
conditionalise *_get_info() to get some binsize back
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18965 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 17:33:21 +00:00
Frank Gevaerts
2f8a0081c6
Apply FS#9500. This adds a storage_*() abstraction to replace ata_*(). To do that, it also introduces sd_*, nand_*, and mmc_*.
...
This should be a good first step to allow multi-driver targets, like the Elio (ATA/SD), or the D2 (NAND/SD).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18960 a1c6a512-1295-4272-9138-f99709370657
2008-11-01 16:14:28 +00:00
Frank Gevaerts
83589f040a
correct HAVE_MULTIVOLUME vs HAVE_HOTSWAP usage
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18924 a1c6a512-1295-4272-9138-f99709370657
2008-10-29 18:32:24 +00:00
Jens Arnold
b1a584a1b6
Simplify & fix the MMC driver. After more than 3 years I found that the MMC specs were a bit misleading, and the 'large' MMC which state a block size of 1024 or 2048 bytes and no partial read and/or partial write capability are happily accepting a block size of 512 bytes. So go KISS and remove all the variable/partial block handling code. This fixes the driver for the Transcend 4GB MMCplus, which doesn't cope when we actually set the 2048 byte block size it states. It also makes write operations involving small blocks faster and more reliable. * Note: The 4GB Transcend still doesn't work when plugged at boot, but works when hotplugged.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18515 a1c6a512-1295-4272-9138-f99709370657
2008-09-14 20:33:24 +00:00
Daniel Stenberg
2acc0ac542
Updated our source code header to explicitly mention that we are GPL v2 or
...
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Mark Arigo
b4275d4941
Philips GoGear SA9200 port. Working bootloader and normal builds, including sound. No touchpad now, buttons limited to using vol+/vol-/power for up/down/select. Rockbox USB is enabled since the OF is MTP only...read the warnings on the PortalPlayerUsb wiki page.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17591 a1c6a512-1295-4272-9138-f99709370657
2008-05-21 03:55:17 +00:00
Mark Arigo
3e743ec6c9
Preparing for the Philips SA9200 part 2. Since the SA9200 doesn't have a microsd card (no hotswap), use HAVE_ATA_SD for the Sansa flash driver so we don't rely on HAVE_HOTSWAP in some places.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17488 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 02:50:31 +00:00
Mark Arigo
7656748221
Preparing for the Philips SA9200 part 1. Move the Sansa ADC & ATA drivers up one level.
...
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17487 a1c6a512-1295-4272-9138-f99709370657
2008-05-13 01:53:19 +00:00