Commit | Line | Data |
---|---|---|
cba179ae SH |
1 | /* |
2 | * include/linux/mmc/tmio.h | |
3 | * | |
4 | * Copyright (C) 2007 Ian Molton | |
5 | * Copyright (C) 2004 Ian Molton | |
6 | * | |
7 | * This program is free software; you can redistribute it and/or modify | |
8 | * it under the terms of the GNU General Public License version 2 as | |
9 | * published by the Free Software Foundation. | |
10 | * | |
11 | * Driver for the MMC / SD / SDIO cell found in: | |
12 | * | |
13 | * TC6393XB TC6391XB TC6387XB T7L66XB ASIC3 | |
14 | */ | |
100e9186 RD |
15 | #ifndef LINUX_MMC_TMIO_H |
16 | #define LINUX_MMC_TMIO_H | |
cba179ae SH |
17 | |
18 | #define CTL_SD_CMD 0x00 | |
19 | #define CTL_ARG_REG 0x04 | |
20 | #define CTL_STOP_INTERNAL_ACTION 0x08 | |
21 | #define CTL_XFER_BLK_COUNT 0xa | |
22 | #define CTL_RESPONSE 0x0c | |
23 | #define CTL_STATUS 0x1c | |
973ed3af | 24 | #define CTL_STATUS2 0x1e |
cba179ae SH |
25 | #define CTL_IRQ_MASK 0x20 |
26 | #define CTL_SD_CARD_CLK_CTL 0x24 | |
27 | #define CTL_SD_XFER_LEN 0x26 | |
28 | #define CTL_SD_MEM_CARD_OPT 0x28 | |
29 | #define CTL_SD_ERROR_DETAIL_STATUS 0x2c | |
30 | #define CTL_SD_DATA_PORT 0x30 | |
31 | #define CTL_TRANSACTION_CTL 0x34 | |
32 | #define CTL_SDIO_STATUS 0x36 | |
33 | #define CTL_SDIO_IRQ_MASK 0x38 | |
95c7348d | 34 | #define CTL_DMA_ENABLE 0xd8 |
cba179ae SH |
35 | #define CTL_RESET_SD 0xe0 |
36 | #define CTL_SDIO_REGS 0x100 | |
37 | #define CTL_CLK_AND_WAIT_CTL 0x138 | |
38 | #define CTL_RESET_SDIO 0x1e0 | |
39 | ||
40 | /* Definitions for values the CTRL_STATUS register can take. */ | |
41 | #define TMIO_STAT_CMDRESPEND 0x00000001 | |
42 | #define TMIO_STAT_DATAEND 0x00000004 | |
43 | #define TMIO_STAT_CARD_REMOVE 0x00000008 | |
44 | #define TMIO_STAT_CARD_INSERT 0x00000010 | |
45 | #define TMIO_STAT_SIGSTATE 0x00000020 | |
46 | #define TMIO_STAT_WRPROTECT 0x00000080 | |
47 | #define TMIO_STAT_CARD_REMOVE_A 0x00000100 | |
48 | #define TMIO_STAT_CARD_INSERT_A 0x00000200 | |
49 | #define TMIO_STAT_SIGSTATE_A 0x00000400 | |
50 | #define TMIO_STAT_CMD_IDX_ERR 0x00010000 | |
51 | #define TMIO_STAT_CRCFAIL 0x00020000 | |
52 | #define TMIO_STAT_STOPBIT_ERR 0x00040000 | |
53 | #define TMIO_STAT_DATATIMEOUT 0x00080000 | |
54 | #define TMIO_STAT_RXOVERFLOW 0x00100000 | |
55 | #define TMIO_STAT_TXUNDERRUN 0x00200000 | |
56 | #define TMIO_STAT_CMDTIMEOUT 0x00400000 | |
57 | #define TMIO_STAT_RXRDY 0x01000000 | |
58 | #define TMIO_STAT_TXRQ 0x02000000 | |
59 | #define TMIO_STAT_ILL_FUNC 0x20000000 | |
60 | #define TMIO_STAT_CMD_BUSY 0x40000000 | |
61 | #define TMIO_STAT_ILL_ACCESS 0x80000000 | |
62 | ||
63 | #define TMIO_BBS 512 /* Boot block size */ | |
64 | ||
100e9186 | 65 | #endif /* LINUX_MMC_TMIO_H */ |