]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - arch/arm/boot/dts/db8500.dtsi
Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[mirror_ubuntu-hirsute-kernel.git] / arch / arm / boot / dts / db8500.dtsi
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
12 /include/ "skeleton.dtsi"
13
14 / {
15 soc-u9500 {
16 #address-cells = <1>;
17 #size-cells = <1>;
18 compatible = "stericsson,db8500";
19 interrupt-parent = <&intc>;
20 ranges;
21
22 intc: interrupt-controller@a0411000 {
23 compatible = "arm,cortex-a9-gic";
24 #interrupt-cells = <3>;
25 #address-cells = <1>;
26 interrupt-controller;
27 reg = <0xa0411000 0x1000>,
28 <0xa0410100 0x100>;
29 };
30
31 L2: l2-cache {
32 compatible = "arm,pl310-cache";
33 reg = <0xa0412000 0x1000>;
34 interrupts = <0 13 4>;
35 cache-unified;
36 cache-level = <2>;
37 };
38
39 pmu {
40 compatible = "arm,cortex-a9-pmu";
41 interrupts = <0 7 0x4>;
42 };
43
44 timer@a0410600 {
45 compatible = "arm,cortex-a9-twd-timer";
46 reg = <0xa0410600 0x20>;
47 interrupts = <1 13 0x304>;
48 };
49
50 rtc@80154000 {
51 compatible = "arm,rtc-pl031", "arm,primecell";
52 reg = <0x80154000 0x1000>;
53 interrupts = <0 18 0x4>;
54 };
55
56 gpio0: gpio@8012e000 {
57 compatible = "stericsson,db8500-gpio",
58 "st,nomadik-gpio";
59 reg = <0x8012e000 0x80>;
60 interrupts = <0 119 0x4>;
61 interrupt-controller;
62 #interrupt-cells = <2>;
63 st,supports-sleepmode;
64 gpio-controller;
65 #gpio-cells = <2>;
66 gpio-bank = <0>;
67 };
68
69 gpio1: gpio@8012e080 {
70 compatible = "stericsson,db8500-gpio",
71 "st,nomadik-gpio";
72 reg = <0x8012e080 0x80>;
73 interrupts = <0 120 0x4>;
74 interrupt-controller;
75 #interrupt-cells = <2>;
76 st,supports-sleepmode;
77 gpio-controller;
78 #gpio-cells = <2>;
79 gpio-bank = <1>;
80 };
81
82 gpio2: gpio@8000e000 {
83 compatible = "stericsson,db8500-gpio",
84 "st,nomadik-gpio";
85 reg = <0x8000e000 0x80>;
86 interrupts = <0 121 0x4>;
87 interrupt-controller;
88 #interrupt-cells = <2>;
89 st,supports-sleepmode;
90 gpio-controller;
91 #gpio-cells = <2>;
92 gpio-bank = <2>;
93 };
94
95 gpio3: gpio@8000e080 {
96 compatible = "stericsson,db8500-gpio",
97 "st,nomadik-gpio";
98 reg = <0x8000e080 0x80>;
99 interrupts = <0 122 0x4>;
100 interrupt-controller;
101 #interrupt-cells = <2>;
102 st,supports-sleepmode;
103 gpio-controller;
104 #gpio-cells = <2>;
105 gpio-bank = <3>;
106 };
107
108 gpio4: gpio@8000e100 {
109 compatible = "stericsson,db8500-gpio",
110 "st,nomadik-gpio";
111 reg = <0x8000e100 0x80>;
112 interrupts = <0 123 0x4>;
113 interrupt-controller;
114 #interrupt-cells = <2>;
115 st,supports-sleepmode;
116 gpio-controller;
117 #gpio-cells = <2>;
118 gpio-bank = <4>;
119 };
120
121 gpio5: gpio@8000e180 {
122 compatible = "stericsson,db8500-gpio",
123 "st,nomadik-gpio";
124 reg = <0x8000e180 0x80>;
125 interrupts = <0 124 0x4>;
126 interrupt-controller;
127 #interrupt-cells = <2>;
128 st,supports-sleepmode;
129 gpio-controller;
130 #gpio-cells = <2>;
131 gpio-bank = <5>;
132 };
133
134 gpio6: gpio@8011e000 {
135 compatible = "stericsson,db8500-gpio",
136 "st,nomadik-gpio";
137 reg = <0x8011e000 0x80>;
138 interrupts = <0 125 0x4>;
139 interrupt-controller;
140 #interrupt-cells = <2>;
141 st,supports-sleepmode;
142 gpio-controller;
143 #gpio-cells = <2>;
144 gpio-bank = <6>;
145 };
146
147 gpio7: gpio@8011e080 {
148 compatible = "stericsson,db8500-gpio",
149 "st,nomadik-gpio";
150 reg = <0x8011e080 0x80>;
151 interrupts = <0 126 0x4>;
152 interrupt-controller;
153 #interrupt-cells = <2>;
154 st,supports-sleepmode;
155 gpio-controller;
156 #gpio-cells = <2>;
157 gpio-bank = <7>;
158 };
159
160 gpio8: gpio@a03fe000 {
161 compatible = "stericsson,db8500-gpio",
162 "st,nomadik-gpio";
163 reg = <0xa03fe000 0x80>;
164 interrupts = <0 127 0x4>;
165 interrupt-controller;
166 #interrupt-cells = <2>;
167 st,supports-sleepmode;
168 gpio-controller;
169 #gpio-cells = <2>;
170 gpio-bank = <8>;
171 };
172
173 pinctrl {
174 compatible = "stericsson,nmk_pinctrl";
175 };
176
177 usb@a03e0000 {
178 compatible = "stericsson,db8500-musb",
179 "mentor,musb";
180 reg = <0xa03e0000 0x10000>;
181 interrupts = <0 23 0x4>;
182 };
183
184 dma-controller@801C0000 {
185 compatible = "stericsson,db8500-dma40",
186 "stericsson,dma40";
187 reg = <0x801C0000 0x1000 0x40010000 0x800>;
188 interrupts = <0 25 0x4>;
189 };
190
191 prcmu@80157000 {
192 compatible = "stericsson,db8500-prcmu";
193 reg = <0x80157000 0x1000>;
194 interrupts = <0 47 0x4>;
195 #address-cells = <1>;
196 #size-cells = <1>;
197 ranges;
198
199 prcmu-timer-4@80157450 {
200 compatible = "stericsson,db8500-prcmu-timer-4";
201 reg = <0x80157450 0xC>;
202 };
203
204 db8500-prcmu-regulators {
205 compatible = "stericsson,db8500-prcmu-regulator";
206
207 // DB8500_REGULATOR_VAPE
208 db8500_vape_reg: db8500_vape {
209 regulator-compatible = "db8500_vape";
210 regulator-name = "db8500-vape";
211 regulator-always-on;
212 };
213
214 // DB8500_REGULATOR_VARM
215 db8500_varm_reg: db8500_varm {
216 regulator-compatible = "db8500_varm";
217 regulator-name = "db8500-varm";
218 };
219
220 // DB8500_REGULATOR_VMODEM
221 db8500_vmodem_reg: db8500_vmodem {
222 regulator-compatible = "db8500_vmodem";
223 regulator-name = "db8500-vmodem";
224 };
225
226 // DB8500_REGULATOR_VPLL
227 db8500_vpll_reg: db8500_vpll {
228 regulator-compatible = "db8500_vpll";
229 regulator-name = "db8500-vpll";
230 };
231
232 // DB8500_REGULATOR_VSMPS1
233 db8500_vsmps1_reg: db8500_vsmps1 {
234 regulator-compatible = "db8500_vsmps1";
235 regulator-name = "db8500-vsmps1";
236 };
237
238 // DB8500_REGULATOR_VSMPS2
239 db8500_vsmps2_reg: db8500_vsmps2 {
240 regulator-compatible = "db8500_vsmps2";
241 regulator-name = "db8500-vsmps2";
242 };
243
244 // DB8500_REGULATOR_VSMPS3
245 db8500_vsmps3_reg: db8500_vsmps3 {
246 regulator-compatible = "db8500_vsmps3";
247 regulator-name = "db8500-vsmps3";
248 };
249
250 // DB8500_REGULATOR_VRF1
251 db8500_vrf1_reg: db8500_vrf1 {
252 regulator-compatible = "db8500_vrf1";
253 regulator-name = "db8500-vrf1";
254 };
255
256 // DB8500_REGULATOR_SWITCH_SVAMMDSP
257 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
258 regulator-compatible = "db8500_sva_mmdsp";
259 regulator-name = "db8500-sva-mmdsp";
260 };
261
262 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
263 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
264 regulator-compatible = "db8500_sva_mmdsp_ret";
265 regulator-name = "db8500-sva-mmdsp-ret";
266 };
267
268 // DB8500_REGULATOR_SWITCH_SVAPIPE
269 db8500_sva_pipe_reg: db8500_sva_pipe {
270 regulator-compatible = "db8500_sva_pipe";
271 regulator-name = "db8500_sva_pipe";
272 };
273
274 // DB8500_REGULATOR_SWITCH_SIAMMDSP
275 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
276 regulator-compatible = "db8500_sia_mmdsp";
277 regulator-name = "db8500_sia_mmdsp";
278 };
279
280 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
281 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
282 regulator-name = "db8500-sia-mmdsp-ret";
283 };
284
285 // DB8500_REGULATOR_SWITCH_SIAPIPE
286 db8500_sia_pipe_reg: db8500_sia_pipe {
287 regulator-compatible = "db8500_sia_pipe";
288 regulator-name = "db8500-sia-pipe";
289 };
290
291 // DB8500_REGULATOR_SWITCH_SGA
292 db8500_sga_reg: db8500_sga {
293 regulator-compatible = "db8500_sga";
294 regulator-name = "db8500-sga";
295 vin-supply = <&db8500_vape_reg>;
296 };
297
298 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
299 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
300 regulator-compatible = "db8500_b2r2_mcde";
301 regulator-name = "db8500-b2r2-mcde";
302 vin-supply = <&db8500_vape_reg>;
303 };
304
305 // DB8500_REGULATOR_SWITCH_ESRAM12
306 db8500_esram12_reg: db8500_esram12 {
307 regulator-compatible = "db8500_esram12";
308 regulator-name = "db8500-esram12";
309 };
310
311 // DB8500_REGULATOR_SWITCH_ESRAM12RET
312 db8500_esram12_ret_reg: db8500_esram12_ret {
313 regulator-compatible = "db8500_esram12_ret";
314 regulator-name = "db8500-esram12-ret";
315 };
316
317 // DB8500_REGULATOR_SWITCH_ESRAM34
318 db8500_esram34_reg: db8500_esram34 {
319 regulator-compatible = "db8500_esram34";
320 regulator-name = "db8500-esram34";
321 };
322
323 // DB8500_REGULATOR_SWITCH_ESRAM34RET
324 db8500_esram34_ret_reg: db8500_esram34_ret {
325 regulator-compatible = "db8500_esram34_ret";
326 regulator-name = "db8500-esram34-ret";
327 };
328 };
329
330 ab8500@5 {
331 compatible = "stericsson,ab8500";
332 reg = <5>; /* mailbox 5 is i2c */
333 interrupts = <0 40 0x4>;
334 interrupt-controller;
335 #interrupt-cells = <2>;
336
337 ab8500-rtc {
338 compatible = "stericsson,ab8500-rtc";
339 interrupts = <17 0x4
340 18 0x4>;
341 interrupt-names = "60S", "ALARM";
342 };
343
344 ab8500-gpadc {
345 compatible = "stericsson,ab8500-gpadc";
346 interrupts = <32 0x4
347 39 0x4>;
348 interrupt-names = "HW_CONV_END", "SW_CONV_END";
349 vddadc-supply = <&ab8500_ldo_tvout_reg>;
350 };
351
352 ab8500-usb {
353 compatible = "stericsson,ab8500-usb";
354 interrupts = < 90 0x4
355 96 0x4
356 14 0x4
357 15 0x4
358 79 0x4
359 74 0x4
360 75 0x4>;
361 interrupt-names = "ID_WAKEUP_R",
362 "ID_WAKEUP_F",
363 "VBUS_DET_F",
364 "VBUS_DET_R",
365 "USB_LINK_STATUS",
366 "USB_ADP_PROBE_PLUG",
367 "USB_ADP_PROBE_UNPLUG";
368 vddulpivio18-supply = <&ab8500_ldo_initcore_reg>;
369 v-ape-supply = <&db8500_vape_reg>;
370 musb_1v8-supply = <&db8500_vsmps2_reg>;
371 };
372
373 ab8500-ponkey {
374 compatible = "stericsson,ab8500-ponkey";
375 interrupts = <6 0x4
376 7 0x4>;
377 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
378 };
379
380 ab8500-sysctrl {
381 compatible = "stericsson,ab8500-sysctrl";
382 };
383
384 ab8500-pwm {
385 compatible = "stericsson,ab8500-pwm";
386 };
387
388 ab8500-debugfs {
389 compatible = "stericsson,ab8500-debug";
390 };
391
392 ab8500-regulators {
393 compatible = "stericsson,ab8500-regulator";
394
395 // supplies to the display/camera
396 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
397 regulator-compatible = "ab8500_ldo_aux1";
398 regulator-name = "V-DISPLAY";
399 regulator-min-microvolt = <2500000>;
400 regulator-max-microvolt = <2900000>;
401 regulator-boot-on;
402 /* BUG: If turned off MMC will be affected. */
403 regulator-always-on;
404 };
405
406 // supplies to the on-board eMMC
407 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
408 regulator-compatible = "ab8500_ldo_aux2";
409 regulator-name = "V-eMMC1";
410 regulator-min-microvolt = <1100000>;
411 regulator-max-microvolt = <3300000>;
412 };
413
414 // supply for VAUX3; SDcard slots
415 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
416 regulator-compatible = "ab8500_ldo_aux3";
417 regulator-name = "V-MMC-SD";
418 regulator-min-microvolt = <1100000>;
419 regulator-max-microvolt = <3300000>;
420 };
421
422 // supply for v-intcore12; VINTCORE12 LDO
423 ab8500_ldo_initcore_reg: ab8500_ldo_initcore {
424 regulator-compatible = "ab8500_ldo_initcore";
425 regulator-name = "V-INTCORE";
426 };
427
428 // supply for tvout; gpadc; TVOUT LDO
429 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
430 regulator-compatible = "ab8500_ldo_tvout";
431 regulator-name = "V-TVOUT";
432 };
433
434 // supply for ab8500-usb; USB LDO
435 ab8500_ldo_usb_reg: ab8500_ldo_usb {
436 regulator-compatible = "ab8500_ldo_usb";
437 regulator-name = "dummy";
438 };
439
440 // supply for ab8500-vaudio; VAUDIO LDO
441 ab8500_ldo_audio_reg: ab8500_ldo_audio {
442 regulator-compatible = "ab8500_ldo_audio";
443 regulator-name = "V-AUD";
444 };
445
446 // supply for v-anamic1 VAMic1-LDO
447 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
448 regulator-compatible = "ab8500_ldo_anamic1";
449 regulator-name = "V-AMIC1";
450 };
451
452 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
453 ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
454 regulator-compatible = "ab8500_ldo_amamic2";
455 regulator-name = "V-AMIC2";
456 };
457
458 // supply for v-dmic; VDMIC LDO
459 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
460 regulator-compatible = "ab8500_ldo_dmic";
461 regulator-name = "V-DMIC";
462 };
463
464 // supply for U8500 CSI/DSI; VANA LDO
465 ab8500_ldo_ana_reg: ab8500_ldo_ana {
466 regulator-compatible = "ab8500_ldo_ana";
467 regulator-name = "V-CSI/DSI";
468 };
469 };
470 };
471 };
472
473 i2c@80004000 {
474 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
475 reg = <0x80004000 0x1000>;
476 interrupts = <0 21 0x4>;
477 #address-cells = <1>;
478 #size-cells = <0>;
479 };
480
481 i2c@80122000 {
482 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
483 reg = <0x80122000 0x1000>;
484 interrupts = <0 22 0x4>;
485 #address-cells = <1>;
486 #size-cells = <0>;
487 };
488
489 i2c@80128000 {
490 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
491 reg = <0x80128000 0x1000>;
492 interrupts = <0 55 0x4>;
493 #address-cells = <1>;
494 #size-cells = <0>;
495 };
496
497 i2c@80110000 {
498 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
499 reg = <0x80110000 0x1000>;
500 interrupts = <0 12 0x4>;
501 #address-cells = <1>;
502 #size-cells = <0>;
503 };
504
505 i2c@8012a000 {
506 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
507 reg = <0x8012a000 0x1000>;
508 interrupts = <0 51 0x4>;
509 #address-cells = <1>;
510 #size-cells = <0>;
511 };
512
513 ssp@80002000 {
514 compatible = "arm,pl022", "arm,primecell";
515 reg = <80002000 0x1000>;
516 interrupts = <0 14 0x4>;
517 #address-cells = <1>;
518 #size-cells = <0>;
519 status = "disabled";
520
521 // Add one of these for each child device
522 cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
523 &gpio6 22 0x4 &gpio7 0 0x4>;
524
525 };
526
527 uart@80120000 {
528 compatible = "arm,pl011", "arm,primecell";
529 reg = <0x80120000 0x1000>;
530 interrupts = <0 11 0x4>;
531 status = "disabled";
532 };
533 uart@80121000 {
534 compatible = "arm,pl011", "arm,primecell";
535 reg = <0x80121000 0x1000>;
536 interrupts = <0 19 0x4>;
537 status = "disabled";
538 };
539 uart@80007000 {
540 compatible = "arm,pl011", "arm,primecell";
541 reg = <0x80007000 0x1000>;
542 interrupts = <0 26 0x4>;
543 status = "disabled";
544 };
545
546 sdi@80126000 {
547 compatible = "arm,pl18x", "arm,primecell";
548 reg = <0x80126000 0x1000>;
549 interrupts = <0 60 0x4>;
550 status = "disabled";
551 };
552 sdi@80118000 {
553 compatible = "arm,pl18x", "arm,primecell";
554 reg = <0x80118000 0x1000>;
555 interrupts = <0 50 0x4>;
556 status = "disabled";
557 };
558 sdi@80005000 {
559 compatible = "arm,pl18x", "arm,primecell";
560 reg = <0x80005000 0x1000>;
561 interrupts = <0 41 0x4>;
562 status = "disabled";
563 };
564 sdi@80119000 {
565 compatible = "arm,pl18x", "arm,primecell";
566 reg = <0x80119000 0x1000>;
567 interrupts = <0 59 0x4>;
568 status = "disabled";
569 };
570 sdi@80114000 {
571 compatible = "arm,pl18x", "arm,primecell";
572 reg = <0x80114000 0x1000>;
573 interrupts = <0 99 0x4>;
574 status = "disabled";
575 };
576 sdi@80008000 {
577 compatible = "arm,pl18x", "arm,primecell";
578 reg = <0x80114000 0x1000>;
579 interrupts = <0 100 0x4>;
580 status = "disabled";
581 };
582
583 external-bus@50000000 {
584 compatible = "simple-bus";
585 reg = <0x50000000 0x4000000>;
586 #address-cells = <1>;
587 #size-cells = <1>;
588 ranges = <0 0x50000000 0x4000000>;
589 status = "disabled";
590 };
591 };
592 };