diff options
Diffstat (limited to 'drivers/mmc/omap.c')
-rw-r--r-- | drivers/mmc/omap.c | 52 |
1 files changed, 51 insertions, 1 deletions
diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c index efd14cf60f89..827753c18579 100644 --- a/drivers/mmc/omap.c +++ b/drivers/mmc/omap.c | |||
@@ -38,7 +38,57 @@ | |||
38 | #include <asm/arch/fpga.h> | 38 | #include <asm/arch/fpga.h> |
39 | #include <asm/arch/tps65010.h> | 39 | #include <asm/arch/tps65010.h> |
40 | 40 | ||
41 | #include "omap.h" | 41 | #define OMAP_MMC_REG_CMD 0x00 |
42 | #define OMAP_MMC_REG_ARGL 0x04 | ||
43 | #define OMAP_MMC_REG_ARGH 0x08 | ||
44 | #define OMAP_MMC_REG_CON 0x0c | ||
45 | #define OMAP_MMC_REG_STAT 0x10 | ||
46 | #define OMAP_MMC_REG_IE 0x14 | ||
47 | #define OMAP_MMC_REG_CTO 0x18 | ||
48 | #define OMAP_MMC_REG_DTO 0x1c | ||
49 | #define OMAP_MMC_REG_DATA 0x20 | ||
50 | #define OMAP_MMC_REG_BLEN 0x24 | ||
51 | #define OMAP_MMC_REG_NBLK 0x28 | ||
52 | #define OMAP_MMC_REG_BUF 0x2c | ||
53 | #define OMAP_MMC_REG_SDIO 0x34 | ||
54 | #define OMAP_MMC_REG_REV 0x3c | ||
55 | #define OMAP_MMC_REG_RSP0 0x40 | ||
56 | #define OMAP_MMC_REG_RSP1 0x44 | ||
57 | #define OMAP_MMC_REG_RSP2 0x48 | ||
58 | #define OMAP_MMC_REG_RSP3 0x4c | ||
59 | #define OMAP_MMC_REG_RSP4 0x50 | ||
60 | #define OMAP_MMC_REG_RSP5 0x54 | ||
61 | #define OMAP_MMC_REG_RSP6 0x58 | ||
62 | #define OMAP_MMC_REG_RSP7 0x5c | ||
63 | #define OMAP_MMC_REG_IOSR 0x60 | ||
64 | #define OMAP_MMC_REG_SYSC 0x64 | ||
65 | #define OMAP_MMC_REG_SYSS 0x68 | ||
66 | |||
67 | #define OMAP_MMC_STAT_CARD_ERR (1 << 14) | ||
68 | #define OMAP_MMC_STAT_CARD_IRQ (1 << 13) | ||
69 | #define OMAP_MMC_STAT_OCR_BUSY (1 << 12) | ||
70 | #define OMAP_MMC_STAT_A_EMPTY (1 << 11) | ||
71 | #define OMAP_MMC_STAT_A_FULL (1 << 10) | ||
72 | #define OMAP_MMC_STAT_CMD_CRC (1 << 8) | ||
73 | #define OMAP_MMC_STAT_CMD_TOUT (1 << 7) | ||
74 | #define OMAP_MMC_STAT_DATA_CRC (1 << 6) | ||
75 | #define OMAP_MMC_STAT_DATA_TOUT (1 << 5) | ||
76 | #define OMAP_MMC_STAT_END_BUSY (1 << 4) | ||
77 | #define OMAP_MMC_STAT_END_OF_DATA (1 << 3) | ||
78 | #define OMAP_MMC_STAT_CARD_BUSY (1 << 2) | ||
79 | #define OMAP_MMC_STAT_END_OF_CMD (1 << 0) | ||
80 | |||
81 | #define OMAP_MMC_READ(host, reg) __raw_readw((host)->virt_base + OMAP_MMC_REG_##reg) | ||
82 | #define OMAP_MMC_WRITE(host, reg, val) __raw_writew((val), (host)->virt_base + OMAP_MMC_REG_##reg) | ||
83 | |||
84 | /* | ||
85 | * Command types | ||
86 | */ | ||
87 | #define OMAP_MMC_CMDTYPE_BC 0 | ||
88 | #define OMAP_MMC_CMDTYPE_BCR 1 | ||
89 | #define OMAP_MMC_CMDTYPE_AC 2 | ||
90 | #define OMAP_MMC_CMDTYPE_ADTC 3 | ||
91 | |||
42 | 92 | ||
43 | #define DRIVER_NAME "mmci-omap" | 93 | #define DRIVER_NAME "mmci-omap" |
44 | #define RSP_TYPE(x) ((x) & ~(MMC_RSP_BUSY|MMC_RSP_OPCODE)) | 94 | #define RSP_TYPE(x) ((x) & ~(MMC_RSP_BUSY|MMC_RSP_OPCODE)) |