diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-05-14 15:48:45 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-05-15 07:31:11 -0400 |
commit | c49314fa6c7d2c130d850b30980cffab53a40592 (patch) | |
tree | 9c7597ad98a42ef8ba1e18e897106c2cb29e52e6 /arch/arm | |
parent | 21b7f153dd0d7366197c37e7a630c7585db0b8ea (diff) | |
parent | 7f217794ffa72f208a250b79ab0b7ea3de19677f (diff) |
Merge branch 'drivers/mmc' into next/drivers
* drivers/mmc:
mmc: dt: Consolidate DT bindings
Also pulls in the omap/dt-missed-3.4 branch as a dependency.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/boot/dts/imx53-smd.dts | 4 | ||||
-rw-r--r-- | arch/arm/boot/dts/imx6q-arm2.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap3-beagle.dts | 49 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap3.dtsi | 102 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap4-panda.dts | 56 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap4-sdp.dts | 97 | ||||
-rw-r--r-- | arch/arm/boot/dts/omap4.dtsi | 117 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-cardhu.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-harmony.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-paz00.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-seaboard.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/tegra-ventana.dts | 2 | ||||
-rw-r--r-- | arch/arm/boot/dts/twl4030.dtsi | 39 | ||||
-rw-r--r-- | arch/arm/boot/dts/twl6030.dtsi | 86 | ||||
-rw-r--r-- | arch/arm/mach-omap2/board-generic.c | 37 | ||||
-rw-r--r-- | arch/arm/mach-omap2/devices.c | 4 | ||||
-rw-r--r-- | arch/arm/mach-omap2/gpio.c | 8 |
17 files changed, 570 insertions, 41 deletions
diff --git a/arch/arm/boot/dts/imx53-smd.dts b/arch/arm/boot/dts/imx53-smd.dts index c7ee86c2dfb5..139138a556b0 100644 --- a/arch/arm/boot/dts/imx53-smd.dts +++ b/arch/arm/boot/dts/imx53-smd.dts | |||
@@ -35,7 +35,7 @@ | |||
35 | }; | 35 | }; |
36 | 36 | ||
37 | esdhc@50008000 { /* ESDHC2 */ | 37 | esdhc@50008000 { /* ESDHC2 */ |
38 | fsl,card-wired; | 38 | non-removable; |
39 | status = "okay"; | 39 | status = "okay"; |
40 | }; | 40 | }; |
41 | 41 | ||
@@ -76,7 +76,7 @@ | |||
76 | }; | 76 | }; |
77 | 77 | ||
78 | esdhc@50020000 { /* ESDHC3 */ | 78 | esdhc@50020000 { /* ESDHC3 */ |
79 | fsl,card-wired; | 79 | non-removable; |
80 | status = "okay"; | 80 | status = "okay"; |
81 | }; | 81 | }; |
82 | }; | 82 | }; |
diff --git a/arch/arm/boot/dts/imx6q-arm2.dts b/arch/arm/boot/dts/imx6q-arm2.dts index ce1c8238c897..d2eaf521c9fd 100644 --- a/arch/arm/boot/dts/imx6q-arm2.dts +++ b/arch/arm/boot/dts/imx6q-arm2.dts | |||
@@ -41,7 +41,7 @@ | |||
41 | }; | 41 | }; |
42 | 42 | ||
43 | usdhc@0219c000 { /* uSDHC4 */ | 43 | usdhc@0219c000 { /* uSDHC4 */ |
44 | fsl,card-wired; | 44 | non-removable; |
45 | vmmc-supply = <®_3p3v>; | 45 | vmmc-supply = <®_3p3v>; |
46 | status = "okay"; | 46 | status = "okay"; |
47 | }; | 47 | }; |
diff --git a/arch/arm/boot/dts/omap3-beagle.dts b/arch/arm/boot/dts/omap3-beagle.dts index 9f72cd4cf308..5b4506c0a8c4 100644 --- a/arch/arm/boot/dts/omap3-beagle.dts +++ b/arch/arm/boot/dts/omap3-beagle.dts | |||
@@ -18,3 +18,52 @@ | |||
18 | reg = <0x80000000 0x20000000>; /* 512 MB */ | 18 | reg = <0x80000000 0x20000000>; /* 512 MB */ |
19 | }; | 19 | }; |
20 | }; | 20 | }; |
21 | |||
22 | &i2c1 { | ||
23 | clock-frequency = <2600000>; | ||
24 | |||
25 | twl: twl@48 { | ||
26 | reg = <0x48>; | ||
27 | interrupts = <7>; /* SYS_NIRQ cascaded to intc */ | ||
28 | interrupt-parent = <&intc>; | ||
29 | |||
30 | vsim: regulator@10 { | ||
31 | compatible = "ti,twl4030-vsim"; | ||
32 | regulator-min-microvolt = <1800000>; | ||
33 | regulator-max-microvolt = <3000000>; | ||
34 | }; | ||
35 | }; | ||
36 | }; | ||
37 | |||
38 | /include/ "twl4030.dtsi" | ||
39 | |||
40 | &i2c2 { | ||
41 | clock-frequency = <400000>; | ||
42 | }; | ||
43 | |||
44 | &i2c3 { | ||
45 | clock-frequency = <100000>; | ||
46 | |||
47 | /* | ||
48 | * Display monitor features are burnt in the EEPROM | ||
49 | * as EDID data. | ||
50 | */ | ||
51 | eeprom@50 { | ||
52 | compatible = "ti,eeprom"; | ||
53 | reg = <0x50>; | ||
54 | }; | ||
55 | }; | ||
56 | |||
57 | &mmc1 { | ||
58 | vmmc-supply = <&vmmc1>; | ||
59 | vmmc_aux-supply = <&vsim>; | ||
60 | bus-width = <8>; | ||
61 | }; | ||
62 | |||
63 | &mmc2 { | ||
64 | status = "disable"; | ||
65 | }; | ||
66 | |||
67 | &mmc3 { | ||
68 | status = "disable"; | ||
69 | }; | ||
diff --git a/arch/arm/boot/dts/omap3.dtsi b/arch/arm/boot/dts/omap3.dtsi index c6121357c1eb..99474fa5fac4 100644 --- a/arch/arm/boot/dts/omap3.dtsi +++ b/arch/arm/boot/dts/omap3.dtsi | |||
@@ -69,6 +69,60 @@ | |||
69 | reg = <0x48200000 0x1000>; | 69 | reg = <0x48200000 0x1000>; |
70 | }; | 70 | }; |
71 | 71 | ||
72 | gpio1: gpio@48310000 { | ||
73 | compatible = "ti,omap3-gpio"; | ||
74 | ti,hwmods = "gpio1"; | ||
75 | gpio-controller; | ||
76 | #gpio-cells = <2>; | ||
77 | interrupt-controller; | ||
78 | #interrupt-cells = <1>; | ||
79 | }; | ||
80 | |||
81 | gpio2: gpio@49050000 { | ||
82 | compatible = "ti,omap3-gpio"; | ||
83 | ti,hwmods = "gpio2"; | ||
84 | gpio-controller; | ||
85 | #gpio-cells = <2>; | ||
86 | interrupt-controller; | ||
87 | #interrupt-cells = <1>; | ||
88 | }; | ||
89 | |||
90 | gpio3: gpio@49052000 { | ||
91 | compatible = "ti,omap3-gpio"; | ||
92 | ti,hwmods = "gpio3"; | ||
93 | gpio-controller; | ||
94 | #gpio-cells = <2>; | ||
95 | interrupt-controller; | ||
96 | #interrupt-cells = <1>; | ||
97 | }; | ||
98 | |||
99 | gpio4: gpio@49054000 { | ||
100 | compatible = "ti,omap3-gpio"; | ||
101 | ti,hwmods = "gpio4"; | ||
102 | gpio-controller; | ||
103 | #gpio-cells = <2>; | ||
104 | interrupt-controller; | ||
105 | #interrupt-cells = <1>; | ||
106 | }; | ||
107 | |||
108 | gpio5: gpio@49056000 { | ||
109 | compatible = "ti,omap3-gpio"; | ||
110 | ti,hwmods = "gpio5"; | ||
111 | gpio-controller; | ||
112 | #gpio-cells = <2>; | ||
113 | interrupt-controller; | ||
114 | #interrupt-cells = <1>; | ||
115 | }; | ||
116 | |||
117 | gpio6: gpio@49058000 { | ||
118 | compatible = "ti,omap3-gpio"; | ||
119 | ti,hwmods = "gpio6"; | ||
120 | gpio-controller; | ||
121 | #gpio-cells = <2>; | ||
122 | interrupt-controller; | ||
123 | #interrupt-cells = <1>; | ||
124 | }; | ||
125 | |||
72 | uart1: serial@4806a000 { | 126 | uart1: serial@4806a000 { |
73 | compatible = "ti,omap3-uart"; | 127 | compatible = "ti,omap3-uart"; |
74 | ti,hwmods = "uart1"; | 128 | ti,hwmods = "uart1"; |
@@ -113,5 +167,53 @@ | |||
113 | #size-cells = <0>; | 167 | #size-cells = <0>; |
114 | ti,hwmods = "i2c3"; | 168 | ti,hwmods = "i2c3"; |
115 | }; | 169 | }; |
170 | |||
171 | mcspi1: spi@48098000 { | ||
172 | compatible = "ti,omap2-mcspi"; | ||
173 | #address-cells = <1>; | ||
174 | #size-cells = <0>; | ||
175 | ti,hwmods = "mcspi1"; | ||
176 | ti,spi-num-cs = <4>; | ||
177 | }; | ||
178 | |||
179 | mcspi2: spi@4809a000 { | ||
180 | compatible = "ti,omap2-mcspi"; | ||
181 | #address-cells = <1>; | ||
182 | #size-cells = <0>; | ||
183 | ti,hwmods = "mcspi2"; | ||
184 | ti,spi-num-cs = <2>; | ||
185 | }; | ||
186 | |||
187 | mcspi3: spi@480b8000 { | ||
188 | compatible = "ti,omap2-mcspi"; | ||
189 | #address-cells = <1>; | ||
190 | #size-cells = <0>; | ||
191 | ti,hwmods = "mcspi3"; | ||
192 | ti,spi-num-cs = <2>; | ||
193 | }; | ||
194 | |||
195 | mcspi4: spi@480ba000 { | ||
196 | compatible = "ti,omap2-mcspi"; | ||
197 | #address-cells = <1>; | ||
198 | #size-cells = <0>; | ||
199 | ti,hwmods = "mcspi4"; | ||
200 | ti,spi-num-cs = <1>; | ||
201 | }; | ||
202 | |||
203 | mmc1: mmc@4809c000 { | ||
204 | compatible = "ti,omap3-hsmmc"; | ||
205 | ti,hwmods = "mmc1"; | ||
206 | ti,dual-volt; | ||
207 | }; | ||
208 | |||
209 | mmc2: mmc@480b4000 { | ||
210 | compatible = "ti,omap3-hsmmc"; | ||
211 | ti,hwmods = "mmc2"; | ||
212 | }; | ||
213 | |||
214 | mmc3: mmc@480ad000 { | ||
215 | compatible = "ti,omap3-hsmmc"; | ||
216 | ti,hwmods = "mmc3"; | ||
217 | }; | ||
116 | }; | 218 | }; |
117 | }; | 219 | }; |
diff --git a/arch/arm/boot/dts/omap4-panda.dts b/arch/arm/boot/dts/omap4-panda.dts index 9755ad5917f8..31fb4218d3ae 100644 --- a/arch/arm/boot/dts/omap4-panda.dts +++ b/arch/arm/boot/dts/omap4-panda.dts | |||
@@ -18,3 +18,59 @@ | |||
18 | reg = <0x80000000 0x40000000>; /* 1 GB */ | 18 | reg = <0x80000000 0x40000000>; /* 1 GB */ |
19 | }; | 19 | }; |
20 | }; | 20 | }; |
21 | |||
22 | &i2c1 { | ||
23 | clock-frequency = <400000>; | ||
24 | |||
25 | twl: twl@48 { | ||
26 | reg = <0x48>; | ||
27 | /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */ | ||
28 | interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */ | ||
29 | interrupt-parent = <&gic>; | ||
30 | }; | ||
31 | }; | ||
32 | |||
33 | /include/ "twl6030.dtsi" | ||
34 | |||
35 | &i2c2 { | ||
36 | clock-frequency = <400000>; | ||
37 | }; | ||
38 | |||
39 | &i2c3 { | ||
40 | clock-frequency = <100000>; | ||
41 | |||
42 | /* | ||
43 | * Display monitor features are burnt in their EEPROM as EDID data. | ||
44 | * The EEPROM is connected as I2C slave device. | ||
45 | */ | ||
46 | eeprom@50 { | ||
47 | compatible = "ti,eeprom"; | ||
48 | reg = <0x50>; | ||
49 | }; | ||
50 | }; | ||
51 | |||
52 | &i2c4 { | ||
53 | clock-frequency = <400000>; | ||
54 | }; | ||
55 | |||
56 | &mmc1 { | ||
57 | vmmc-supply = <&vmmc>; | ||
58 | bus-width = <8>; | ||
59 | }; | ||
60 | |||
61 | &mmc2 { | ||
62 | status = "disable"; | ||
63 | }; | ||
64 | |||
65 | &mmc3 { | ||
66 | status = "disable"; | ||
67 | }; | ||
68 | |||
69 | &mmc4 { | ||
70 | status = "disable"; | ||
71 | }; | ||
72 | |||
73 | &mmc5 { | ||
74 | ti,non-removable; | ||
75 | bus-width = <4>; | ||
76 | }; | ||
diff --git a/arch/arm/boot/dts/omap4-sdp.dts b/arch/arm/boot/dts/omap4-sdp.dts index 63c6b2b2bf42..a1dd873425fc 100644 --- a/arch/arm/boot/dts/omap4-sdp.dts +++ b/arch/arm/boot/dts/omap4-sdp.dts | |||
@@ -17,4 +17,101 @@ | |||
17 | device_type = "memory"; | 17 | device_type = "memory"; |
18 | reg = <0x80000000 0x40000000>; /* 1 GB */ | 18 | reg = <0x80000000 0x40000000>; /* 1 GB */ |
19 | }; | 19 | }; |
20 | |||
21 | vdd_eth: fixedregulator@0 { | ||
22 | compatible = "regulator-fixed"; | ||
23 | regulator-name = "VDD_ETH"; | ||
24 | regulator-min-microvolt = <3300000>; | ||
25 | regulator-max-microvolt = <3300000>; | ||
26 | gpio = <&gpio2 16 0>; /* gpio line 48 */ | ||
27 | enable-active-high; | ||
28 | regulator-boot-on; | ||
29 | }; | ||
30 | }; | ||
31 | |||
32 | &i2c1 { | ||
33 | clock-frequency = <400000>; | ||
34 | |||
35 | twl: twl@48 { | ||
36 | reg = <0x48>; | ||
37 | /* SPI = 0, IRQ# = 7, 4 = active high level-sensitive */ | ||
38 | interrupts = <0 7 4>; /* IRQ_SYS_1N cascaded to gic */ | ||
39 | interrupt-parent = <&gic>; | ||
40 | }; | ||
41 | }; | ||
42 | |||
43 | /include/ "twl6030.dtsi" | ||
44 | |||
45 | &i2c2 { | ||
46 | clock-frequency = <400000>; | ||
47 | }; | ||
48 | |||
49 | &i2c3 { | ||
50 | clock-frequency = <400000>; | ||
51 | |||
52 | /* | ||
53 | * Temperature Sensor | ||
54 | * http://www.ti.com/lit/ds/symlink/tmp105.pdf | ||
55 | */ | ||
56 | tmp105@48 { | ||
57 | compatible = "ti,tmp105"; | ||
58 | reg = <0x48>; | ||
59 | }; | ||
60 | |||
61 | /* | ||
62 | * Ambient Light Sensor | ||
63 | * http://www.rohm.com/products/databook/sensor/pdf/bh1780gli-e.pdf | ||
64 | */ | ||
65 | bh1780@29 { | ||
66 | compatible = "rohm,bh1780"; | ||
67 | reg = <0x29>; | ||
68 | }; | ||
69 | }; | ||
70 | |||
71 | &i2c4 { | ||
72 | clock-frequency = <400000>; | ||
73 | |||
74 | /* | ||
75 | * 3-Axis Digital Compass | ||
76 | * http://www.sparkfun.com/datasheets/Sensors/Magneto/HMC5843.pdf | ||
77 | */ | ||
78 | hmc5843@1e { | ||
79 | compatible = "honeywell,hmc5843"; | ||
80 | reg = <0x1e>; | ||
81 | }; | ||
82 | }; | ||
83 | |||
84 | &mcspi1 { | ||
85 | eth@0 { | ||
86 | compatible = "ks8851"; | ||
87 | spi-max-frequency = <24000000>; | ||
88 | reg = <0>; | ||
89 | interrupt-parent = <&gpio2>; | ||
90 | interrupts = <2>; /* gpio line 34 */ | ||
91 | vdd-supply = <&vdd_eth>; | ||
92 | }; | ||
93 | }; | ||
94 | |||
95 | &mmc1 { | ||
96 | vmmc-supply = <&vmmc>; | ||
97 | bus-width = <8>; | ||
98 | }; | ||
99 | |||
100 | &mmc2 { | ||
101 | vmmc-supply = <&vaux1>; | ||
102 | bus-width = <8>; | ||
103 | ti,non-removable; | ||
104 | }; | ||
105 | |||
106 | &mmc3 { | ||
107 | status = "disable"; | ||
108 | }; | ||
109 | |||
110 | &mmc4 { | ||
111 | status = "disable"; | ||
112 | }; | ||
113 | |||
114 | &mmc5 { | ||
115 | bus-width = <4>; | ||
116 | ti,non-removable; | ||
20 | }; | 117 | }; |
diff --git a/arch/arm/boot/dts/omap4.dtsi b/arch/arm/boot/dts/omap4.dtsi index 3d35559e77bc..359c4979c8aa 100644 --- a/arch/arm/boot/dts/omap4.dtsi +++ b/arch/arm/boot/dts/omap4.dtsi | |||
@@ -104,6 +104,60 @@ | |||
104 | <0x48240100 0x0100>; | 104 | <0x48240100 0x0100>; |
105 | }; | 105 | }; |
106 | 106 | ||
107 | gpio1: gpio@4a310000 { | ||
108 | compatible = "ti,omap4-gpio"; | ||
109 | ti,hwmods = "gpio1"; | ||
110 | gpio-controller; | ||
111 | #gpio-cells = <2>; | ||
112 | interrupt-controller; | ||
113 | #interrupt-cells = <1>; | ||
114 | }; | ||
115 | |||
116 | gpio2: gpio@48055000 { | ||
117 | compatible = "ti,omap4-gpio"; | ||
118 | ti,hwmods = "gpio2"; | ||
119 | gpio-controller; | ||
120 | #gpio-cells = <2>; | ||
121 | interrupt-controller; | ||
122 | #interrupt-cells = <1>; | ||
123 | }; | ||
124 | |||
125 | gpio3: gpio@48057000 { | ||
126 | compatible = "ti,omap4-gpio"; | ||
127 | ti,hwmods = "gpio3"; | ||
128 | gpio-controller; | ||
129 | #gpio-cells = <2>; | ||
130 | interrupt-controller; | ||
131 | #interrupt-cells = <1>; | ||
132 | }; | ||
133 | |||
134 | gpio4: gpio@48059000 { | ||
135 | compatible = "ti,omap4-gpio"; | ||
136 | ti,hwmods = "gpio4"; | ||
137 | gpio-controller; | ||
138 | #gpio-cells = <2>; | ||
139 | interrupt-controller; | ||
140 | #interrupt-cells = <1>; | ||
141 | }; | ||
142 | |||
143 | gpio5: gpio@4805b000 { | ||
144 | compatible = "ti,omap4-gpio"; | ||
145 | ti,hwmods = "gpio5"; | ||
146 | gpio-controller; | ||
147 | #gpio-cells = <2>; | ||
148 | interrupt-controller; | ||
149 | #interrupt-cells = <1>; | ||
150 | }; | ||
151 | |||
152 | gpio6: gpio@4805d000 { | ||
153 | compatible = "ti,omap4-gpio"; | ||
154 | ti,hwmods = "gpio6"; | ||
155 | gpio-controller; | ||
156 | #gpio-cells = <2>; | ||
157 | interrupt-controller; | ||
158 | #interrupt-cells = <1>; | ||
159 | }; | ||
160 | |||
107 | uart1: serial@4806a000 { | 161 | uart1: serial@4806a000 { |
108 | compatible = "ti,omap4-uart"; | 162 | compatible = "ti,omap4-uart"; |
109 | ti,hwmods = "uart1"; | 163 | ti,hwmods = "uart1"; |
@@ -155,5 +209,68 @@ | |||
155 | #size-cells = <0>; | 209 | #size-cells = <0>; |
156 | ti,hwmods = "i2c4"; | 210 | ti,hwmods = "i2c4"; |
157 | }; | 211 | }; |
212 | |||
213 | mcspi1: spi@48098000 { | ||
214 | compatible = "ti,omap4-mcspi"; | ||
215 | #address-cells = <1>; | ||
216 | #size-cells = <0>; | ||
217 | ti,hwmods = "mcspi1"; | ||
218 | ti,spi-num-cs = <4>; | ||
219 | }; | ||
220 | |||
221 | mcspi2: spi@4809a000 { | ||
222 | compatible = "ti,omap4-mcspi"; | ||
223 | #address-cells = <1>; | ||
224 | #size-cells = <0>; | ||
225 | ti,hwmods = "mcspi2"; | ||
226 | ti,spi-num-cs = <2>; | ||
227 | }; | ||
228 | |||
229 | mcspi3: spi@480b8000 { | ||
230 | compatible = "ti,omap4-mcspi"; | ||
231 | #address-cells = <1>; | ||
232 | #size-cells = <0>; | ||
233 | ti,hwmods = "mcspi3"; | ||
234 | ti,spi-num-cs = <2>; | ||
235 | }; | ||
236 | |||
237 | mcspi4: spi@480ba000 { | ||
238 | compatible = "ti,omap4-mcspi"; | ||
239 | #address-cells = <1>; | ||
240 | #size-cells = <0>; | ||
241 | ti,hwmods = "mcspi4"; | ||
242 | ti,spi-num-cs = <1>; | ||
243 | }; | ||
244 | |||
245 | mmc1: mmc@4809c000 { | ||
246 | compatible = "ti,omap4-hsmmc"; | ||
247 | ti,hwmods = "mmc1"; | ||
248 | ti,dual-volt; | ||
249 | ti,needs-special-reset; | ||
250 | }; | ||
251 | |||
252 | mmc2: mmc@480b4000 { | ||
253 | compatible = "ti,omap4-hsmmc"; | ||
254 | ti,hwmods = "mmc2"; | ||
255 | ti,needs-special-reset; | ||
256 | }; | ||
257 | |||
258 | mmc3: mmc@480ad000 { | ||
259 | compatible = "ti,omap4-hsmmc"; | ||
260 | ti,hwmods = "mmc3"; | ||
261 | ti,needs-special-reset; | ||
262 | }; | ||
263 | |||
264 | mmc4: mmc@480d1000 { | ||
265 | compatible = "ti,omap4-hsmmc"; | ||
266 | ti,hwmods = "mmc4"; | ||
267 | ti,needs-special-reset; | ||
268 | }; | ||
269 | |||
270 | mmc5: mmc@480d5000 { | ||
271 | compatible = "ti,omap4-hsmmc"; | ||
272 | ti,hwmods = "mmc5"; | ||
273 | ti,needs-special-reset; | ||
274 | }; | ||
158 | }; | 275 | }; |
159 | }; | 276 | }; |
diff --git a/arch/arm/boot/dts/tegra-cardhu.dts b/arch/arm/boot/dts/tegra-cardhu.dts index ab8d901b5ab6..4a166357172b 100644 --- a/arch/arm/boot/dts/tegra-cardhu.dts +++ b/arch/arm/boot/dts/tegra-cardhu.dts | |||
@@ -121,6 +121,7 @@ | |||
121 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | 121 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ |
122 | wp-gpios = <&gpio 155 0>; /* gpio PT3 */ | 122 | wp-gpios = <&gpio 155 0>; /* gpio PT3 */ |
123 | power-gpios = <&gpio 31 0>; /* gpio PD7 */ | 123 | power-gpios = <&gpio 31 0>; /* gpio PD7 */ |
124 | bus-width = <4>; | ||
124 | }; | 125 | }; |
125 | 126 | ||
126 | sdhci@78000200 { | 127 | sdhci@78000200 { |
@@ -133,6 +134,7 @@ | |||
133 | 134 | ||
134 | sdhci@78000400 { | 135 | sdhci@78000400 { |
135 | support-8bit; | 136 | support-8bit; |
137 | bus-width = <8>; | ||
136 | }; | 138 | }; |
137 | 139 | ||
138 | ahub@70080000 { | 140 | ahub@70080000 { |
diff --git a/arch/arm/boot/dts/tegra-harmony.dts b/arch/arm/boot/dts/tegra-harmony.dts index 6857cec8382d..7cd513ac5ea6 100644 --- a/arch/arm/boot/dts/tegra-harmony.dts +++ b/arch/arm/boot/dts/tegra-harmony.dts | |||
@@ -324,6 +324,7 @@ | |||
324 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | 324 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ |
325 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ | 325 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ |
326 | power-gpios = <&gpio 155 0>; /* gpio PT3 */ | 326 | power-gpios = <&gpio 155 0>; /* gpio PT3 */ |
327 | bus-width = <4>; | ||
327 | }; | 328 | }; |
328 | 329 | ||
329 | sdhci@c8000400 { | 330 | sdhci@c8000400 { |
@@ -335,6 +336,7 @@ | |||
335 | wp-gpios = <&gpio 59 0>; /* gpio PH3 */ | 336 | wp-gpios = <&gpio 59 0>; /* gpio PH3 */ |
336 | power-gpios = <&gpio 70 0>; /* gpio PI6 */ | 337 | power-gpios = <&gpio 70 0>; /* gpio PI6 */ |
337 | support-8bit; | 338 | support-8bit; |
339 | bus-width = <8>; | ||
338 | }; | 340 | }; |
339 | 341 | ||
340 | usb@c5004000 { | 342 | usb@c5004000 { |
diff --git a/arch/arm/boot/dts/tegra-paz00.dts b/arch/arm/boot/dts/tegra-paz00.dts index 34a917710e09..8d625e4c5de5 100644 --- a/arch/arm/boot/dts/tegra-paz00.dts +++ b/arch/arm/boot/dts/tegra-paz00.dts | |||
@@ -313,6 +313,7 @@ | |||
313 | cd-gpios = <&gpio 173 0>; /* gpio PV5 */ | 313 | cd-gpios = <&gpio 173 0>; /* gpio PV5 */ |
314 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ | 314 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ |
315 | power-gpios = <&gpio 169 0>; /* gpio PV1 */ | 315 | power-gpios = <&gpio 169 0>; /* gpio PV1 */ |
316 | bus-width = <4>; | ||
316 | }; | 317 | }; |
317 | 318 | ||
318 | sdhci@c8000200 { | 319 | sdhci@c8000200 { |
@@ -325,6 +326,7 @@ | |||
325 | 326 | ||
326 | sdhci@c8000600 { | 327 | sdhci@c8000600 { |
327 | support-8bit; | 328 | support-8bit; |
329 | bus-width = <8>; | ||
328 | }; | 330 | }; |
329 | 331 | ||
330 | gpio-keys { | 332 | gpio-keys { |
diff --git a/arch/arm/boot/dts/tegra-seaboard.dts b/arch/arm/boot/dts/tegra-seaboard.dts index ed0a2f5bf918..315971993cfd 100644 --- a/arch/arm/boot/dts/tegra-seaboard.dts +++ b/arch/arm/boot/dts/tegra-seaboard.dts | |||
@@ -347,10 +347,12 @@ | |||
347 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | 347 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ |
348 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ | 348 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ |
349 | power-gpios = <&gpio 70 0>; /* gpio PI6 */ | 349 | power-gpios = <&gpio 70 0>; /* gpio PI6 */ |
350 | bus-width = <4>; | ||
350 | }; | 351 | }; |
351 | 352 | ||
352 | sdhci@c8000600 { | 353 | sdhci@c8000600 { |
353 | support-8bit; | 354 | support-8bit; |
355 | bus-width = <8>; | ||
354 | }; | 356 | }; |
355 | 357 | ||
356 | usb@c5000000 { | 358 | usb@c5000000 { |
diff --git a/arch/arm/boot/dts/tegra-ventana.dts b/arch/arm/boot/dts/tegra-ventana.dts index bd074cfb338f..b922a26747e7 100644 --- a/arch/arm/boot/dts/tegra-ventana.dts +++ b/arch/arm/boot/dts/tegra-ventana.dts | |||
@@ -330,10 +330,12 @@ | |||
330 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | 330 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ |
331 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ | 331 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ |
332 | power-gpios = <&gpio 70 0>; /* gpio PI6 */ | 332 | power-gpios = <&gpio 70 0>; /* gpio PI6 */ |
333 | bus-width = <4>; | ||
333 | }; | 334 | }; |
334 | 335 | ||
335 | sdhci@c8000600 { | 336 | sdhci@c8000600 { |
336 | support-8bit; | 337 | support-8bit; |
338 | bus-width = <8>; | ||
337 | }; | 339 | }; |
338 | 340 | ||
339 | usb@c5004000 { | 341 | usb@c5004000 { |
diff --git a/arch/arm/boot/dts/twl4030.dtsi b/arch/arm/boot/dts/twl4030.dtsi new file mode 100644 index 000000000000..a94654c9eb8d --- /dev/null +++ b/arch/arm/boot/dts/twl4030.dtsi | |||
@@ -0,0 +1,39 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | |||
9 | /* | ||
10 | * Integrated Power Management Chip | ||
11 | */ | ||
12 | &twl { | ||
13 | compatible = "ti,twl4030"; | ||
14 | interrupt-controller; | ||
15 | #interrupt-cells = <1>; | ||
16 | |||
17 | rtc { | ||
18 | compatible = "ti,twl4030-rtc"; | ||
19 | interrupts = <11>; | ||
20 | }; | ||
21 | |||
22 | vdac: regulator@0 { | ||
23 | compatible = "ti,twl4030-vdac"; | ||
24 | regulator-min-microvolt = <1800000>; | ||
25 | regulator-max-microvolt = <1800000>; | ||
26 | }; | ||
27 | |||
28 | vpll2: regulator@1 { | ||
29 | compatible = "ti,twl4030-vpll2"; | ||
30 | regulator-min-microvolt = <1800000>; | ||
31 | regulator-max-microvolt = <1800000>; | ||
32 | }; | ||
33 | |||
34 | vmmc1: regulator@2 { | ||
35 | compatible = "ti,twl4030-vmmc1"; | ||
36 | regulator-min-microvolt = <1850000>; | ||
37 | regulator-max-microvolt = <3150000>; | ||
38 | }; | ||
39 | }; | ||
diff --git a/arch/arm/boot/dts/twl6030.dtsi b/arch/arm/boot/dts/twl6030.dtsi new file mode 100644 index 000000000000..3b2f3510d7eb --- /dev/null +++ b/arch/arm/boot/dts/twl6030.dtsi | |||
@@ -0,0 +1,86 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/ | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License version 2 as | ||
6 | * published by the Free Software Foundation. | ||
7 | */ | ||
8 | |||
9 | /* | ||
10 | * Integrated Power Management Chip | ||
11 | * http://www.ti.com/lit/ds/symlink/twl6030.pdf | ||
12 | */ | ||
13 | &twl { | ||
14 | compatible = "ti,twl6030"; | ||
15 | interrupt-controller; | ||
16 | #interrupt-cells = <1>; | ||
17 | |||
18 | rtc { | ||
19 | compatible = "ti,twl4030-rtc"; | ||
20 | interrupts = <11>; | ||
21 | }; | ||
22 | |||
23 | vaux1: regulator@0 { | ||
24 | compatible = "ti,twl6030-vaux1"; | ||
25 | regulator-min-microvolt = <1000000>; | ||
26 | regulator-max-microvolt = <3000000>; | ||
27 | }; | ||
28 | |||
29 | vaux2: regulator@1 { | ||
30 | compatible = "ti,twl6030-vaux2"; | ||
31 | regulator-min-microvolt = <1200000>; | ||
32 | regulator-max-microvolt = <2800000>; | ||
33 | }; | ||
34 | |||
35 | vaux3: regulator@2 { | ||
36 | compatible = "ti,twl6030-vaux3"; | ||
37 | regulator-min-microvolt = <1000000>; | ||
38 | regulator-max-microvolt = <3000000>; | ||
39 | }; | ||
40 | |||
41 | vmmc: regulator@3 { | ||
42 | compatible = "ti,twl6030-vmmc"; | ||
43 | regulator-min-microvolt = <1200000>; | ||
44 | regulator-max-microvolt = <3000000>; | ||
45 | }; | ||
46 | |||
47 | vpp: regulator@4 { | ||
48 | compatible = "ti,twl6030-vpp"; | ||
49 | regulator-min-microvolt = <1800000>; | ||
50 | regulator-max-microvolt = <2500000>; | ||
51 | }; | ||
52 | |||
53 | vusim: regulator@5 { | ||
54 | compatible = "ti,twl6030-vusim"; | ||
55 | regulator-min-microvolt = <1200000>; | ||
56 | regulator-max-microvolt = <2900000>; | ||
57 | }; | ||
58 | |||
59 | vdac: regulator@6 { | ||
60 | compatible = "ti,twl6030-vdac"; | ||
61 | }; | ||
62 | |||
63 | vana: regulator@7 { | ||
64 | compatible = "ti,twl6030-vana"; | ||
65 | }; | ||
66 | |||
67 | vcxio: regulator@8 { | ||
68 | compatible = "ti,twl6030-vcxio"; | ||
69 | }; | ||
70 | |||
71 | vusb: regulator@9 { | ||
72 | compatible = "ti,twl6030-vusb"; | ||
73 | }; | ||
74 | |||
75 | v1v8: regulator@10 { | ||
76 | compatible = "ti,twl6030-v1v8"; | ||
77 | }; | ||
78 | |||
79 | v2v1: regulator@11 { | ||
80 | compatible = "ti,twl6030-v2v1"; | ||
81 | }; | ||
82 | |||
83 | clk32kg: regulator@12 { | ||
84 | compatible = "ti,twl6030-clk32kg"; | ||
85 | }; | ||
86 | }; | ||
diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c index 098d183a0086..7302ba7ff1b9 100644 --- a/arch/arm/mach-omap2/board-generic.c +++ b/arch/arm/mach-omap2/board-generic.c | |||
@@ -15,7 +15,6 @@ | |||
15 | #include <linux/of_irq.h> | 15 | #include <linux/of_irq.h> |
16 | #include <linux/of_platform.h> | 16 | #include <linux/of_platform.h> |
17 | #include <linux/irqdomain.h> | 17 | #include <linux/irqdomain.h> |
18 | #include <linux/i2c/twl.h> | ||
19 | 18 | ||
20 | #include <mach/hardware.h> | 19 | #include <mach/hardware.h> |
21 | #include <asm/hardware/gic.h> | 20 | #include <asm/hardware/gic.h> |
@@ -95,22 +94,6 @@ MACHINE_END | |||
95 | #endif | 94 | #endif |
96 | 95 | ||
97 | #ifdef CONFIG_ARCH_OMAP3 | 96 | #ifdef CONFIG_ARCH_OMAP3 |
98 | static struct twl4030_platform_data beagle_twldata = { | ||
99 | .irq_base = TWL4030_IRQ_BASE, | ||
100 | .irq_end = TWL4030_IRQ_END, | ||
101 | }; | ||
102 | |||
103 | static void __init omap3_i2c_init(void) | ||
104 | { | ||
105 | omap3_pmic_init("twl4030", &beagle_twldata); | ||
106 | } | ||
107 | |||
108 | static void __init omap3_init(void) | ||
109 | { | ||
110 | omap3_i2c_init(); | ||
111 | omap_generic_init(); | ||
112 | } | ||
113 | |||
114 | static const char *omap3_boards_compat[] __initdata = { | 97 | static const char *omap3_boards_compat[] __initdata = { |
115 | "ti,omap3", | 98 | "ti,omap3", |
116 | NULL, | 99 | NULL, |
@@ -122,7 +105,7 @@ DT_MACHINE_START(OMAP3_DT, "Generic OMAP3 (Flattened Device Tree)") | |||
122 | .init_early = omap3430_init_early, | 105 | .init_early = omap3430_init_early, |
123 | .init_irq = omap_init_irq, | 106 | .init_irq = omap_init_irq, |
124 | .handle_irq = omap3_intc_handle_irq, | 107 | .handle_irq = omap3_intc_handle_irq, |
125 | .init_machine = omap3_init, | 108 | .init_machine = omap_generic_init, |
126 | .timer = &omap3_timer, | 109 | .timer = &omap3_timer, |
127 | .dt_compat = omap3_boards_compat, | 110 | .dt_compat = omap3_boards_compat, |
128 | .restart = omap_prcm_restart, | 111 | .restart = omap_prcm_restart, |
@@ -130,22 +113,6 @@ MACHINE_END | |||
130 | #endif | 113 | #endif |
131 | 114 | ||
132 | #ifdef CONFIG_ARCH_OMAP4 | 115 | #ifdef CONFIG_ARCH_OMAP4 |
133 | static struct twl4030_platform_data sdp4430_twldata = { | ||
134 | .irq_base = TWL6030_IRQ_BASE, | ||
135 | .irq_end = TWL6030_IRQ_END, | ||
136 | }; | ||
137 | |||
138 | static void __init omap4_i2c_init(void) | ||
139 | { | ||
140 | omap4_pmic_init("twl6030", &sdp4430_twldata, NULL, 0); | ||
141 | } | ||
142 | |||
143 | static void __init omap4_init(void) | ||
144 | { | ||
145 | omap4_i2c_init(); | ||
146 | omap_generic_init(); | ||
147 | } | ||
148 | |||
149 | static const char *omap4_boards_compat[] __initdata = { | 116 | static const char *omap4_boards_compat[] __initdata = { |
150 | "ti,omap4", | 117 | "ti,omap4", |
151 | NULL, | 118 | NULL, |
@@ -157,7 +124,7 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)") | |||
157 | .init_early = omap4430_init_early, | 124 | .init_early = omap4430_init_early, |
158 | .init_irq = omap_init_irq, | 125 | .init_irq = omap_init_irq, |
159 | .handle_irq = gic_handle_irq, | 126 | .handle_irq = gic_handle_irq, |
160 | .init_machine = omap4_init, | 127 | .init_machine = omap_generic_init, |
161 | .timer = &omap4_timer, | 128 | .timer = &omap4_timer, |
162 | .dt_compat = omap4_boards_compat, | 129 | .dt_compat = omap4_boards_compat, |
163 | .restart = omap_prcm_restart, | 130 | .restart = omap_prcm_restart, |
diff --git a/arch/arm/mach-omap2/devices.c b/arch/arm/mach-omap2/devices.c index e4336035c0ea..98cab3a204b9 100644 --- a/arch/arm/mach-omap2/devices.c +++ b/arch/arm/mach-omap2/devices.c | |||
@@ -705,7 +705,9 @@ static int __init omap2_init_devices(void) | |||
705 | omap_init_dmic(); | 705 | omap_init_dmic(); |
706 | omap_init_camera(); | 706 | omap_init_camera(); |
707 | omap_init_mbox(); | 707 | omap_init_mbox(); |
708 | omap_init_mcspi(); | 708 | /* If dtb is there, the devices will be created dynamically */ |
709 | if (!of_have_populated_dt()) | ||
710 | omap_init_mcspi(); | ||
709 | omap_init_pmu(); | 711 | omap_init_pmu(); |
710 | omap_hdq_init(); | 712 | omap_hdq_init(); |
711 | omap_init_sti(); | 713 | omap_init_sti(); |
diff --git a/arch/arm/mach-omap2/gpio.c b/arch/arm/mach-omap2/gpio.c index 2f994e5194e8..18f9c7bd7200 100644 --- a/arch/arm/mach-omap2/gpio.c +++ b/arch/arm/mach-omap2/gpio.c | |||
@@ -20,6 +20,7 @@ | |||
20 | #include <linux/err.h> | 20 | #include <linux/err.h> |
21 | #include <linux/slab.h> | 21 | #include <linux/slab.h> |
22 | #include <linux/interrupt.h> | 22 | #include <linux/interrupt.h> |
23 | #include <linux/of.h> | ||
23 | 24 | ||
24 | #include <plat/omap_hwmod.h> | 25 | #include <plat/omap_hwmod.h> |
25 | #include <plat/omap_device.h> | 26 | #include <plat/omap_device.h> |
@@ -146,7 +147,10 @@ static int __init omap2_gpio_dev_init(struct omap_hwmod *oh, void *unused) | |||
146 | */ | 147 | */ |
147 | static int __init omap2_gpio_init(void) | 148 | static int __init omap2_gpio_init(void) |
148 | { | 149 | { |
149 | return omap_hwmod_for_each_by_class("gpio", omap2_gpio_dev_init, | 150 | /* If dtb is there, the devices will be created dynamically */ |
150 | NULL); | 151 | if (of_have_populated_dt()) |
152 | return -ENODEV; | ||
153 | |||
154 | return omap_hwmod_for_each_by_class("gpio", omap2_gpio_dev_init, NULL); | ||
151 | } | 155 | } |
152 | postcore_initcall(omap2_gpio_init); | 156 | postcore_initcall(omap2_gpio_init); |