summaryrefslogtreecommitdiffstats
path: root/include/mmc.h
diff options
context:
space:
mode:
authorAndy Fleming <afleming@freescale.com>2008-10-30 16:31:39 -0500
committerAndy Fleming <afleming@freescale.com>2009-02-16 18:07:41 -0600
commit1de97f9856f697380cc504126ab92561ed238803 (patch)
tree21120db558baf8b6bfe58c7bf745d80b76e1a505 /include/mmc.h
parentabb5466ccf4ce50f412d459586f4f4b81cb73ac3 (diff)
downloadbootable_bootloader_goldelico_gta04-1de97f9856f697380cc504126ab92561ed238803.zip
bootable_bootloader_goldelico_gta04-1de97f9856f697380cc504126ab92561ed238803.tar.gz
bootable_bootloader_goldelico_gta04-1de97f9856f697380cc504126ab92561ed238803.tar.bz2
Eliminated arch-specific mmc header requirement
The current MMC infrastructure relies on the existence of an arch-specific header file. This isn't necessary, and a couple drivers were forced to implement dummy files to meet this requirement. Instead, we move the stuff in those header files into a more appropriate place, and eliminate the stubs and the #include of asm/arch/mmc.h Signed-off-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'include/mmc.h')
-rw-r--r--include/mmc.h53
1 files changed, 52 insertions, 1 deletions
diff --git a/include/mmc.h b/include/mmc.h
index 47cc053..e41033f 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -23,7 +23,6 @@
#ifndef _MMC_H_
#define _MMC_H_
-#include <asm/arch/mmc.h>
/* MMC command numbers */
#define MMC_CMD_GO_IDLE_STATE 0
@@ -49,8 +48,60 @@
#define SD_CMD_APP_SET_BUS_WIDTH 6
#define SD_CMD_APP_SEND_OP_COND 41
+#define R1_ILLEGAL_COMMAND (1 << 22)
+#define R1_APP_CMD (1 << 5)
+
int mmc_legacy_init(int verbose);
int mmc_read(ulong src, uchar *dst, int size);
int mmc_write(uchar *src, ulong dst, int size);
+struct mmc_cid {
+ unsigned long psn;
+ unsigned short oid;
+ unsigned char mid;
+ unsigned char prv;
+ unsigned char mdt;
+ char pnm[7];
+};
+
+struct mmc_csd
+{
+ u8 csd_structure:2,
+ spec_vers:4,
+ rsvd1:2;
+ u8 taac;
+ u8 nsac;
+ u8 tran_speed;
+ u16 ccc:12,
+ read_bl_len:4;
+ u64 read_bl_partial:1,
+ write_blk_misalign:1,
+ read_blk_misalign:1,
+ dsr_imp:1,
+ rsvd2:2,
+ c_size:12,
+ vdd_r_curr_min:3,
+ vdd_r_curr_max:3,
+ vdd_w_curr_min:3,
+ vdd_w_curr_max:3,
+ c_size_mult:3,
+ sector_size:5,
+ erase_grp_size:5,
+ wp_grp_size:5,
+ wp_grp_enable:1,
+ default_ecc:2,
+ r2w_factor:3,
+ write_bl_len:4,
+ write_bl_partial:1,
+ rsvd3:5;
+ u8 file_format_grp:1,
+ copy:1,
+ perm_write_protect:1,
+ tmp_write_protect:1,
+ file_format:2,
+ ecc:2;
+ u8 crc:7;
+ u8 one:1;
+};
+
#endif /* _MMC_H_ */