blob: 1fa5546b5971d82f8fed424809928077159362b6 [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
173 usb@a03e0000 {
174 compatible = "stericsson,db8500-musb",
175 "mentor,musb";
176 reg = <0xa03e0000 0x10000>;
177 interrupts = <0 23 0x4>;
178 };
179
180 dma-controller@801C0000 {
181 compatible = "stericsson,db8500-dma40",
182 "stericsson,dma40";
183 reg = <0x801C0000 0x1000 0x40010000 0x800>;
184 interrupts = <0 25 0x4>;
185 };
186
187 prcmu@80157000 {
188 compatible = "stericsson,db8500-prcmu";
189 reg = <0x80157000 0x1000>;
Lee Jonesccf74f72012-05-28 16:50:49 +0800190 interrupts = <0 47 0x4>;
Lee Jones7e0ce272012-03-15 16:46:17 +0000191 #address-cells = <1>;
Lee Jones3de3d742012-04-24 10:00:15 +0100192 #size-cells = <1>;
193 ranges;
194
Lee Jonesccf74f72012-05-28 16:50:49 +0800195 prcmu-timer-4@80157450 {
Lee Jones3de3d742012-04-24 10:00:15 +0100196 compatible = "stericsson,db8500-prcmu-timer-4";
197 reg = <0x80157450 0xC>;
198 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000199
Lee Jonese5999f22012-05-04 13:32:34 +0100200 db8500-prcmu-regulators {
201 compatible = "stericsson,db8500-prcmu-regulator";
202
203 // DB8500_REGULATOR_VAPE
204 db8500_vape_reg: db8500_vape {
205 regulator-name = "db8500-vape";
206 regulator-always-on;
207 };
208
209 // DB8500_REGULATOR_VARM
210 db8500_varm_reg: db8500_varm {
211 regulator-name = "db8500-varm";
212 };
213
214 // DB8500_REGULATOR_VMODEM
215 db8500_vmodem_reg: db8500_vmodem {
216 regulator-name = "db8500-vmodem";
217 };
218
219 // DB8500_REGULATOR_VPLL
220 db8500_vpll_reg: db8500_vpll {
221 regulator-name = "db8500-vpll";
222 };
223
224 // DB8500_REGULATOR_VSMPS1
225 db8500_vsmps1_reg: db8500_vsmps1 {
226 regulator-name = "db8500-vsmps1";
227 };
228
229 // DB8500_REGULATOR_VSMPS2
230 db8500_vsmps2_reg: db8500_vsmps2 {
231 regulator-name = "db8500-vsmps2";
232 };
233
234 // DB8500_REGULATOR_VSMPS3
235 db8500_vsmps3_reg: db8500_vsmps3 {
236 regulator-name = "db8500-vsmps3";
237 };
238
239 // DB8500_REGULATOR_VRF1
240 db8500_vrf1_reg: db8500_vrf1 {
241 regulator-name = "db8500-vrf1";
242 };
243
244 // DB8500_REGULATOR_SWITCH_SVAMMDSP
245 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
246 regulator-name = "db8500-sva-mmdsp";
247 };
248
249 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
250 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
251 regulator-name = "db8500-sva-mmdsp-ret";
252 };
253
254 // DB8500_REGULATOR_SWITCH_SVAPIPE
255 db8500_sva_pipe_reg: db8500_sva_pipe {
256 regulator-name = "db8500_sva_pipe";
257 };
258
259 // DB8500_REGULATOR_SWITCH_SIAMMDSP
260 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
261 regulator-name = "db8500_sia_mmdsp";
262 };
263
264 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
265 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
266 regulator-name = "db8500-sia-mmdsp-ret";
267 };
268
269 // DB8500_REGULATOR_SWITCH_SIAPIPE
270 db8500_sia_pipe_reg: db8500_sia_pipe {
271 regulator-name = "db8500-sia-pipe";
272 };
273
274 // DB8500_REGULATOR_SWITCH_SGA
275 db8500_sga_reg: db8500_sga {
276 regulator-name = "db8500-sga";
277 vin-supply = <&db8500_vape_reg>;
278 };
279
280 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
281 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
282 regulator-name = "db8500-b2r2-mcde";
283 vin-supply = <&db8500_vape_reg>;
284 };
285
286 // DB8500_REGULATOR_SWITCH_ESRAM12
287 db8500_esram12_reg: db8500_esram12 {
288 regulator-name = "db8500-esram12";
289 };
290
291 // DB8500_REGULATOR_SWITCH_ESRAM12RET
292 db8500_esram12_ret_reg: db8500_esram12_ret {
293 regulator-name = "db8500-esram12-ret";
294 };
295
296 // DB8500_REGULATOR_SWITCH_ESRAM34
297 db8500_esram34_reg: db8500_esram34 {
298 regulator-name = "db8500-esram34";
299 };
300
301 // DB8500_REGULATOR_SWITCH_ESRAM34RET
302 db8500_esram34_ret_reg: db8500_esram34_ret {
303 regulator-name = "db8500-esram34-ret";
304 };
305 };
306
Lee Jones7e0ce272012-03-15 16:46:17 +0000307 ab8500@5 {
308 compatible = "stericsson,ab8500";
309 reg = <5>; /* mailbox 5 is i2c */
310 interrupts = <0 40 0x4>;
Lee Jones4a85c7f2012-05-29 14:29:53 +0800311
312 ab8500-regulators {
313 compatible = "stericsson,ab8500-regulator";
314
315 // supplies to the display/camera
316 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
317 regulator-name = "V-DISPLAY";
318 regulator-min-microvolt = <2500000>;
319 regulator-max-microvolt = <2900000>;
320 regulator-boot-on;
321 /* BUG: If turned off MMC will be affected. */
322 regulator-always-on;
323 };
324
325 // supplies to the on-board eMMC
326 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
327 regulator-name = "V-eMMC1";
328 regulator-min-microvolt = <1100000>;
329 regulator-max-microvolt = <3300000>;
330 };
331
332 // supply for VAUX3; SDcard slots
333 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
334 regulator-name = "V-MMC-SD";
335 regulator-min-microvolt = <1100000>;
336 regulator-max-microvolt = <3300000>;
337 };
338
339 // supply for v-intcore12; VINTCORE12 LDO
340 ab8500_ldo_initcore_reg: ab8500_ldo_initcore {
341 regulator-name = "V-INTCORE";
342 };
343
344 // supply for tvout; gpadc; TVOUT LDO
345 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
346 regulator-name = "V-TVOUT";
347 };
348
349 // supply for ab8500-usb; USB LDO
350 ab8500_ldo_usb_reg: ab8500_ldo_usb {
351 regulator-name = "dummy";
352 };
353
354 // supply for ab8500-vaudio; VAUDIO LDO
355 ab8500_ldo_audio_reg: ab8500_ldo_audio {
356 regulator-name = "V-AUD";
357 };
358
359 // supply for v-anamic1 VAMic1-LDO
360 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
361 regulator-name = "V-AMIC1";
362 };
363
364 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
365 ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
366 regulator-name = "V-AMIC2";
367 };
368
369 // supply for v-dmic; VDMIC LDO
370 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
371 regulator-name = "V-DMIC";
372 };
373
374 // supply for U8500 CSI/DSI; VANA LDO
375 ab8500_ldo_ana_reg: ab8500_ldo_ana {
376 regulator-name = "V-CSI/DSI";
377 };
378 };
Lee Jones7e0ce272012-03-15 16:46:17 +0000379 };
380 };
381
382 i2c@80004000 {
Lee Jones785834a2012-04-13 15:05:04 +0100383 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000384 reg = <0x80004000 0x1000>;
385 interrupts = <0 21 0x4>;
386 #address-cells = <1>;
387 #size-cells = <0>;
388 };
389
390 i2c@80122000 {
Lee Jones785834a2012-04-13 15:05:04 +0100391 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000392 reg = <0x80122000 0x1000>;
393 interrupts = <0 22 0x4>;
394 #address-cells = <1>;
395 #size-cells = <0>;
396 };
397
398 i2c@80128000 {
Lee Jones785834a2012-04-13 15:05:04 +0100399 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000400 reg = <0x80128000 0x1000>;
401 interrupts = <0 55 0x4>;
402 #address-cells = <1>;
403 #size-cells = <0>;
404 };
405
406 i2c@80110000 {
Lee Jones785834a2012-04-13 15:05:04 +0100407 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000408 reg = <0x80110000 0x1000>;
409 interrupts = <0 12 0x4>;
410 #address-cells = <1>;
411 #size-cells = <0>;
412 };
413
414 i2c@8012a000 {
Lee Jones785834a2012-04-13 15:05:04 +0100415 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
Lee Jones7e0ce272012-03-15 16:46:17 +0000416 reg = <0x8012a000 0x1000>;
417 interrupts = <0 51 0x4>;
418 #address-cells = <1>;
419 #size-cells = <0>;
420 };
421
422 ssp@80002000 {
423 compatible = "arm,pl022", "arm,primecell";
424 reg = <80002000 0x1000>;
425 interrupts = <0 14 0x4>;
426 #address-cells = <1>;
427 #size-cells = <0>;
428 status = "disabled";
Lee Jones15daf692012-03-15 16:47:11 +0000429
430 // Add one of these for each child device
Lee Jones93b56982012-05-29 14:17:36 +0800431 cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
432 &gpio6 22 0x4 &gpio7 0 0x4>;
Lee Jones15daf692012-03-15 16:47:11 +0000433
Lee Jones7e0ce272012-03-15 16:46:17 +0000434 };
435
436 uart@80120000 {
437 compatible = "arm,pl011", "arm,primecell";
438 reg = <0x80120000 0x1000>;
439 interrupts = <0 11 0x4>;
440 status = "disabled";
441 };
442 uart@80121000 {
443 compatible = "arm,pl011", "arm,primecell";
444 reg = <0x80121000 0x1000>;
445 interrupts = <0 19 0x4>;
446 status = "disabled";
447 };
448 uart@80007000 {
449 compatible = "arm,pl011", "arm,primecell";
450 reg = <0x80007000 0x1000>;
451 interrupts = <0 26 0x4>;
452 status = "disabled";
453 };
454
455 sdi@80126000 {
456 compatible = "arm,pl18x", "arm,primecell";
457 reg = <0x80126000 0x1000>;
458 interrupts = <0 60 0x4>;
459 status = "disabled";
460 };
461 sdi@80118000 {
462 compatible = "arm,pl18x", "arm,primecell";
463 reg = <0x80118000 0x1000>;
464 interrupts = <0 50 0x4>;
465 status = "disabled";
466 };
467 sdi@80005000 {
468 compatible = "arm,pl18x", "arm,primecell";
469 reg = <0x80005000 0x1000>;
470 interrupts = <0 41 0x4>;
471 status = "disabled";
472 };
473 sdi@80119000 {
474 compatible = "arm,pl18x", "arm,primecell";
475 reg = <0x80119000 0x1000>;
476 interrupts = <0 59 0x4>;
477 status = "disabled";
478 };
479 sdi@80114000 {
480 compatible = "arm,pl18x", "arm,primecell";
481 reg = <0x80114000 0x1000>;
482 interrupts = <0 99 0x4>;
483 status = "disabled";
484 };
485 sdi@80008000 {
486 compatible = "arm,pl18x", "arm,primecell";
487 reg = <0x80114000 0x1000>;
488 interrupts = <0 100 0x4>;
489 status = "disabled";
490 };
Lee Jonesbf76e062012-04-24 10:53:18 +0100491
492 external-bus@50000000 {
493 compatible = "simple-bus";
494 reg = <0x50000000 0x4000000>;
495 #address-cells = <1>;
496 #size-cells = <1>;
497 ranges = <0 0x50000000 0x4000000>;
498 status = "disabled";
499 };
Arnd Bergmann5d0769f2012-03-02 23:07:21 +0000500 };
501};