]>
Commit | Line | Data |
---|---|---|
5d0769f0 AB |
1 | /* |
2 | * Copyright 2012 Linaro Ltd | |
3 | * | |
4 | * The code contained herein is licensed under the GNU General Public | |
5 | * License. You may obtain a copy of the GNU General Public License | |
6 | * Version 2 or later at the following locations: | |
7 | * | |
8 | * http://www.opensource.org/licenses/gpl-license.html | |
9 | * http://www.gnu.org/copyleft/gpl.html | |
10 | */ | |
11 | ||
90c40257 | 12 | #include <dt-bindings/interrupt-controller/irq.h> |
841cd0c0 | 13 | #include <dt-bindings/mfd/dbx500-prcmu.h> |
807e8838 | 14 | #include "skeleton.dtsi" |
5d0769f0 AB |
15 | |
16 | / { | |
b1ba1439 | 17 | soc { |
5d0769f0 AB |
18 | #address-cells = <1>; |
19 | #size-cells = <1>; | |
7e0ce270 | 20 | compatible = "stericsson,db8500"; |
dab6487e | 21 | interrupt-parent = <&intc>; |
5d0769f0 | 22 | ranges; |
7e0ce270 | 23 | |
dab6487e LJ |
24 | intc: interrupt-controller@a0411000 { |
25 | compatible = "arm,cortex-a9-gic"; | |
26 | #interrupt-cells = <3>; | |
27 | #address-cells = <1>; | |
28 | interrupt-controller; | |
dab6487e LJ |
29 | reg = <0xa0411000 0x1000>, |
30 | <0xa0410100 0x100>; | |
31 | }; | |
32 | ||
f1949ea0 LJ |
33 | L2: l2-cache { |
34 | compatible = "arm,pl310-cache"; | |
35 | reg = <0xa0412000 0x1000>; | |
90c40257 | 36 | interrupts = <0 13 IRQ_TYPE_LEVEL_HIGH>; |
f1949ea0 LJ |
37 | cache-unified; |
38 | cache-level = <2>; | |
39 | }; | |
40 | ||
7e0ce270 LJ |
41 | pmu { |
42 | compatible = "arm,cortex-a9-pmu"; | |
90c40257 | 43 | interrupts = <0 7 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
44 | }; |
45 | ||
841cd0c0 LJ |
46 | clocks { |
47 | compatible = "stericsson,u8500-clks"; | |
48 | ||
49 | prcmu_clk: prcmu-clock { | |
50 | #clock-cells = <1>; | |
51 | }; | |
fcbe5e90 LJ |
52 | |
53 | prcc_pclk: prcc-periph-clock { | |
54 | #clock-cells = <2>; | |
55 | }; | |
2588fea6 LJ |
56 | |
57 | prcc_kclk: prcc-kernel-clock { | |
58 | #clock-cells = <2>; | |
59 | }; | |
841cd0c0 LJ |
60 | }; |
61 | ||
71de5c46 LJ |
62 | timer@a0410600 { |
63 | compatible = "arm,cortex-a9-twd-timer"; | |
64 | reg = <0xa0410600 0x20>; | |
90c40257 | 65 | interrupts = <1 13 0x304>; /* IRQ level high per-CPU */ |
71de5c46 LJ |
66 | }; |
67 | ||
7e0ce270 | 68 | rtc@80154000 { |
ddb3b99c | 69 | compatible = "arm,rtc-pl031", "arm,primecell"; |
7e0ce270 | 70 | reg = <0x80154000 0x1000>; |
90c40257 | 71 | interrupts = <0 18 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
72 | }; |
73 | ||
74 | gpio0: gpio@8012e000 { | |
75 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 76 | "st,nomadik-gpio"; |
7e0ce270 | 77 | reg = <0x8012e000 0x80>; |
90c40257 | 78 | interrupts = <0 119 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
79 | interrupt-controller; |
80 | #interrupt-cells = <2>; | |
61be4981 | 81 | st,supports-sleepmode; |
7e0ce270 | 82 | gpio-controller; |
c0b133bd LJ |
83 | #gpio-cells = <2>; |
84 | gpio-bank = <0>; | |
9d891073 LJ |
85 | |
86 | clocks = <&prcc_pclk 1 9>; | |
7e0ce270 LJ |
87 | }; |
88 | ||
89 | gpio1: gpio@8012e080 { | |
90 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 91 | "st,nomadik-gpio"; |
7e0ce270 | 92 | reg = <0x8012e080 0x80>; |
90c40257 | 93 | interrupts = <0 120 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
94 | interrupt-controller; |
95 | #interrupt-cells = <2>; | |
61be4981 | 96 | st,supports-sleepmode; |
7e0ce270 | 97 | gpio-controller; |
c0b133bd LJ |
98 | #gpio-cells = <2>; |
99 | gpio-bank = <1>; | |
9d891073 LJ |
100 | |
101 | clocks = <&prcc_pclk 1 9>; | |
7e0ce270 LJ |
102 | }; |
103 | ||
104 | gpio2: gpio@8000e000 { | |
105 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 106 | "st,nomadik-gpio"; |
7e0ce270 | 107 | reg = <0x8000e000 0x80>; |
90c40257 | 108 | interrupts = <0 121 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
109 | interrupt-controller; |
110 | #interrupt-cells = <2>; | |
61be4981 | 111 | st,supports-sleepmode; |
7e0ce270 | 112 | gpio-controller; |
c0b133bd LJ |
113 | #gpio-cells = <2>; |
114 | gpio-bank = <2>; | |
9d891073 LJ |
115 | |
116 | clocks = <&prcc_pclk 3 8>; | |
7e0ce270 LJ |
117 | }; |
118 | ||
119 | gpio3: gpio@8000e080 { | |
120 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 121 | "st,nomadik-gpio"; |
7e0ce270 | 122 | reg = <0x8000e080 0x80>; |
90c40257 | 123 | interrupts = <0 122 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
124 | interrupt-controller; |
125 | #interrupt-cells = <2>; | |
61be4981 | 126 | st,supports-sleepmode; |
7e0ce270 | 127 | gpio-controller; |
c0b133bd LJ |
128 | #gpio-cells = <2>; |
129 | gpio-bank = <3>; | |
9d891073 LJ |
130 | |
131 | clocks = <&prcc_pclk 3 8>; | |
7e0ce270 LJ |
132 | }; |
133 | ||
134 | gpio4: gpio@8000e100 { | |
135 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 136 | "st,nomadik-gpio"; |
7e0ce270 | 137 | reg = <0x8000e100 0x80>; |
90c40257 | 138 | interrupts = <0 123 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
139 | interrupt-controller; |
140 | #interrupt-cells = <2>; | |
61be4981 | 141 | st,supports-sleepmode; |
7e0ce270 | 142 | gpio-controller; |
c0b133bd LJ |
143 | #gpio-cells = <2>; |
144 | gpio-bank = <4>; | |
9d891073 LJ |
145 | |
146 | clocks = <&prcc_pclk 3 8>; | |
7e0ce270 LJ |
147 | }; |
148 | ||
149 | gpio5: gpio@8000e180 { | |
150 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 151 | "st,nomadik-gpio"; |
7e0ce270 | 152 | reg = <0x8000e180 0x80>; |
90c40257 | 153 | interrupts = <0 124 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
154 | interrupt-controller; |
155 | #interrupt-cells = <2>; | |
61be4981 | 156 | st,supports-sleepmode; |
7e0ce270 | 157 | gpio-controller; |
c0b133bd LJ |
158 | #gpio-cells = <2>; |
159 | gpio-bank = <5>; | |
9d891073 LJ |
160 | |
161 | clocks = <&prcc_pclk 3 8>; | |
7e0ce270 LJ |
162 | }; |
163 | ||
164 | gpio6: gpio@8011e000 { | |
165 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 166 | "st,nomadik-gpio"; |
7e0ce270 | 167 | reg = <0x8011e000 0x80>; |
90c40257 | 168 | interrupts = <0 125 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
169 | interrupt-controller; |
170 | #interrupt-cells = <2>; | |
61be4981 | 171 | st,supports-sleepmode; |
7e0ce270 | 172 | gpio-controller; |
c0b133bd LJ |
173 | #gpio-cells = <2>; |
174 | gpio-bank = <6>; | |
9d891073 LJ |
175 | |
176 | clocks = <&prcc_pclk 2 1>; | |
7e0ce270 LJ |
177 | }; |
178 | ||
179 | gpio7: gpio@8011e080 { | |
180 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 181 | "st,nomadik-gpio"; |
7e0ce270 | 182 | reg = <0x8011e080 0x80>; |
90c40257 | 183 | interrupts = <0 126 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
184 | interrupt-controller; |
185 | #interrupt-cells = <2>; | |
61be4981 | 186 | st,supports-sleepmode; |
7e0ce270 | 187 | gpio-controller; |
c0b133bd LJ |
188 | #gpio-cells = <2>; |
189 | gpio-bank = <7>; | |
9d891073 LJ |
190 | |
191 | clocks = <&prcc_pclk 2 1>; | |
7e0ce270 LJ |
192 | }; |
193 | ||
194 | gpio8: gpio@a03fe000 { | |
195 | compatible = "stericsson,db8500-gpio", | |
fd9a80b2 | 196 | "st,nomadik-gpio"; |
7e0ce270 | 197 | reg = <0xa03fe000 0x80>; |
90c40257 | 198 | interrupts = <0 127 IRQ_TYPE_LEVEL_HIGH>; |
93b5698a LJ |
199 | interrupt-controller; |
200 | #interrupt-cells = <2>; | |
61be4981 | 201 | st,supports-sleepmode; |
7e0ce270 | 202 | gpio-controller; |
c0b133bd LJ |
203 | #gpio-cells = <2>; |
204 | gpio-bank = <8>; | |
9d891073 LJ |
205 | |
206 | clocks = <&prcc_pclk 6 1>; | |
7e0ce270 LJ |
207 | }; |
208 | ||
8979cfef | 209 | pinctrl { |
818d99a9 | 210 | compatible = "stericsson,db8500-pinctrl"; |
8979cfef | 211 | prcm = <&prcmu>; |
5910de9e LJ |
212 | }; |
213 | ||
b32dc865 | 214 | usb_per5@a03e0000 { |
4a6cd43f | 215 | compatible = "stericsson,db8500-musb"; |
7e0ce270 | 216 | reg = <0xa03e0000 0x10000>; |
90c40257 | 217 | interrupts = <0 23 IRQ_TYPE_LEVEL_HIGH>; |
b32dc865 LJ |
218 | interrupt-names = "mc"; |
219 | ||
220 | dr_mode = "otg"; | |
221 | ||
222 | dmas = <&dma 38 0 0x2>, /* Logical - DevToMem */ | |
223 | <&dma 38 0 0x0>, /* Logical - MemToDev */ | |
224 | <&dma 37 0 0x2>, /* Logical - DevToMem */ | |
225 | <&dma 37 0 0x0>, /* Logical - MemToDev */ | |
226 | <&dma 36 0 0x2>, /* Logical - DevToMem */ | |
227 | <&dma 36 0 0x0>, /* Logical - MemToDev */ | |
228 | <&dma 19 0 0x2>, /* Logical - DevToMem */ | |
229 | <&dma 19 0 0x0>, /* Logical - MemToDev */ | |
230 | <&dma 18 0 0x2>, /* Logical - DevToMem */ | |
231 | <&dma 18 0 0x0>, /* Logical - MemToDev */ | |
232 | <&dma 17 0 0x2>, /* Logical - DevToMem */ | |
233 | <&dma 17 0 0x0>, /* Logical - MemToDev */ | |
234 | <&dma 16 0 0x2>, /* Logical - DevToMem */ | |
235 | <&dma 16 0 0x0>, /* Logical - MemToDev */ | |
236 | <&dma 39 0 0x2>, /* Logical - DevToMem */ | |
237 | <&dma 39 0 0x0>; /* Logical - MemToDev */ | |
238 | ||
239 | dma-names = "iep_1_9", "oep_1_9", | |
240 | "iep_2_10", "oep_2_10", | |
241 | "iep_3_11", "oep_3_11", | |
242 | "iep_4_12", "oep_4_12", | |
243 | "iep_5_13", "oep_5_13", | |
244 | "iep_6_14", "oep_6_14", | |
245 | "iep_7_15", "oep_7_15", | |
246 | "iep_8", "oep_8"; | |
e47339ff LJ |
247 | |
248 | clocks = <&prcc_pclk 5 0>; | |
7e0ce270 LJ |
249 | }; |
250 | ||
ba074aec LJ |
251 | dma: dma-controller@801C0000 { |
252 | compatible = "stericsson,db8500-dma40", "stericsson,dma40"; | |
7e0ce270 | 253 | reg = <0x801C0000 0x1000 0x40010000 0x800>; |
70d39a8d | 254 | reg-names = "base", "lcpa"; |
90c40257 | 255 | interrupts = <0 25 IRQ_TYPE_LEVEL_HIGH>; |
ba074aec LJ |
256 | |
257 | #dma-cells = <3>; | |
d37fcdb6 | 258 | memcpy-channels = <56 57 58 59 60>; |
e064cb24 LJ |
259 | |
260 | clocks = <&prcmu_clk PRCMU_DMACLK>; | |
7e0ce270 LJ |
261 | }; |
262 | ||
8979cfef | 263 | prcmu: prcmu@80157000 { |
7e0ce270 | 264 | compatible = "stericsson,db8500-prcmu"; |
4d26aa30 | 265 | reg = <0x80157000 0x2000>, <0x801b0000 0x8000>, <0x801b8000 0x1000>; |
e73081d9 | 266 | reg-names = "prcmu", "prcmu-tcpm", "prcmu-tcdm"; |
90c40257 | 267 | interrupts = <0 47 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 | 268 | #address-cells = <1>; |
3de3d749 | 269 | #size-cells = <1>; |
c09090bb LJ |
270 | interrupt-controller; |
271 | #interrupt-cells = <2>; | |
3de3d749 LJ |
272 | ranges; |
273 | ||
ccf74f76 | 274 | prcmu-timer-4@80157450 { |
3de3d749 LJ |
275 | compatible = "stericsson,db8500-prcmu-timer-4"; |
276 | reg = <0x80157450 0xC>; | |
277 | }; | |
7e0ce270 | 278 | |
dc1956b5 | 279 | thermal@801573c0 { |
280 | compatible = "stericsson,db8500-thermal"; | |
281 | reg = <0x801573c0 0x40>; | |
90c40257 LW |
282 | interrupts = <21 IRQ_TYPE_LEVEL_HIGH>, |
283 | <22 IRQ_TYPE_LEVEL_HIGH>; | |
dc1956b5 | 284 | interrupt-names = "IRQ_HOTMON_LOW", "IRQ_HOTMON_HIGH"; |
285 | status = "disabled"; | |
1d3f99f5 | 286 | }; |
dc1956b5 | 287 | |
e5999f28 LJ |
288 | db8500-prcmu-regulators { |
289 | compatible = "stericsson,db8500-prcmu-regulator"; | |
290 | ||
291 | // DB8500_REGULATOR_VAPE | |
292 | db8500_vape_reg: db8500_vape { | |
da26848a | 293 | regulator-compatible = "db8500_vape"; |
e5999f28 LJ |
294 | regulator-always-on; |
295 | }; | |
296 | ||
297 | // DB8500_REGULATOR_VARM | |
298 | db8500_varm_reg: db8500_varm { | |
da26848a | 299 | regulator-compatible = "db8500_varm"; |
e5999f28 LJ |
300 | }; |
301 | ||
302 | // DB8500_REGULATOR_VMODEM | |
303 | db8500_vmodem_reg: db8500_vmodem { | |
da26848a | 304 | regulator-compatible = "db8500_vmodem"; |
e5999f28 LJ |
305 | }; |
306 | ||
307 | // DB8500_REGULATOR_VPLL | |
308 | db8500_vpll_reg: db8500_vpll { | |
da26848a | 309 | regulator-compatible = "db8500_vpll"; |
e5999f28 LJ |
310 | }; |
311 | ||
312 | // DB8500_REGULATOR_VSMPS1 | |
313 | db8500_vsmps1_reg: db8500_vsmps1 { | |
da26848a | 314 | regulator-compatible = "db8500_vsmps1"; |
e5999f28 LJ |
315 | }; |
316 | ||
317 | // DB8500_REGULATOR_VSMPS2 | |
318 | db8500_vsmps2_reg: db8500_vsmps2 { | |
da26848a | 319 | regulator-compatible = "db8500_vsmps2"; |
e5999f28 LJ |
320 | }; |
321 | ||
322 | // DB8500_REGULATOR_VSMPS3 | |
323 | db8500_vsmps3_reg: db8500_vsmps3 { | |
da26848a | 324 | regulator-compatible = "db8500_vsmps3"; |
e5999f28 LJ |
325 | }; |
326 | ||
327 | // DB8500_REGULATOR_VRF1 | |
328 | db8500_vrf1_reg: db8500_vrf1 { | |
da26848a | 329 | regulator-compatible = "db8500_vrf1"; |
e5999f28 LJ |
330 | }; |
331 | ||
332 | // DB8500_REGULATOR_SWITCH_SVAMMDSP | |
333 | db8500_sva_mmdsp_reg: db8500_sva_mmdsp { | |
da26848a | 334 | regulator-compatible = "db8500_sva_mmdsp"; |
e5999f28 LJ |
335 | }; |
336 | ||
337 | // DB8500_REGULATOR_SWITCH_SVAMMDSPRET | |
338 | db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret { | |
da26848a | 339 | regulator-compatible = "db8500_sva_mmdsp_ret"; |
e5999f28 LJ |
340 | }; |
341 | ||
342 | // DB8500_REGULATOR_SWITCH_SVAPIPE | |
343 | db8500_sva_pipe_reg: db8500_sva_pipe { | |
da26848a | 344 | regulator-compatible = "db8500_sva_pipe"; |
e5999f28 LJ |
345 | }; |
346 | ||
347 | // DB8500_REGULATOR_SWITCH_SIAMMDSP | |
348 | db8500_sia_mmdsp_reg: db8500_sia_mmdsp { | |
da26848a | 349 | regulator-compatible = "db8500_sia_mmdsp"; |
e5999f28 LJ |
350 | }; |
351 | ||
352 | // DB8500_REGULATOR_SWITCH_SIAMMDSPRET | |
353 | db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret { | |
e5999f28 LJ |
354 | }; |
355 | ||
356 | // DB8500_REGULATOR_SWITCH_SIAPIPE | |
357 | db8500_sia_pipe_reg: db8500_sia_pipe { | |
da26848a | 358 | regulator-compatible = "db8500_sia_pipe"; |
e5999f28 LJ |
359 | }; |
360 | ||
361 | // DB8500_REGULATOR_SWITCH_SGA | |
362 | db8500_sga_reg: db8500_sga { | |
da26848a | 363 | regulator-compatible = "db8500_sga"; |
e5999f28 LJ |
364 | vin-supply = <&db8500_vape_reg>; |
365 | }; | |
366 | ||
367 | // DB8500_REGULATOR_SWITCH_B2R2_MCDE | |
368 | db8500_b2r2_mcde_reg: db8500_b2r2_mcde { | |
da26848a | 369 | regulator-compatible = "db8500_b2r2_mcde"; |
e5999f28 LJ |
370 | vin-supply = <&db8500_vape_reg>; |
371 | }; | |
372 | ||
373 | // DB8500_REGULATOR_SWITCH_ESRAM12 | |
374 | db8500_esram12_reg: db8500_esram12 { | |
da26848a | 375 | regulator-compatible = "db8500_esram12"; |
e5999f28 LJ |
376 | }; |
377 | ||
378 | // DB8500_REGULATOR_SWITCH_ESRAM12RET | |
379 | db8500_esram12_ret_reg: db8500_esram12_ret { | |
da26848a | 380 | regulator-compatible = "db8500_esram12_ret"; |
e5999f28 LJ |
381 | }; |
382 | ||
383 | // DB8500_REGULATOR_SWITCH_ESRAM34 | |
384 | db8500_esram34_reg: db8500_esram34 { | |
da26848a | 385 | regulator-compatible = "db8500_esram34"; |
e5999f28 LJ |
386 | }; |
387 | ||
388 | // DB8500_REGULATOR_SWITCH_ESRAM34RET | |
389 | db8500_esram34_ret_reg: db8500_esram34_ret { | |
da26848a | 390 | regulator-compatible = "db8500_esram34_ret"; |
e5999f28 LJ |
391 | }; |
392 | }; | |
393 | ||
d52701d3 | 394 | ab8500 { |
7e0ce270 | 395 | compatible = "stericsson,ab8500"; |
8d4c6d45 | 396 | interrupt-parent = <&intc>; |
90c40257 | 397 | interrupts = <0 40 IRQ_TYPE_LEVEL_HIGH>; |
732973c8 LJ |
398 | interrupt-controller; |
399 | #interrupt-cells = <2>; | |
4a85c7fa | 400 | |
348f3bc6 LJ |
401 | ab8500_gpio: ab8500-gpio { |
402 | gpio-controller; | |
403 | #gpio-cells = <2>; | |
404 | }; | |
405 | ||
d4b29ac1 LJ |
406 | ab8500-rtc { |
407 | compatible = "stericsson,ab8500-rtc"; | |
90c40257 LW |
408 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH |
409 | 18 IRQ_TYPE_LEVEL_HIGH>; | |
d4b29ac1 LJ |
410 | interrupt-names = "60S", "ALARM"; |
411 | }; | |
412 | ||
4eda9129 LJ |
413 | ab8500-gpadc { |
414 | compatible = "stericsson,ab8500-gpadc"; | |
90c40257 LW |
415 | interrupts = <32 IRQ_TYPE_LEVEL_HIGH |
416 | 39 IRQ_TYPE_LEVEL_HIGH>; | |
4eda9129 LJ |
417 | interrupt-names = "HW_CONV_END", "SW_CONV_END"; |
418 | vddadc-supply = <&ab8500_ldo_tvout_reg>; | |
419 | }; | |
420 | ||
e0f1abeb R |
421 | ab8500_battery: ab8500_battery { |
422 | stericsson,battery-type = "LIPO"; | |
423 | thermistor-on-batctrl; | |
424 | }; | |
425 | ||
426 | ab8500_fg { | |
427 | compatible = "stericsson,ab8500-fg"; | |
428 | battery = <&ab8500_battery>; | |
429 | }; | |
430 | ||
bd9e8ab2 R |
431 | ab8500_btemp { |
432 | compatible = "stericsson,ab8500-btemp"; | |
433 | battery = <&ab8500_battery>; | |
434 | }; | |
435 | ||
4aef72db R |
436 | ab8500_charger { |
437 | compatible = "stericsson,ab8500-charger"; | |
438 | battery = <&ab8500_battery>; | |
439 | vddadc-supply = <&ab8500_ldo_tvout_reg>; | |
440 | }; | |
441 | ||
a12810ab R |
442 | ab8500_chargalg { |
443 | compatible = "stericsson,ab8500-chargalg"; | |
444 | battery = <&ab8500_battery>; | |
445 | }; | |
446 | ||
e0f1abeb | 447 | ab8500_usb { |
ee189cef | 448 | compatible = "stericsson,ab8500-usb"; |
90c40257 LW |
449 | interrupts = < 90 IRQ_TYPE_LEVEL_HIGH |
450 | 96 IRQ_TYPE_LEVEL_HIGH | |
451 | 14 IRQ_TYPE_LEVEL_HIGH | |
452 | 15 IRQ_TYPE_LEVEL_HIGH | |
453 | 79 IRQ_TYPE_LEVEL_HIGH | |
454 | 74 IRQ_TYPE_LEVEL_HIGH | |
455 | 75 IRQ_TYPE_LEVEL_HIGH>; | |
ee189cef LJ |
456 | interrupt-names = "ID_WAKEUP_R", |
457 | "ID_WAKEUP_F", | |
458 | "VBUS_DET_F", | |
459 | "VBUS_DET_R", | |
460 | "USB_LINK_STATUS", | |
461 | "USB_ADP_PROBE_PLUG", | |
462 | "USB_ADP_PROBE_UNPLUG"; | |
99b38eef | 463 | vddulpivio18-supply = <&ab8500_ldo_intcore_reg>; |
ee189cef LJ |
464 | v-ape-supply = <&db8500_vape_reg>; |
465 | musb_1v8-supply = <&db8500_vsmps2_reg>; | |
466 | }; | |
467 | ||
12cb7bd4 | 468 | ab8500-ponkey { |
74630706 | 469 | compatible = "stericsson,ab8500-poweron-key"; |
90c40257 LW |
470 | interrupts = <6 IRQ_TYPE_LEVEL_HIGH |
471 | 7 IRQ_TYPE_LEVEL_HIGH>; | |
12cb7bd4 LJ |
472 | interrupt-names = "ONKEY_DBF", "ONKEY_DBR"; |
473 | }; | |
474 | ||
401cd1b8 LJ |
475 | ab8500-sysctrl { |
476 | compatible = "stericsson,ab8500-sysctrl"; | |
477 | }; | |
478 | ||
78451de7 LJ |
479 | ab8500-pwm { |
480 | compatible = "stericsson,ab8500-pwm"; | |
481 | }; | |
482 | ||
215891ec LJ |
483 | ab8500-debugfs { |
484 | compatible = "stericsson,ab8500-debug"; | |
485 | }; | |
4a85c7fa | 486 | |
9c06af30 LJ |
487 | codec: ab8500-codec { |
488 | compatible = "stericsson,ab8500-codec"; | |
489 | ||
f99808a6 FB |
490 | V-AUD-supply = <&ab8500_ldo_audio_reg>; |
491 | V-AMIC1-supply = <&ab8500_ldo_anamic1_reg>; | |
492 | V-AMIC2-supply = <&ab8500_ldo_anamic2_reg>; | |
493 | V-DMIC-supply = <&ab8500_ldo_dmic_reg>; | |
494 | ||
9c06af30 LJ |
495 | stericsson,earpeice-cmv = <950>; /* Units in mV. */ |
496 | }; | |
497 | ||
62ebfe6b LJ |
498 | ext_regulators: ab8500-ext-regulators { |
499 | compatible = "stericsson,ab8500-ext-regulator"; | |
500 | ||
501 | ab8500_ext1_reg: ab8500_ext1 { | |
502 | regulator-compatible = "ab8500_ext1"; | |
503 | regulator-min-microvolt = <1800000>; | |
504 | regulator-max-microvolt = <1800000>; | |
505 | regulator-boot-on; | |
506 | regulator-always-on; | |
507 | }; | |
508 | ||
509 | ab8500_ext2_reg: ab8500_ext2 { | |
510 | regulator-compatible = "ab8500_ext2"; | |
511 | regulator-min-microvolt = <1360000>; | |
512 | regulator-max-microvolt = <1360000>; | |
513 | regulator-boot-on; | |
514 | regulator-always-on; | |
515 | }; | |
516 | ||
517 | ab8500_ext3_reg: ab8500_ext3 { | |
518 | regulator-compatible = "ab8500_ext3"; | |
519 | regulator-min-microvolt = <3400000>; | |
520 | regulator-max-microvolt = <3400000>; | |
521 | regulator-boot-on; | |
522 | }; | |
523 | }; | |
524 | ||
4a85c7fa LJ |
525 | ab8500-regulators { |
526 | compatible = "stericsson,ab8500-regulator"; | |
75f0999a | 527 | vin-supply = <&ab8500_ext3_reg>; |
4a85c7fa LJ |
528 | |
529 | // supplies to the display/camera | |
530 | ab8500_ldo_aux1_reg: ab8500_ldo_aux1 { | |
da26848a | 531 | regulator-compatible = "ab8500_ldo_aux1"; |
4a85c7fa LJ |
532 | regulator-min-microvolt = <2500000>; |
533 | regulator-max-microvolt = <2900000>; | |
534 | regulator-boot-on; | |
535 | /* BUG: If turned off MMC will be affected. */ | |
536 | regulator-always-on; | |
537 | }; | |
538 | ||
539 | // supplies to the on-board eMMC | |
540 | ab8500_ldo_aux2_reg: ab8500_ldo_aux2 { | |
da26848a | 541 | regulator-compatible = "ab8500_ldo_aux2"; |
4a85c7fa LJ |
542 | regulator-min-microvolt = <1100000>; |
543 | regulator-max-microvolt = <3300000>; | |
544 | }; | |
545 | ||
546 | // supply for VAUX3; SDcard slots | |
547 | ab8500_ldo_aux3_reg: ab8500_ldo_aux3 { | |
da26848a | 548 | regulator-compatible = "ab8500_ldo_aux3"; |
4a85c7fa LJ |
549 | regulator-min-microvolt = <1100000>; |
550 | regulator-max-microvolt = <3300000>; | |
551 | }; | |
552 | ||
553 | // supply for v-intcore12; VINTCORE12 LDO | |
99b38eef FB |
554 | ab8500_ldo_intcore_reg: ab8500_ldo_intcore { |
555 | regulator-compatible = "ab8500_ldo_intcore"; | |
4a85c7fa LJ |
556 | }; |
557 | ||
558 | // supply for tvout; gpadc; TVOUT LDO | |
559 | ab8500_ldo_tvout_reg: ab8500_ldo_tvout { | |
da26848a | 560 | regulator-compatible = "ab8500_ldo_tvout"; |
4a85c7fa LJ |
561 | }; |
562 | ||
563 | // supply for ab8500-usb; USB LDO | |
564 | ab8500_ldo_usb_reg: ab8500_ldo_usb { | |
da26848a | 565 | regulator-compatible = "ab8500_ldo_usb"; |
4a85c7fa LJ |
566 | }; |
567 | ||
568 | // supply for ab8500-vaudio; VAUDIO LDO | |
569 | ab8500_ldo_audio_reg: ab8500_ldo_audio { | |
da26848a | 570 | regulator-compatible = "ab8500_ldo_audio"; |
4a85c7fa LJ |
571 | }; |
572 | ||
4aa44874 | 573 | // supply for v-anamic1 VAMIC1 LDO |
4a85c7fa | 574 | ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 { |
da26848a | 575 | regulator-compatible = "ab8500_ldo_anamic1"; |
4a85c7fa LJ |
576 | }; |
577 | ||
578 | // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1 | |
5510ed9f FB |
579 | ab8500_ldo_anamic2_reg: ab8500_ldo_anamic2 { |
580 | regulator-compatible = "ab8500_ldo_anamic2"; | |
4a85c7fa LJ |
581 | }; |
582 | ||
583 | // supply for v-dmic; VDMIC LDO | |
584 | ab8500_ldo_dmic_reg: ab8500_ldo_dmic { | |
da26848a | 585 | regulator-compatible = "ab8500_ldo_dmic"; |
4a85c7fa LJ |
586 | }; |
587 | ||
588 | // supply for U8500 CSI/DSI; VANA LDO | |
589 | ab8500_ldo_ana_reg: ab8500_ldo_ana { | |
da26848a | 590 | regulator-compatible = "ab8500_ldo_ana"; |
4a85c7fa LJ |
591 | }; |
592 | }; | |
7e0ce270 LJ |
593 | }; |
594 | }; | |
595 | ||
596 | i2c@80004000 { | |
d524fa7f | 597 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 598 | reg = <0x80004000 0x1000>; |
90c40257 | 599 | interrupts = <0 21 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 600 | |
7e0ce270 LJ |
601 | #address-cells = <1>; |
602 | #size-cells = <0>; | |
d524fa7f LJ |
603 | v-i2c-supply = <&db8500_vape_reg>; |
604 | ||
605 | clock-frequency = <400000>; | |
afd653e9 LJ |
606 | clocks = <&prcc_kclk 3 3>, <&prcc_pclk 3 3>; |
607 | clock-names = "i2cclk", "apb_pclk"; | |
7e0ce270 LJ |
608 | }; |
609 | ||
610 | i2c@80122000 { | |
d524fa7f | 611 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 612 | reg = <0x80122000 0x1000>; |
90c40257 | 613 | interrupts = <0 22 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 614 | |
7e0ce270 LJ |
615 | #address-cells = <1>; |
616 | #size-cells = <0>; | |
d524fa7f LJ |
617 | v-i2c-supply = <&db8500_vape_reg>; |
618 | ||
619 | clock-frequency = <400000>; | |
afd653e9 LJ |
620 | |
621 | clocks = <&prcc_kclk 1 2>, <&prcc_pclk 1 2>; | |
622 | clock-names = "i2cclk", "apb_pclk"; | |
7e0ce270 LJ |
623 | }; |
624 | ||
625 | i2c@80128000 { | |
d524fa7f | 626 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 627 | reg = <0x80128000 0x1000>; |
90c40257 | 628 | interrupts = <0 55 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 629 | |
7e0ce270 LJ |
630 | #address-cells = <1>; |
631 | #size-cells = <0>; | |
d524fa7f LJ |
632 | v-i2c-supply = <&db8500_vape_reg>; |
633 | ||
634 | clock-frequency = <400000>; | |
afd653e9 LJ |
635 | |
636 | clocks = <&prcc_kclk 1 6>, <&prcc_pclk 1 6>; | |
637 | clock-names = "i2cclk", "apb_pclk"; | |
7e0ce270 LJ |
638 | }; |
639 | ||
640 | i2c@80110000 { | |
d524fa7f | 641 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 642 | reg = <0x80110000 0x1000>; |
90c40257 | 643 | interrupts = <0 12 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 644 | |
7e0ce270 LJ |
645 | #address-cells = <1>; |
646 | #size-cells = <0>; | |
d524fa7f LJ |
647 | v-i2c-supply = <&db8500_vape_reg>; |
648 | ||
649 | clock-frequency = <400000>; | |
afd653e9 LJ |
650 | |
651 | clocks = <&prcc_kclk 2 0>, <&prcc_pclk 2 0>; | |
652 | clock-names = "i2cclk", "apb_pclk"; | |
7e0ce270 LJ |
653 | }; |
654 | ||
655 | i2c@8012a000 { | |
d524fa7f | 656 | compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell"; |
7e0ce270 | 657 | reg = <0x8012a000 0x1000>; |
90c40257 | 658 | interrupts = <0 51 IRQ_TYPE_LEVEL_HIGH>; |
35b33d23 | 659 | |
7e0ce270 LJ |
660 | #address-cells = <1>; |
661 | #size-cells = <0>; | |
d524fa7f LJ |
662 | v-i2c-supply = <&db8500_vape_reg>; |
663 | ||
664 | clock-frequency = <400000>; | |
afd653e9 LJ |
665 | |
666 | clocks = <&prcc_kclk 1 9>, <&prcc_pclk 1 9>; | |
667 | clock-names = "i2cclk", "apb_pclk"; | |
7e0ce270 LJ |
668 | }; |
669 | ||
670 | ssp@80002000 { | |
671 | compatible = "arm,pl022", "arm,primecell"; | |
c164fa62 | 672 | reg = <0x80002000 0x1000>; |
90c40257 | 673 | interrupts = <0 14 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
674 | #address-cells = <1>; |
675 | #size-cells = <0>; | |
676 | status = "disabled"; | |
7e0ce270 LJ |
677 | }; |
678 | ||
679 | uart@80120000 { | |
680 | compatible = "arm,pl011", "arm,primecell"; | |
681 | reg = <0x80120000 0x1000>; | |
90c40257 | 682 | interrupts = <0 11 IRQ_TYPE_LEVEL_HIGH>; |
fbff01cc LJ |
683 | |
684 | dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */ | |
685 | <&dma 13 0 0x0>; /* Logical - MemToDev */ | |
686 | dma-names = "rx", "tx"; | |
687 | ||
5a323fb4 LJ |
688 | clocks = <&prcc_kclk 1 0>, <&prcc_pclk 1 0>; |
689 | clock-names = "uart", "apb_pclk"; | |
690 | ||
7e0ce270 LJ |
691 | status = "disabled"; |
692 | }; | |
fbff01cc | 693 | |
7e0ce270 LJ |
694 | uart@80121000 { |
695 | compatible = "arm,pl011", "arm,primecell"; | |
696 | reg = <0x80121000 0x1000>; | |
90c40257 | 697 | interrupts = <0 19 IRQ_TYPE_LEVEL_HIGH>; |
fbff01cc LJ |
698 | |
699 | dmas = <&dma 12 0 0x2>, /* Logical - DevToMem */ | |
700 | <&dma 12 0 0x0>; /* Logical - MemToDev */ | |
701 | dma-names = "rx", "tx"; | |
702 | ||
5a323fb4 LJ |
703 | clocks = <&prcc_kclk 1 1>, <&prcc_pclk 1 1>; |
704 | clock-names = "uart", "apb_pclk"; | |
705 | ||
7e0ce270 LJ |
706 | status = "disabled"; |
707 | }; | |
fbff01cc | 708 | |
7e0ce270 LJ |
709 | uart@80007000 { |
710 | compatible = "arm,pl011", "arm,primecell"; | |
711 | reg = <0x80007000 0x1000>; | |
90c40257 | 712 | interrupts = <0 26 IRQ_TYPE_LEVEL_HIGH>; |
fbff01cc LJ |
713 | |
714 | dmas = <&dma 11 0 0x2>, /* Logical - DevToMem */ | |
715 | <&dma 11 0 0x0>; /* Logical - MemToDev */ | |
716 | dma-names = "rx", "tx"; | |
717 | ||
5a323fb4 LJ |
718 | clocks = <&prcc_kclk 3 6>, <&prcc_pclk 3 6>; |
719 | clock-names = "uart", "apb_pclk"; | |
720 | ||
7e0ce270 LJ |
721 | status = "disabled"; |
722 | }; | |
723 | ||
81bf8c2e | 724 | sdi0_per1@80126000 { |
7e0ce270 LJ |
725 | compatible = "arm,pl18x", "arm,primecell"; |
726 | reg = <0x80126000 0x1000>; | |
90c40257 | 727 | interrupts = <0 60 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
728 | |
729 | dmas = <&dma 29 0 0x2>, /* Logical - DevToMem */ | |
730 | <&dma 29 0 0x0>; /* Logical - MemToDev */ | |
731 | dma-names = "rx", "tx"; | |
732 | ||
7e0ce270 LJ |
733 | status = "disabled"; |
734 | }; | |
76ff4e43 | 735 | |
81bf8c2e | 736 | sdi1_per2@80118000 { |
7e0ce270 LJ |
737 | compatible = "arm,pl18x", "arm,primecell"; |
738 | reg = <0x80118000 0x1000>; | |
90c40257 | 739 | interrupts = <0 50 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
740 | |
741 | dmas = <&dma 32 0 0x2>, /* Logical - DevToMem */ | |
742 | <&dma 32 0 0x0>; /* Logical - MemToDev */ | |
743 | dma-names = "rx", "tx"; | |
744 | ||
7e0ce270 LJ |
745 | status = "disabled"; |
746 | }; | |
76ff4e43 | 747 | |
81bf8c2e | 748 | sdi2_per3@80005000 { |
7e0ce270 LJ |
749 | compatible = "arm,pl18x", "arm,primecell"; |
750 | reg = <0x80005000 0x1000>; | |
90c40257 | 751 | interrupts = <0 41 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
752 | |
753 | dmas = <&dma 28 0 0x2>, /* Logical - DevToMem */ | |
754 | <&dma 28 0 0x0>; /* Logical - MemToDev */ | |
755 | dma-names = "rx", "tx"; | |
756 | ||
7e0ce270 LJ |
757 | status = "disabled"; |
758 | }; | |
76ff4e43 | 759 | |
81bf8c2e | 760 | sdi3_per2@80119000 { |
7e0ce270 LJ |
761 | compatible = "arm,pl18x", "arm,primecell"; |
762 | reg = <0x80119000 0x1000>; | |
90c40257 | 763 | interrupts = <0 59 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
764 | status = "disabled"; |
765 | }; | |
76ff4e43 | 766 | |
81bf8c2e | 767 | sdi4_per2@80114000 { |
7e0ce270 LJ |
768 | compatible = "arm,pl18x", "arm,primecell"; |
769 | reg = <0x80114000 0x1000>; | |
90c40257 | 770 | interrupts = <0 99 IRQ_TYPE_LEVEL_HIGH>; |
498315b9 LJ |
771 | |
772 | dmas = <&dma 42 0 0x2>, /* Logical - DevToMem */ | |
773 | <&dma 42 0 0x0>; /* Logical - MemToDev */ | |
774 | dma-names = "rx", "tx"; | |
775 | ||
7e0ce270 LJ |
776 | status = "disabled"; |
777 | }; | |
76ff4e43 | 778 | |
81bf8c2e | 779 | sdi5_per3@80008000 { |
7e0ce270 | 780 | compatible = "arm,pl18x", "arm,primecell"; |
76ff4e43 | 781 | reg = <0x80008000 0x1000>; |
90c40257 | 782 | interrupts = <0 100 IRQ_TYPE_LEVEL_HIGH>; |
7e0ce270 LJ |
783 | status = "disabled"; |
784 | }; | |
bf76e062 | 785 | |
fe164529 LJ |
786 | msp0: msp@80123000 { |
787 | compatible = "stericsson,ux500-msp-i2s"; | |
788 | reg = <0x80123000 0x1000>; | |
90c40257 | 789 | interrupts = <0 31 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 LJ |
790 | v-ape-supply = <&db8500_vape_reg>; |
791 | status = "disabled"; | |
792 | }; | |
793 | ||
794 | msp1: msp@80124000 { | |
795 | compatible = "stericsson,ux500-msp-i2s"; | |
796 | reg = <0x80124000 0x1000>; | |
90c40257 | 797 | interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 LJ |
798 | v-ape-supply = <&db8500_vape_reg>; |
799 | status = "disabled"; | |
800 | }; | |
801 | ||
802 | // HDMI sound | |
803 | msp2: msp@80117000 { | |
804 | compatible = "stericsson,ux500-msp-i2s"; | |
805 | reg = <0x80117000 0x1000>; | |
90c40257 | 806 | interrupts = <0 98 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 LJ |
807 | v-ape-supply = <&db8500_vape_reg>; |
808 | status = "disabled"; | |
809 | }; | |
810 | ||
811 | msp3: msp@80125000 { | |
812 | compatible = "stericsson,ux500-msp-i2s"; | |
813 | reg = <0x80125000 0x1000>; | |
90c40257 | 814 | interrupts = <0 62 IRQ_TYPE_LEVEL_HIGH>; |
fe164529 LJ |
815 | v-ape-supply = <&db8500_vape_reg>; |
816 | status = "disabled"; | |
817 | }; | |
818 | ||
bf76e062 LJ |
819 | external-bus@50000000 { |
820 | compatible = "simple-bus"; | |
821 | reg = <0x50000000 0x4000000>; | |
822 | #address-cells = <1>; | |
823 | #size-cells = <1>; | |
824 | ranges = <0 0x50000000 0x4000000>; | |
825 | status = "disabled"; | |
826 | }; | |
dc1956b5 | 827 | |
828 | cpufreq-cooling { | |
829 | compatible = "stericsson,db8500-cpufreq-cooling"; | |
830 | status = "disabled"; | |
831 | }; | |
832 | ||
0563f638 LJ |
833 | vmmci: regulator-gpio { |
834 | compatible = "regulator-gpio"; | |
835 | ||
836 | regulator-min-microvolt = <1800000>; | |
4f902b42 | 837 | regulator-max-microvolt = <2900000>; |
0563f638 LJ |
838 | regulator-name = "mmci-reg"; |
839 | regulator-type = "voltage"; | |
840 | ||
874c9202 | 841 | startup-delay-us = <100>; |
e7bda303 LJ |
842 | enable-active-high; |
843 | ||
0563f638 LJ |
844 | states = <1800000 0x1 |
845 | 2900000 0x0>; | |
c94a4ab7 LJ |
846 | |
847 | status = "disabled"; | |
0563f638 | 848 | }; |
fe2e9f92 LJ |
849 | |
850 | cryp@a03cb000 { | |
851 | compatible = "stericsson,ux500-cryp"; | |
852 | reg = <0xa03cb000 0x1000>; | |
90c40257 | 853 | interrupts = <0 15 IRQ_TYPE_LEVEL_HIGH>; |
fe2e9f92 LJ |
854 | |
855 | v-ape-supply = <&db8500_vape_reg>; | |
fe2e9f92 | 856 | }; |
61122cf2 LJ |
857 | |
858 | hash@a03c2000 { | |
859 | compatible = "stericsson,ux500-hash"; | |
860 | reg = <0xa03c2000 0x1000>; | |
861 | ||
862 | v-ape-supply = <&db8500_vape_reg>; | |
61122cf2 | 863 | }; |
5d0769f0 AB |
864 | }; |
865 | }; |