blob: 185f8d470d646e91d2917d0631810b0ebde034bc [file] [log] [blame]
Arnd Bergmann5d0769f2012-03-02 23:07:21 +00001/*
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>;
Lee Jones7e0ce272012-03-15 16:46:17 +000018 compatible = "stericsson,db8500";
Lee Jonesdab64872012-03-07 17:22:30 +000019 interrupt-parent = <&intc>;
Arnd Bergmann5d0769f2012-03-02 23:07:21 +000020 ranges;
Lee Jones7e0ce272012-03-15 16:46:17 +000021
Lee Jonesdab64872012-03-07 17:22:30 +000022 intc: interrupt-controller@a0411000 {
23 compatible = "arm,cortex-a9-gic";
24 #interrupt-cells = <3>;
25 #address-cells = <1>;
26 interrupt-controller;
Lee Jonesdab64872012-03-07 17:22:30 +000027 reg = <0xa0411000 0x1000>,
28 <0xa0410100 0x100>;
29 };
30
Lee Jonesf1949ea2012-03-08 09:02:02 +000031 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
Lee Jones7e0ce272012-03-15 16:46:17 +000039 pmu {
40 compatible = "arm,cortex-a9-pmu";
41 interrupts = <0 7 0x4>;
42 };
43
Lee Jones71de5c42012-03-16 09:53:24 +000044 timer@a0410600 {
45 compatible = "arm,cortex-a9-twd-timer";
46 reg = <0xa0410600 0x20>;
47 interrupts = <1 13 0x304>;
48 };
49
Lee Jones7e0ce272012-03-15 16:46:17 +000050 rtc@80154000 {
51 compatible = "stericsson,db8500-rtc";
52 reg = <0x80154000 0x1000>;
53 interrupts = <0 18 0x4>;
54 };
55
56 gpio0: gpio@8012e000 {
57 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010058 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000059 reg = <0x8012e000 0x80>;
60 interrupts = <0 119 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +080061 interrupt-controller;
62 #interrupt-cells = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +000063 supports-sleepmode;
64 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +010065 #gpio-cells = <2>;
66 gpio-bank = <0>;
Lee Jones7e0ce272012-03-15 16:46:17 +000067 };
68
69 gpio1: gpio@8012e080 {
70 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010071 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000072 reg = <0x8012e080 0x80>;
73 interrupts = <0 120 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +080074 interrupt-controller;
75 #interrupt-cells = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +000076 supports-sleepmode;
77 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +010078 #gpio-cells = <2>;
79 gpio-bank = <1>;
Lee Jones7e0ce272012-03-15 16:46:17 +000080 };
81
82 gpio2: gpio@8000e000 {
83 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010084 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000085 reg = <0x8000e000 0x80>;
86 interrupts = <0 121 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +080087 interrupt-controller;
88 #interrupt-cells = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +000089 supports-sleepmode;
90 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +010091 #gpio-cells = <2>;
92 gpio-bank = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +000093 };
94
95 gpio3: gpio@8000e080 {
96 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +010097 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +000098 reg = <0x8000e080 0x80>;
99 interrupts = <0 122 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800100 interrupt-controller;
101 #interrupt-cells = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000102 supports-sleepmode;
103 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100104 #gpio-cells = <2>;
105 gpio-bank = <3>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000106 };
107
108 gpio4: gpio@8000e100 {
109 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100110 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000111 reg = <0x8000e100 0x80>;
112 interrupts = <0 123 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800113 interrupt-controller;
114 #interrupt-cells = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000115 supports-sleepmode;
116 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100117 #gpio-cells = <2>;
118 gpio-bank = <4>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000119 };
120
121 gpio5: gpio@8000e180 {
122 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100123 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000124 reg = <0x8000e180 0x80>;
125 interrupts = <0 124 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800126 interrupt-controller;
127 #interrupt-cells = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000128 supports-sleepmode;
129 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100130 #gpio-cells = <2>;
131 gpio-bank = <5>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000132 };
133
134 gpio6: gpio@8011e000 {
135 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100136 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000137 reg = <0x8011e000 0x80>;
138 interrupts = <0 125 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800139 interrupt-controller;
140 #interrupt-cells = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000141 supports-sleepmode;
142 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100143 #gpio-cells = <2>;
144 gpio-bank = <6>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000145 };
146
147 gpio7: gpio@8011e080 {
148 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100149 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000150 reg = <0x8011e080 0x80>;
151 interrupts = <0 126 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800152 interrupt-controller;
153 #interrupt-cells = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000154 supports-sleepmode;
155 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100156 #gpio-cells = <2>;
157 gpio-bank = <7>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000158 };
159
160 gpio8: gpio@a03fe000 {
161 compatible = "stericsson,db8500-gpio",
Lee Jonesfd9a80b2012-04-13 15:05:03 +0100162 "st,nomadik-gpio";
Lee Jones7e0ce272012-03-15 16:46:17 +0000163 reg = <0xa03fe000 0x80>;
164 interrupts = <0 127 0x4>;
Lee Jones93b56982012-05-29 14:17:36 +0800165 interrupt-controller;
166 #interrupt-cells = <2>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000167 supports-sleepmode;
168 gpio-controller;
Lee Jonesc0b133b2012-04-13 15:05:05 +0100169 #gpio-cells = <2>;
170 gpio-bank = <8>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000171 };
172
Lee Jones5910de92012-05-26 06:25:36 +0100173 pinctrl {
174 compatible = "stericsson,nmk_pinctrl";
175 };
176
Lee Jones7e0ce272012-03-15 16:46:17 +0000177 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>;
Lee Jonesccf74f72012-05-28 16:50:49 +0800194 interrupts = <0 47 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000195 #address-cells = <1>;
Lee Jones3de3d742012-04-24 10:00:15 +0100196 #size-cells = <1>;
197 ranges;
198
Lee Jonesccf74f72012-05-28 16:50:49 +0800199 prcmu-timer-4@80157450 {
Lee Jones3de3d742012-04-24 10:00:15 +0100200 compatible = "stericsson,db8500-prcmu-timer-4";
201 reg = <0x80157450 0xC>;
202 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000203
Lee Jonese5999f22012-05-04 13:32:34 +0100204 db8500-prcmu-regulators {
205 compatible = "stericsson,db8500-prcmu-regulator";
206
207 // DB8500_REGULATOR_VAPE
208 db8500_vape_reg: db8500_vape {
209 regulator-name = "db8500-vape";
210 regulator-always-on;
211 };
212
213 // DB8500_REGULATOR_VARM
214 db8500_varm_reg: db8500_varm {
215 regulator-name = "db8500-varm";
216 };
217
218 // DB8500_REGULATOR_VMODEM
219 db8500_vmodem_reg: db8500_vmodem {
220 regulator-name = "db8500-vmodem";
221 };
222
223 // DB8500_REGULATOR_VPLL
224 db8500_vpll_reg: db8500_vpll {
225 regulator-name = "db8500-vpll";
226 };
227
228 // DB8500_REGULATOR_VSMPS1
229 db8500_vsmps1_reg: db8500_vsmps1 {
230 regulator-name = "db8500-vsmps1";
231 };
232
233 // DB8500_REGULATOR_VSMPS2
234 db8500_vsmps2_reg: db8500_vsmps2 {
235 regulator-name = "db8500-vsmps2";
236 };
237
238 // DB8500_REGULATOR_VSMPS3
239 db8500_vsmps3_reg: db8500_vsmps3 {
240 regulator-name = "db8500-vsmps3";
241 };
242
243 // DB8500_REGULATOR_VRF1
244 db8500_vrf1_reg: db8500_vrf1 {
245 regulator-name = "db8500-vrf1";
246 };
247
248 // DB8500_REGULATOR_SWITCH_SVAMMDSP
249 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
250 regulator-name = "db8500-sva-mmdsp";
251 };
252
253 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
254 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
255 regulator-name = "db8500-sva-mmdsp-ret";
256 };
257
258 // DB8500_REGULATOR_SWITCH_SVAPIPE
259 db8500_sva_pipe_reg: db8500_sva_pipe {
260 regulator-name = "db8500_sva_pipe";
261 };
262
263 // DB8500_REGULATOR_SWITCH_SIAMMDSP
264 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
265 regulator-name = "db8500_sia_mmdsp";
266 };
267
268 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
269 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
270 regulator-name = "db8500-sia-mmdsp-ret";
271 };
272
273 // DB8500_REGULATOR_SWITCH_SIAPIPE
274 db8500_sia_pipe_reg: db8500_sia_pipe {
275 regulator-name = "db8500-sia-pipe";
276 };
277
278 // DB8500_REGULATOR_SWITCH_SGA
279 db8500_sga_reg: db8500_sga {
280 regulator-name = "db8500-sga";
281 vin-supply = <&db8500_vape_reg>;
282 };
283
284 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
285 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
286 regulator-name = "db8500-b2r2-mcde";
287 vin-supply = <&db8500_vape_reg>;
288 };
289
290 // DB8500_REGULATOR_SWITCH_ESRAM12
291 db8500_esram12_reg: db8500_esram12 {
292 regulator-name = "db8500-esram12";
293 };
294
295 // DB8500_REGULATOR_SWITCH_ESRAM12RET
296 db8500_esram12_ret_reg: db8500_esram12_ret {
297 regulator-name = "db8500-esram12-ret";
298 };
299
300 // DB8500_REGULATOR_SWITCH_ESRAM34
301 db8500_esram34_reg: db8500_esram34 {
302 regulator-name = "db8500-esram34";
303 };
304
305 // DB8500_REGULATOR_SWITCH_ESRAM34RET
306 db8500_esram34_ret_reg: db8500_esram34_ret {
307 regulator-name = "db8500-esram34-ret";
308 };
309 };
310
Lee Jones7e0ce272012-03-15 16:46:17 +0000311 ab8500@5 {
312 compatible = "stericsson,ab8500";
313 reg = <5>; /* mailbox 5 is i2c */
314 interrupts = <0 40 0x4>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800315
Lee Jones4eda9122012-05-28 16:59:26 +0800316 ab8500-gpadc {
317 compatible = "stericsson,ab8500-gpadc";
318 interrupts = <0 32 0x4
319 0 39 0x4>;
320 interrupt-names = "HW_CONV_END", "SW_CONV_END";
321 vddadc-supply = <&ab8500_ldo_tvout_reg>;
322 };
323
Lee Jones12cb7bd2012-05-02 08:45:40 +0100324 ab8500-ponkey {
325 compatible = "stericsson,ab8500-ponkey";
326 interrupts = <0 6 0x4
327 0 7 0x4>;
328 interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
329 };
330
Lee Jones401cd1b2012-05-03 12:53:55 +0100331 ab8500-sysctrl {
332 compatible = "stericsson,ab8500-sysctrl";
333 };
334
Lee Jones78451de2012-05-03 13:03:59 +0100335 ab8500-pwm {
336 compatible = "stericsson,ab8500-pwm";
337 };
338
Lee Jones4a85c7f2012-05-29 14:29:53 +0800339 ab8500-regulators {
340 compatible = "stericsson,ab8500-regulator";
341
342 // supplies to the display/camera
343 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
344 regulator-name = "V-DISPLAY";
345 regulator-min-microvolt = <2500000>;
346 regulator-max-microvolt = <2900000>;
347 regulator-boot-on;
348 /* BUG: If turned off MMC will be affected. */
349 regulator-always-on;
350 };
351
352 // supplies to the on-board eMMC
353 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
354 regulator-name = "V-eMMC1";
355 regulator-min-microvolt = <1100000>;
356 regulator-max-microvolt = <3300000>;
357 };
358
359 // supply for VAUX3; SDcard slots
360 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
361 regulator-name = "V-MMC-SD";
362 regulator-min-microvolt = <1100000>;
363 regulator-max-microvolt = <3300000>;
364 };
365
366 // supply for v-intcore12; VINTCORE12 LDO
367 ab8500_ldo_initcore_reg: ab8500_ldo_initcore {
368 regulator-name = "V-INTCORE";
369 };
370
371 // supply for tvout; gpadc; TVOUT LDO
372 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
373 regulator-name = "V-TVOUT";
374 };
375
376 // supply for ab8500-usb; USB LDO
377 ab8500_ldo_usb_reg: ab8500_ldo_usb {
378 regulator-name = "dummy";
379 };
380
381 // supply for ab8500-vaudio; VAUDIO LDO
382 ab8500_ldo_audio_reg: ab8500_ldo_audio {
383 regulator-name = "V-AUD";
384 };
385
386 // supply for v-anamic1 VAMic1-LDO
387 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
388 regulator-name = "V-AMIC1";
389 };
390
391 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
392 ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
393 regulator-name = "V-AMIC2";
394 };
395
396 // supply for v-dmic; VDMIC LDO
397 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
398 regulator-name = "V-DMIC";
399 };
400
401 // supply for U8500 CSI/DSI; VANA LDO
402 ab8500_ldo_ana_reg: ab8500_ldo_ana {
403 regulator-name = "V-CSI/DSI";
404 };
405 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000406 };
407 };
408
409 i2c@80004000 {
Lee Jones785834a2012-04-13 15:05:04 +0100410 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000411 reg = <0x80004000 0x1000>;
412 interrupts = <0 21 0x4>;
413 #address-cells = <1>;
414 #size-cells = <0>;
415 };
416
417 i2c@80122000 {
Lee Jones785834a2012-04-13 15:05:04 +0100418 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000419 reg = <0x80122000 0x1000>;
420 interrupts = <0 22 0x4>;
421 #address-cells = <1>;
422 #size-cells = <0>;
423 };
424
425 i2c@80128000 {
Lee Jones785834a2012-04-13 15:05:04 +0100426 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000427 reg = <0x80128000 0x1000>;
428 interrupts = <0 55 0x4>;
429 #address-cells = <1>;
430 #size-cells = <0>;
431 };
432
433 i2c@80110000 {
Lee Jones785834a2012-04-13 15:05:04 +0100434 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000435 reg = <0x80110000 0x1000>;
436 interrupts = <0 12 0x4>;
437 #address-cells = <1>;
438 #size-cells = <0>;
439 };
440
441 i2c@8012a000 {
Lee Jones785834a2012-04-13 15:05:04 +0100442 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000443 reg = <0x8012a000 0x1000>;
444 interrupts = <0 51 0x4>;
445 #address-cells = <1>;
446 #size-cells = <0>;
447 };
448
449 ssp@80002000 {
450 compatible = "arm,pl022", "arm,primecell";
451 reg = <80002000 0x1000>;
452 interrupts = <0 14 0x4>;
453 #address-cells = <1>;
454 #size-cells = <0>;
455 status = "disabled";
Lee Jones15daf692012-03-15 16:47:11 +0000456
457 // Add one of these for each child device
Lee Jones93b56982012-05-29 14:17:36 +0800458 cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
459 &gpio6 22 0x4 &gpio7 0 0x4>;
Lee Jones15daf692012-03-15 16:47:11 +0000460
Lee Jones7e0ce272012-03-15 16:46:17 +0000461 };
462
463 uart@80120000 {
464 compatible = "arm,pl011", "arm,primecell";
465 reg = <0x80120000 0x1000>;
466 interrupts = <0 11 0x4>;
467 status = "disabled";
468 };
469 uart@80121000 {
470 compatible = "arm,pl011", "arm,primecell";
471 reg = <0x80121000 0x1000>;
472 interrupts = <0 19 0x4>;
473 status = "disabled";
474 };
475 uart@80007000 {
476 compatible = "arm,pl011", "arm,primecell";
477 reg = <0x80007000 0x1000>;
478 interrupts = <0 26 0x4>;
479 status = "disabled";
480 };
481
482 sdi@80126000 {
483 compatible = "arm,pl18x", "arm,primecell";
484 reg = <0x80126000 0x1000>;
485 interrupts = <0 60 0x4>;
486 status = "disabled";
487 };
488 sdi@80118000 {
489 compatible = "arm,pl18x", "arm,primecell";
490 reg = <0x80118000 0x1000>;
491 interrupts = <0 50 0x4>;
492 status = "disabled";
493 };
494 sdi@80005000 {
495 compatible = "arm,pl18x", "arm,primecell";
496 reg = <0x80005000 0x1000>;
497 interrupts = <0 41 0x4>;
498 status = "disabled";
499 };
500 sdi@80119000 {
501 compatible = "arm,pl18x", "arm,primecell";
502 reg = <0x80119000 0x1000>;
503 interrupts = <0 59 0x4>;
504 status = "disabled";
505 };
506 sdi@80114000 {
507 compatible = "arm,pl18x", "arm,primecell";
508 reg = <0x80114000 0x1000>;
509 interrupts = <0 99 0x4>;
510 status = "disabled";
511 };
512 sdi@80008000 {
513 compatible = "arm,pl18x", "arm,primecell";
514 reg = <0x80114000 0x1000>;
515 interrupts = <0 100 0x4>;
516 status = "disabled";
517 };
Lee Jonesbf76e062012-04-24 10:53:18 +0100518
519 external-bus@50000000 {
520 compatible = "simple-bus";
521 reg = <0x50000000 0x4000000>;
522 #address-cells = <1>;
523 #size-cells = <1>;
524 ranges = <0 0x50000000 0x4000000>;
525 status = "disabled";
526 };
Arnd Bergmann5d0769f2012-03-02 23:07:21 +0000527 };
528};