]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - arch/arm/boot/dts/db8500.dtsi
ARM: ux500: Add a ab8500-gpadc node to the db8500 Device Tree
[mirror_ubuntu-artful-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 = "stericsson,db8500-rtc";
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 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 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 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 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 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 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 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 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 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-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
311 ab8500@5 {
312 compatible = "stericsson,ab8500";
313 reg = <5>; /* mailbox 5 is i2c */
314 interrupts = <0 40 0x4>;
315
316 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
324 ab8500-regulators {
325 compatible = "stericsson,ab8500-regulator";
326
327 // supplies to the display/camera
328 ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
329 regulator-name = "V-DISPLAY";
330 regulator-min-microvolt = <2500000>;
331 regulator-max-microvolt = <2900000>;
332 regulator-boot-on;
333 /* BUG: If turned off MMC will be affected. */
334 regulator-always-on;
335 };
336
337 // supplies to the on-board eMMC
338 ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
339 regulator-name = "V-eMMC1";
340 regulator-min-microvolt = <1100000>;
341 regulator-max-microvolt = <3300000>;
342 };
343
344 // supply for VAUX3; SDcard slots
345 ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
346 regulator-name = "V-MMC-SD";
347 regulator-min-microvolt = <1100000>;
348 regulator-max-microvolt = <3300000>;
349 };
350
351 // supply for v-intcore12; VINTCORE12 LDO
352 ab8500_ldo_initcore_reg: ab8500_ldo_initcore {
353 regulator-name = "V-INTCORE";
354 };
355
356 // supply for tvout; gpadc; TVOUT LDO
357 ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
358 regulator-name = "V-TVOUT";
359 };
360
361 // supply for ab8500-usb; USB LDO
362 ab8500_ldo_usb_reg: ab8500_ldo_usb {
363 regulator-name = "dummy";
364 };
365
366 // supply for ab8500-vaudio; VAUDIO LDO
367 ab8500_ldo_audio_reg: ab8500_ldo_audio {
368 regulator-name = "V-AUD";
369 };
370
371 // supply for v-anamic1 VAMic1-LDO
372 ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
373 regulator-name = "V-AMIC1";
374 };
375
376 // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
377 ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
378 regulator-name = "V-AMIC2";
379 };
380
381 // supply for v-dmic; VDMIC LDO
382 ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
383 regulator-name = "V-DMIC";
384 };
385
386 // supply for U8500 CSI/DSI; VANA LDO
387 ab8500_ldo_ana_reg: ab8500_ldo_ana {
388 regulator-name = "V-CSI/DSI";
389 };
390 };
391 };
392 };
393
394 i2c@80004000 {
395 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
396 reg = <0x80004000 0x1000>;
397 interrupts = <0 21 0x4>;
398 #address-cells = <1>;
399 #size-cells = <0>;
400 };
401
402 i2c@80122000 {
403 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
404 reg = <0x80122000 0x1000>;
405 interrupts = <0 22 0x4>;
406 #address-cells = <1>;
407 #size-cells = <0>;
408 };
409
410 i2c@80128000 {
411 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
412 reg = <0x80128000 0x1000>;
413 interrupts = <0 55 0x4>;
414 #address-cells = <1>;
415 #size-cells = <0>;
416 };
417
418 i2c@80110000 {
419 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
420 reg = <0x80110000 0x1000>;
421 interrupts = <0 12 0x4>;
422 #address-cells = <1>;
423 #size-cells = <0>;
424 };
425
426 i2c@8012a000 {
427 compatible = "stericsson,db8500-i2c", "st,nomadik-i2c";
428 reg = <0x8012a000 0x1000>;
429 interrupts = <0 51 0x4>;
430 #address-cells = <1>;
431 #size-cells = <0>;
432 };
433
434 ssp@80002000 {
435 compatible = "arm,pl022", "arm,primecell";
436 reg = <80002000 0x1000>;
437 interrupts = <0 14 0x4>;
438 #address-cells = <1>;
439 #size-cells = <0>;
440 status = "disabled";
441
442 // Add one of these for each child device
443 cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
444 &gpio6 22 0x4 &gpio7 0 0x4>;
445
446 };
447
448 uart@80120000 {
449 compatible = "arm,pl011", "arm,primecell";
450 reg = <0x80120000 0x1000>;
451 interrupts = <0 11 0x4>;
452 status = "disabled";
453 };
454 uart@80121000 {
455 compatible = "arm,pl011", "arm,primecell";
456 reg = <0x80121000 0x1000>;
457 interrupts = <0 19 0x4>;
458 status = "disabled";
459 };
460 uart@80007000 {
461 compatible = "arm,pl011", "arm,primecell";
462 reg = <0x80007000 0x1000>;
463 interrupts = <0 26 0x4>;
464 status = "disabled";
465 };
466
467 sdi@80126000 {
468 compatible = "arm,pl18x", "arm,primecell";
469 reg = <0x80126000 0x1000>;
470 interrupts = <0 60 0x4>;
471 status = "disabled";
472 };
473 sdi@80118000 {
474 compatible = "arm,pl18x", "arm,primecell";
475 reg = <0x80118000 0x1000>;
476 interrupts = <0 50 0x4>;
477 status = "disabled";
478 };
479 sdi@80005000 {
480 compatible = "arm,pl18x", "arm,primecell";
481 reg = <0x80005000 0x1000>;
482 interrupts = <0 41 0x4>;
483 status = "disabled";
484 };
485 sdi@80119000 {
486 compatible = "arm,pl18x", "arm,primecell";
487 reg = <0x80119000 0x1000>;
488 interrupts = <0 59 0x4>;
489 status = "disabled";
490 };
491 sdi@80114000 {
492 compatible = "arm,pl18x", "arm,primecell";
493 reg = <0x80114000 0x1000>;
494 interrupts = <0 99 0x4>;
495 status = "disabled";
496 };
497 sdi@80008000 {
498 compatible = "arm,pl18x", "arm,primecell";
499 reg = <0x80114000 0x1000>;
500 interrupts = <0 100 0x4>;
501 status = "disabled";
502 };
503
504 external-bus@50000000 {
505 compatible = "simple-bus";
506 reg = <0x50000000 0x4000000>;
507 #address-cells = <1>;
508 #size-cells = <1>;
509 ranges = <0 0x50000000 0x4000000>;
510 status = "disabled";
511 };
512 };
513 };