summaryrefslogtreecommitdiff
path: root/firmware/export
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2005-04-28 01:11:21 +0000
committerJens Arnold <amiconn@rockbox.org>2005-04-28 01:11:21 +0000
commita7f7781dca4db172a507e7e6f73bee03fc7deb2f (patch)
treebccca466c70e36229ab37f32b479f7271ddc6453 /firmware/export
parent7e3f91d3d8bb0a672bd9803b84c2f08b76c92b60 (diff)
downloadrockbox-a7f7781dca4db172a507e7e6f73bee03fc7deb2f.zip
rockbox-a7f7781dca4db172a507e7e6f73bee03fc7deb2f.tar.gz
rockbox-a7f7781dca4db172a507e7e6f73bee03fc7deb2f.tar.bz2
rockbox-a7f7781dca4db172a507e7e6f73bee03fc7deb2f.tar.xz
MMC driver does now handle block sizes != 512 bytes, which is necessary to support cards > 1 GB. Changed error handling to use the same method as other parts of rockbox, allowing to trace the call chain. Long policy, code cleanup.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@6366 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export')
-rw-r--r--firmware/export/ata_mmc.h13
1 files changed, 8 insertions, 5 deletions
diff --git a/firmware/export/ata_mmc.h b/firmware/export/ata_mmc.h
index 6c5141d..8b5056b 100644
--- a/firmware/export/ata_mmc.h
+++ b/firmware/export/ata_mmc.h
@@ -23,17 +23,20 @@ typedef struct
{
bool initialized;
unsigned char bitrate_register;
- unsigned int read_timeout; /* n * 8 clock cycles */
- unsigned int write_timeout; /* n * 8 clock cycles */
+ unsigned long read_timeout; /* n * 8 clock cycles */
+ unsigned long write_timeout; /* n * 8 clock cycles */
unsigned long ocr; /* OCR register */
unsigned long csd[4]; /* CSD register, 16 bytes */
unsigned long cid[4]; /* CID register, 16 bytes */
- unsigned int speed; /* bit/s */
+ unsigned long speed; /* bit/s */
unsigned int nsac; /* clock cycles */
- unsigned int tsac; /* n * 0.1 ns */
+ unsigned long tsac; /* n * 0.1 ns */
unsigned int r2w_factor;
- unsigned int numsectors; /* size in sectors */
+ unsigned long size; /* size in bytes */
+ unsigned long numblocks; /* size in flash blocks */
+ unsigned int blocksize; /* block size in bytes */
+ unsigned int block_exp; /* block size exponent */
} tCardInfo;
void mmc_select_clock(int card_no);