Linux v2.6.18-rc5
[pohmelfs.git] / drivers / mmc / omap.h
blobc954d355a5e3e141d572786dd51201044143511f
1 #ifndef DRIVERS_MEDIA_MMC_OMAP_H
2 #define DRIVERS_MEDIA_MMC_OMAP_H
4 #define OMAP_MMC_REG_CMD 0x00
5 #define OMAP_MMC_REG_ARGL 0x04
6 #define OMAP_MMC_REG_ARGH 0x08
7 #define OMAP_MMC_REG_CON 0x0c
8 #define OMAP_MMC_REG_STAT 0x10
9 #define OMAP_MMC_REG_IE 0x14
10 #define OMAP_MMC_REG_CTO 0x18
11 #define OMAP_MMC_REG_DTO 0x1c
12 #define OMAP_MMC_REG_DATA 0x20
13 #define OMAP_MMC_REG_BLEN 0x24
14 #define OMAP_MMC_REG_NBLK 0x28
15 #define OMAP_MMC_REG_BUF 0x2c
16 #define OMAP_MMC_REG_SDIO 0x34
17 #define OMAP_MMC_REG_REV 0x3c
18 #define OMAP_MMC_REG_RSP0 0x40
19 #define OMAP_MMC_REG_RSP1 0x44
20 #define OMAP_MMC_REG_RSP2 0x48
21 #define OMAP_MMC_REG_RSP3 0x4c
22 #define OMAP_MMC_REG_RSP4 0x50
23 #define OMAP_MMC_REG_RSP5 0x54
24 #define OMAP_MMC_REG_RSP6 0x58
25 #define OMAP_MMC_REG_RSP7 0x5c
26 #define OMAP_MMC_REG_IOSR 0x60
27 #define OMAP_MMC_REG_SYSC 0x64
28 #define OMAP_MMC_REG_SYSS 0x68
30 #define OMAP_MMC_STAT_CARD_ERR (1 << 14)
31 #define OMAP_MMC_STAT_CARD_IRQ (1 << 13)
32 #define OMAP_MMC_STAT_OCR_BUSY (1 << 12)
33 #define OMAP_MMC_STAT_A_EMPTY (1 << 11)
34 #define OMAP_MMC_STAT_A_FULL (1 << 10)
35 #define OMAP_MMC_STAT_CMD_CRC (1 << 8)
36 #define OMAP_MMC_STAT_CMD_TOUT (1 << 7)
37 #define OMAP_MMC_STAT_DATA_CRC (1 << 6)
38 #define OMAP_MMC_STAT_DATA_TOUT (1 << 5)
39 #define OMAP_MMC_STAT_END_BUSY (1 << 4)
40 #define OMAP_MMC_STAT_END_OF_DATA (1 << 3)
41 #define OMAP_MMC_STAT_CARD_BUSY (1 << 2)
42 #define OMAP_MMC_STAT_END_OF_CMD (1 << 0)
44 #define OMAP_MMC_READ(base, reg) __raw_readw((base) + OMAP_MMC_REG_##reg)
45 #define OMAP_MMC_WRITE(base, reg, val) __raw_writew((val), (base) + OMAP_MMC_REG_##reg)
48 * Command types
50 #define OMAP_MMC_CMDTYPE_BC 0
51 #define OMAP_MMC_CMDTYPE_BCR 1
52 #define OMAP_MMC_CMDTYPE_AC 2
53 #define OMAP_MMC_CMDTYPE_ADTC 3
55 #endif