summaryrefslogtreecommitdiff
path: root/firmware/target/mips
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2009-07-01 10:07:22 +0000
committerRafaël Carré <rafael.carre@gmail.com>2009-07-01 10:07:22 +0000
commite0e24cbf0a3b11cb161e0ae057e4c383c6134801 (patch)
treefcfdb14a4b2984f4bc2c1bbc9657f11dcb03dcd7 /firmware/target/mips
parentc929310e55bf337e4a31675a30031a7818f5deda (diff)
downloadrockbox-e0e24cbf0a3b11cb161e0ae057e4c383c6134801.tar.gz
rockbox-e0e24cbf0a3b11cb161e0ae057e4c383c6134801.zip
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
Diffstat (limited to 'firmware/target/mips')
-rw-r--r--firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c12
-rw-r--r--firmware/target/mips/ingenic_jz47xx/onda_vx767/ata-sd-target.h8
2 files changed, 4 insertions, 16 deletions
diff --git a/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c b/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c
index fd4a96f230..0ec1791928 100644
--- a/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c
+++ b/firmware/target/mips/ingenic_jz47xx/ata-sd-jz4740.c
@@ -1672,10 +1672,6 @@ tCardInfo* card_get_info_target(int card_no)
1672 (void)card_no; 1672 (void)card_no;
1673 int i, temp; 1673 int i, temp;
1674 static tCardInfo card; 1674 static tCardInfo card;
1675 static const char mantissa[] = { /* *10 */
1676 0, 10, 12, 13, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 70, 80 };
1677 static const int exponent[] = { /* use varies */
1678 1,10,100,1000,10000,100000,1000000,10000000,100000000,1000000000 };
1679 1675
1680 card.initialized = true; 1676 card.initialized = true;
1681 card.ocr = 0; 1677 card.ocr = 0;
@@ -1684,12 +1680,12 @@ tCardInfo* card_get_info_target(int card_no)
1684 for(i=0; i<4; i++) 1680 for(i=0; i<4; i++)
1685 card.cid[i] = (*((unsigned long*)&mmcinfo.cid+4*i)); 1681 card.cid[i] = (*((unsigned long*)&mmcinfo.cid+4*i));
1686 temp = card_extract_bits(card.csd, 29, 3); 1682 temp = card_extract_bits(card.csd, 29, 3);
1687 card.speed = mantissa[card_extract_bits(card.csd, 25, 4)] 1683 card.speed = sd_mantissa[card_extract_bits(card.csd, 25, 4)]
1688 * exponent[temp > 2 ? 7 : temp + 4]; 1684 * sd_exponent[temp > 2 ? 7 : temp + 4];
1689 card.nsac = 100 * card_extract_bits(card.csd, 16, 8); 1685 card.nsac = 100 * card_extract_bits(card.csd, 16, 8);
1690 temp = card_extract_bits(card.csd, 13, 3); 1686 temp = card_extract_bits(card.csd, 13, 3);
1691 card.tsac = mantissa[card_extract_bits(card.csd, 9, 4)] 1687 card.taac = sd_mantissa[card_extract_bits(card.csd, 9, 4)]
1692 * exponent[temp] / 10; 1688 * sd_exponent[temp] / 10;
1693 card.numblocks = mmcinfo.block_num; 1689 card.numblocks = mmcinfo.block_num;
1694 card.blocksize = mmcinfo.block_len; 1690 card.blocksize = mmcinfo.block_len;
1695 1691
diff --git a/firmware/target/mips/ingenic_jz47xx/onda_vx767/ata-sd-target.h b/firmware/target/mips/ingenic_jz47xx/onda_vx767/ata-sd-target.h
index cc6bd8a773..5cc9e4b203 100644
--- a/firmware/target/mips/ingenic_jz47xx/onda_vx767/ata-sd-target.h
+++ b/firmware/target/mips/ingenic_jz47xx/onda_vx767/ata-sd-target.h
@@ -26,14 +26,6 @@
26#include "hotswap.h" 26#include "hotswap.h"
27#include "jz4740.h" 27#include "jz4740.h"
28 28
29tCardInfo *card_get_info_target(int card_no);
30bool card_detect_target(void);
31
32#ifdef HAVE_HOTSWAP
33void card_enable_monitoring_target(bool on);
34void microsd_int(void); /* ??? */
35#endif
36
37int _sd_read_sectors(unsigned long start, int count, void* buf); 29int _sd_read_sectors(unsigned long start, int count, void* buf);
38int _sd_write_sectors(unsigned long start, int count, const void* buf); 30int _sd_write_sectors(unsigned long start, int count, const void* buf);
39int _sd_init(void); 31int _sd_init(void);