aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mmc/host/mmci.h
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2011-03-04 08:54:16 -0500
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-05-11 07:56:49 -0400
commit49ac215e071234b2bf2cff7b8bf4f4f3d0e8cd6e (patch)
tree52298f95ef7894f0ac9a1a3dd87d6d5fc3f04352 /drivers/mmc/host/mmci.h
parent9f381a61f58bb6487c93ce2233bb9992f8ea9211 (diff)
ARM: 6785/1: mmci: separate out ST Micro register defines
The mmci.h header contained a few registers not clearly marked as ST Micro only, rectify this and remove the HWFC magic in the process. The idea is to make the mmci.h header file more ordered so other vendors with PL180 derivates can see where to put in their custom register defines. Includes portions of an earlier patch from Sebastian Rasmussen. Acked-by: Sebastian Rasmussen <sebastian.rasmussen@stericsson.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'drivers/mmc/host/mmci.h')
-rw-r--r--drivers/mmc/host/mmci.h41
1 files changed, 27 insertions, 14 deletions
diff --git a/drivers/mmc/host/mmci.h b/drivers/mmc/host/mmci.h
index ec9a7bc6d0df..bb32e21c09db 100644
--- a/drivers/mmc/host/mmci.h
+++ b/drivers/mmc/host/mmci.h
@@ -11,23 +11,33 @@
11#define MCI_PWR_OFF 0x00 11#define MCI_PWR_OFF 0x00
12#define MCI_PWR_UP 0x02 12#define MCI_PWR_UP 0x02
13#define MCI_PWR_ON 0x03 13#define MCI_PWR_ON 0x03
14#define MCI_DATA2DIREN (1 << 2)
15#define MCI_CMDDIREN (1 << 3)
16#define MCI_DATA0DIREN (1 << 4)
17#define MCI_DATA31DIREN (1 << 5)
18#define MCI_OD (1 << 6) 14#define MCI_OD (1 << 6)
19#define MCI_ROD (1 << 7) 15#define MCI_ROD (1 << 7)
20/* The ST Micro version does not have ROD */ 16/*
21#define MCI_FBCLKEN (1 << 7) 17 * The ST Micro version does not have ROD and reuse the voltage registers
22#define MCI_DATA74DIREN (1 << 8) 18 * for direction settings
19 */
20#define MCI_ST_DATA2DIREN (1 << 2)
21#define MCI_ST_CMDDIREN (1 << 3)
22#define MCI_ST_DATA0DIREN (1 << 4)
23#define MCI_ST_DATA31DIREN (1 << 5)
24#define MCI_ST_FBCLKEN (1 << 7)
25#define MCI_ST_DATA74DIREN (1 << 8)
23 26
24#define MMCICLOCK 0x004 27#define MMCICLOCK 0x004
25#define MCI_CLK_ENABLE (1 << 8) 28#define MCI_CLK_ENABLE (1 << 8)
26#define MCI_CLK_PWRSAVE (1 << 9) 29#define MCI_CLK_PWRSAVE (1 << 9)
27#define MCI_CLK_BYPASS (1 << 10) 30#define MCI_CLK_BYPASS (1 << 10)
28#define MCI_4BIT_BUS (1 << 11) 31#define MCI_4BIT_BUS (1 << 11)
29/* 8bit wide buses supported in ST Micro versions */ 32/*
33 * 8bit wide buses, hardware flow contronl, negative edges and clock inversion
34 * supported in ST Micro U300 and Ux500 versions
35 */
30#define MCI_ST_8BIT_BUS (1 << 12) 36#define MCI_ST_8BIT_BUS (1 << 12)
37#define MCI_ST_U300_HWFCEN (1 << 13)
38#define MCI_ST_UX500_NEG_EDGE (1 << 13)
39#define MCI_ST_UX500_HWFCEN (1 << 14)
40#define MCI_ST_UX500_CLK_INV (1 << 15)
31 41
32#define MMCIARGUMENT 0x008 42#define MMCIARGUMENT 0x008
33#define MMCICOMMAND 0x00c 43#define MMCICOMMAND 0x00c
@@ -88,8 +98,9 @@
88#define MCI_RXFIFOEMPTY (1 << 19) 98#define MCI_RXFIFOEMPTY (1 << 19)
89#define MCI_TXDATAAVLBL (1 << 20) 99#define MCI_TXDATAAVLBL (1 << 20)
90#define MCI_RXDATAAVLBL (1 << 21) 100#define MCI_RXDATAAVLBL (1 << 21)
91#define MCI_SDIOIT (1 << 22) 101/* Extended status bits for the ST Micro variants */
92#define MCI_CEATAEND (1 << 23) 102#define MCI_ST_SDIOIT (1 << 22)
103#define MCI_ST_CEATAEND (1 << 23)
93 104
94#define MMCICLEAR 0x038 105#define MMCICLEAR 0x038
95#define MCI_CMDCRCFAILCLR (1 << 0) 106#define MCI_CMDCRCFAILCLR (1 << 0)
@@ -102,8 +113,9 @@
102#define MCI_CMDSENTCLR (1 << 7) 113#define MCI_CMDSENTCLR (1 << 7)
103#define MCI_DATAENDCLR (1 << 8) 114#define MCI_DATAENDCLR (1 << 8)
104#define MCI_DATABLOCKENDCLR (1 << 10) 115#define MCI_DATABLOCKENDCLR (1 << 10)
105#define MCI_SDIOITC (1 << 22) 116/* Extended status bits for the ST Micro variants */
106#define MCI_CEATAENDC (1 << 23) 117#define MCI_ST_SDIOITC (1 << 22)
118#define MCI_ST_CEATAENDC (1 << 23)
107 119
108#define MMCIMASK0 0x03c 120#define MMCIMASK0 0x03c
109#define MCI_CMDCRCFAILMASK (1 << 0) 121#define MCI_CMDCRCFAILMASK (1 << 0)
@@ -127,8 +139,9 @@
127#define MCI_RXFIFOEMPTYMASK (1 << 19) 139#define MCI_RXFIFOEMPTYMASK (1 << 19)
128#define MCI_TXDATAAVLBLMASK (1 << 20) 140#define MCI_TXDATAAVLBLMASK (1 << 20)
129#define MCI_RXDATAAVLBLMASK (1 << 21) 141#define MCI_RXDATAAVLBLMASK (1 << 21)
130#define MCI_SDIOITMASK (1 << 22) 142/* Extended status bits for the ST Micro variants */
131#define MCI_CEATAENDMASK (1 << 23) 143#define MCI_ST_SDIOITMASK (1 << 22)
144#define MCI_ST_CEATAENDMASK (1 << 23)
132 145
133#define MMCIMASK1 0x040 146#define MMCIMASK1 0x040
134#define MMCIFIFOCNT 0x048 147#define MMCIFIFOCNT 0x048