blob: 4ad5160018cb522922201b3dfebf9c0462b6ef85 [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
316 ab8500-regulators {
317 compatible = "stericsson,ab8500-regulator";
318
319 // supplies to the display/camera
320 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
321 regulator-name = "V-DISPLAY";
322 regulator-min-microvolt = <2500000>;
323 regulator-max-microvolt = <2900000>;
324 regulator-boot-on;
325 /* BUG: If turned off MMC will be affected. */
326 regulator-always-on;
327 };
328
329 // supplies to the on-board eMMC
330 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
331 regulator-name = "V-eMMC1";
332 regulator-min-microvolt = <1100000>;
333 regulator-max-microvolt = <3300000>;
334 };
335
336 // supply for VAUX3; SDcard slots
337 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
338 regulator-name = "V-MMC-SD";
339 regulator-min-microvolt = <1100000>;
340 regulator-max-microvolt = <3300000>;
341 };
342
343 // supply for v-intcore12; VINTCORE12 LDO
344 ab8500_ldo_initcore_reg: ab8500_ldo_initcore {
345 regulator-name = "V-INTCORE";
346 };
347
348 // supply for tvout; gpadc; TVOUT LDO
349 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
350 regulator-name = "V-TVOUT";
351 };
352
353 // supply for ab8500-usb; USB LDO
354 ab8500_ldo_usb_reg: ab8500_ldo_usb {
355 regulator-name = "dummy";
356 };
357
358 // supply for ab8500-vaudio; VAUDIO LDO
359 ab8500_ldo_audio_reg: ab8500_ldo_audio {
360 regulator-name = "V-AUD";
361 };
362
363 // supply for v-anamic1 VAMic1-LDO
364 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
365 regulator-name = "V-AMIC1";
366 };
367
368 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
369 ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
370 regulator-name = "V-AMIC2";
371 };
372
373 // supply for v-dmic; VDMIC LDO
374 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
375 regulator-name = "V-DMIC";
376 };
377
378 // supply for U8500 CSI/DSI; VANA LDO
379 ab8500_ldo_ana_reg: ab8500_ldo_ana {
380 regulator-name = "V-CSI/DSI";
381 };
382 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000383 };
384 };
385
386 i2c@80004000 {
Lee Jones785834a2012-04-13 15:05:04 +0100387 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000388 reg = <0x80004000 0x1000>;
389 interrupts = <0 21 0x4>;
390 #address-cells = <1>;
391 #size-cells = <0>;
392 };
393
394 i2c@80122000 {
Lee Jones785834a2012-04-13 15:05:04 +0100395 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000396 reg = <0x80122000 0x1000>;
397 interrupts = <0 22 0x4>;
398 #address-cells = <1>;
399 #size-cells = <0>;
400 };
401
402 i2c@80128000 {
Lee Jones785834a2012-04-13 15:05:04 +0100403 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000404 reg = <0x80128000 0x1000>;
405 interrupts = <0 55 0x4>;
406 #address-cells = <1>;
407 #size-cells = <0>;
408 };
409
410 i2c@80110000 {
Lee Jones785834a2012-04-13 15:05:04 +0100411 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000412 reg = <0x80110000 0x1000>;
413 interrupts = <0 12 0x4>;
414 #address-cells = <1>;
415 #size-cells = <0>;
416 };
417
418 i2c@8012a000 {
Lee Jones785834a2012-04-13 15:05:04 +0100419 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000420 reg = <0x8012a000 0x1000>;
421 interrupts = <0 51 0x4>;
422 #address-cells = <1>;
423 #size-cells = <0>;
424 };
425
426 ssp@80002000 {
427 compatible = "arm,pl022", "arm,primecell";
428 reg = <80002000 0x1000>;
429 interrupts = <0 14 0x4>;
430 #address-cells = <1>;
431 #size-cells = <0>;
432 status = "disabled";
Lee Jones15daf692012-03-15 16:47:11 +0000433
434 // Add one of these for each child device
Lee Jones93b56982012-05-29 14:17:36 +0800435 cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
436 &gpio6 22 0x4 &gpio7 0 0x4>;
Lee Jones15daf692012-03-15 16:47:11 +0000437
Lee Jones7e0ce272012-03-15 16:46:17 +0000438 };
439
440 uart@80120000 {
441 compatible = "arm,pl011", "arm,primecell";
442 reg = <0x80120000 0x1000>;
443 interrupts = <0 11 0x4>;
444 status = "disabled";
445 };
446 uart@80121000 {
447 compatible = "arm,pl011", "arm,primecell";
448 reg = <0x80121000 0x1000>;
449 interrupts = <0 19 0x4>;
450 status = "disabled";
451 };
452 uart@80007000 {
453 compatible = "arm,pl011", "arm,primecell";
454 reg = <0x80007000 0x1000>;
455 interrupts = <0 26 0x4>;
456 status = "disabled";
457 };
458
459 sdi@80126000 {
460 compatible = "arm,pl18x", "arm,primecell";
461 reg = <0x80126000 0x1000>;
462 interrupts = <0 60 0x4>;
463 status = "disabled";
464 };
465 sdi@80118000 {
466 compatible = "arm,pl18x", "arm,primecell";
467 reg = <0x80118000 0x1000>;
468 interrupts = <0 50 0x4>;
469 status = "disabled";
470 };
471 sdi@80005000 {
472 compatible = "arm,pl18x", "arm,primecell";
473 reg = <0x80005000 0x1000>;
474 interrupts = <0 41 0x4>;
475 status = "disabled";
476 };
477 sdi@80119000 {
478 compatible = "arm,pl18x", "arm,primecell";
479 reg = <0x80119000 0x1000>;
480 interrupts = <0 59 0x4>;
481 status = "disabled";
482 };
483 sdi@80114000 {
484 compatible = "arm,pl18x", "arm,primecell";
485 reg = <0x80114000 0x1000>;
486 interrupts = <0 99 0x4>;
487 status = "disabled";
488 };
489 sdi@80008000 {
490 compatible = "arm,pl18x", "arm,primecell";
491 reg = <0x80114000 0x1000>;
492 interrupts = <0 100 0x4>;
493 status = "disabled";
494 };
Lee Jonesbf76e062012-04-24 10:53:18 +0100495
496 external-bus@50000000 {
497 compatible = "simple-bus";
498 reg = <0x50000000 0x4000000>;
499 #address-cells = <1>;
500 #size-cells = <1>;
501 ranges = <0 0x50000000 0x4000000>;
502 status = "disabled";
503 };
Arnd Bergmann5d0769f2012-03-02 23:07:21 +0000504 };
505};