]> git.kernelconcepts.de Git - karo-tx-linux.git/blob - arch/arm/boot/dts/dbx5x0.dtsi
ARM: ux500: Add i2c configurations to the Device Tree for DB8500 based devices
[karo-tx-linux.git] / arch / arm / boot / dts / dbx5x0.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                         interrupt-controller;
198                         #interrupt-cells = <2>;
199                         ranges;
200
201                         prcmu-timer-4@80157450 {
202                                 compatible = "stericsson,db8500-prcmu-timer-4";
203                                 reg = <0x80157450 0xC>;
204                         };
205
206                         db8500-prcmu-regulators {
207                                 compatible = "stericsson,db8500-prcmu-regulator";
208
209                                 // DB8500_REGULATOR_VAPE
210                                 db8500_vape_reg: db8500_vape {
211                                         regulator-compatible = "db8500_vape";
212                                         regulator-name = "db8500-vape";
213                                         regulator-always-on;
214                                 };
215
216                                 // DB8500_REGULATOR_VARM
217                                 db8500_varm_reg: db8500_varm {
218                                         regulator-compatible = "db8500_varm";
219                                         regulator-name = "db8500-varm";
220                                 };
221
222                                 // DB8500_REGULATOR_VMODEM
223                                 db8500_vmodem_reg: db8500_vmodem {
224                                         regulator-compatible = "db8500_vmodem";
225                                         regulator-name = "db8500-vmodem";
226                                 };
227
228                                 // DB8500_REGULATOR_VPLL
229                                 db8500_vpll_reg: db8500_vpll {
230                                         regulator-compatible = "db8500_vpll";
231                                         regulator-name = "db8500-vpll";
232                                 };
233
234                                 // DB8500_REGULATOR_VSMPS1
235                                 db8500_vsmps1_reg: db8500_vsmps1 {
236                                         regulator-compatible = "db8500_vsmps1";
237                                         regulator-name = "db8500-vsmps1";
238                                 };
239
240                                 // DB8500_REGULATOR_VSMPS2
241                                 db8500_vsmps2_reg: db8500_vsmps2 {
242                                         regulator-compatible = "db8500_vsmps2";
243                                         regulator-name = "db8500-vsmps2";
244                                 };
245
246                                 // DB8500_REGULATOR_VSMPS3
247                                 db8500_vsmps3_reg: db8500_vsmps3 {
248                                         regulator-compatible = "db8500_vsmps3";
249                                         regulator-name = "db8500-vsmps3";
250                                 };
251
252                                 // DB8500_REGULATOR_VRF1
253                                 db8500_vrf1_reg: db8500_vrf1 {
254                                         regulator-compatible = "db8500_vrf1";
255                                         regulator-name = "db8500-vrf1";
256                                 };
257
258                                 // DB8500_REGULATOR_SWITCH_SVAMMDSP
259                                 db8500_sva_mmdsp_reg: db8500_sva_mmdsp {
260                                         regulator-compatible = "db8500_sva_mmdsp";
261                                         regulator-name = "db8500-sva-mmdsp";
262                                 };
263
264                                 // DB8500_REGULATOR_SWITCH_SVAMMDSPRET
265                                 db8500_sva_mmdsp_ret_reg: db8500_sva_mmdsp_ret {
266                                         regulator-compatible = "db8500_sva_mmdsp_ret";
267                                         regulator-name = "db8500-sva-mmdsp-ret";
268                                 };
269
270                                 // DB8500_REGULATOR_SWITCH_SVAPIPE
271                                 db8500_sva_pipe_reg: db8500_sva_pipe {
272                                         regulator-compatible = "db8500_sva_pipe";
273                                         regulator-name = "db8500_sva_pipe";
274                                 };
275
276                                 // DB8500_REGULATOR_SWITCH_SIAMMDSP
277                                 db8500_sia_mmdsp_reg: db8500_sia_mmdsp {
278                                         regulator-compatible = "db8500_sia_mmdsp";
279                                         regulator-name = "db8500_sia_mmdsp";
280                                 };
281
282                                 // DB8500_REGULATOR_SWITCH_SIAMMDSPRET
283                                 db8500_sia_mmdsp_ret_reg: db8500_sia_mmdsp_ret {
284                                         regulator-name = "db8500-sia-mmdsp-ret";
285                                 };
286
287                                 // DB8500_REGULATOR_SWITCH_SIAPIPE
288                                 db8500_sia_pipe_reg: db8500_sia_pipe {
289                                         regulator-compatible = "db8500_sia_pipe";
290                                         regulator-name = "db8500-sia-pipe";
291                                 };
292
293                                 // DB8500_REGULATOR_SWITCH_SGA
294                                 db8500_sga_reg: db8500_sga {
295                                         regulator-compatible = "db8500_sga";
296                                         regulator-name = "db8500-sga";
297                                         vin-supply = <&db8500_vape_reg>;
298                                 };
299
300                                 // DB8500_REGULATOR_SWITCH_B2R2_MCDE
301                                 db8500_b2r2_mcde_reg: db8500_b2r2_mcde {
302                                         regulator-compatible = "db8500_b2r2_mcde";
303                                         regulator-name = "db8500-b2r2-mcde";
304                                         vin-supply = <&db8500_vape_reg>;
305                                 };
306
307                                 // DB8500_REGULATOR_SWITCH_ESRAM12
308                                 db8500_esram12_reg: db8500_esram12 {
309                                         regulator-compatible = "db8500_esram12";
310                                         regulator-name = "db8500-esram12";
311                                 };
312
313                                 // DB8500_REGULATOR_SWITCH_ESRAM12RET
314                                 db8500_esram12_ret_reg: db8500_esram12_ret {
315                                         regulator-compatible = "db8500_esram12_ret";
316                                         regulator-name = "db8500-esram12-ret";
317                                 };
318
319                                 // DB8500_REGULATOR_SWITCH_ESRAM34
320                                 db8500_esram34_reg: db8500_esram34 {
321                                         regulator-compatible = "db8500_esram34";
322                                         regulator-name = "db8500-esram34";
323                                 };
324
325                                 // DB8500_REGULATOR_SWITCH_ESRAM34RET
326                                 db8500_esram34_ret_reg: db8500_esram34_ret {
327                                         regulator-compatible = "db8500_esram34_ret";
328                                         regulator-name = "db8500-esram34-ret";
329                                 };
330                         };
331
332                         ab8500@5 {
333                                 compatible = "stericsson,ab8500";
334                                 reg = <5>; /* mailbox 5 is i2c */
335                                 interrupt-parent = <&intc>;
336                                 interrupts = <0 40 0x4>;
337                                 interrupt-controller;
338                                 #interrupt-cells = <2>;
339
340                                 ab8500-rtc {
341                                         compatible = "stericsson,ab8500-rtc";
342                                         interrupts = <17 0x4
343                                                       18 0x4>;
344                                         interrupt-names = "60S", "ALARM";
345                                 };
346
347                                 ab8500-gpadc {
348                                         compatible = "stericsson,ab8500-gpadc";
349                                         interrupts = <32 0x4
350                                                       39 0x4>;
351                                         interrupt-names = "HW_CONV_END", "SW_CONV_END";
352                                         vddadc-supply = <&ab8500_ldo_tvout_reg>;
353                                 };
354
355                                 ab8500-usb {
356                                         compatible = "stericsson,ab8500-usb";
357                                         interrupts = < 90 0x4
358                                                        96 0x4
359                                                        14 0x4
360                                                        15 0x4
361                                                        79 0x4
362                                                        74 0x4
363                                                        75 0x4>;
364                                         interrupt-names = "ID_WAKEUP_R",
365                                                           "ID_WAKEUP_F",
366                                                           "VBUS_DET_F",
367                                                           "VBUS_DET_R",
368                                                           "USB_LINK_STATUS",
369                                                           "USB_ADP_PROBE_PLUG",
370                                                           "USB_ADP_PROBE_UNPLUG";
371                                         vddulpivio18-supply = <&ab8500_ldo_initcore_reg>;
372                                         v-ape-supply = <&db8500_vape_reg>;
373                                         musb_1v8-supply = <&db8500_vsmps2_reg>;
374                                 };
375
376                                 ab8500-ponkey {
377                                         compatible = "stericsson,ab8500-poweron-key";
378                                         interrupts = <6 0x4
379                                                       7 0x4>;
380                                         interrupt-names = "ONKEY_DBF", "ONKEY_DBR";
381                                 };
382
383                                 ab8500-sysctrl {
384                                         compatible = "stericsson,ab8500-sysctrl";
385                                 };
386
387                                 ab8500-pwm {
388                                         compatible = "stericsson,ab8500-pwm";
389                                 };
390
391                                 ab8500-debugfs {
392                                         compatible = "stericsson,ab8500-debug";
393                                 };
394
395                                 ab8500-regulators {
396                                         compatible = "stericsson,ab8500-regulator";
397
398                                         // supplies to the display/camera
399                                         ab8500_ldo_aux1_reg: ab8500_ldo_aux1 {
400                                                 regulator-compatible = "ab8500_ldo_aux1";
401                                                 regulator-name = "V-DISPLAY";
402                                                 regulator-min-microvolt = <2500000>;
403                                                 regulator-max-microvolt = <2900000>;
404                                                 regulator-boot-on;
405                                                 /* BUG: If turned off MMC will be affected. */
406                                                 regulator-always-on;
407                                         };
408
409                                         // supplies to the on-board eMMC
410                                         ab8500_ldo_aux2_reg: ab8500_ldo_aux2 {
411                                                 regulator-compatible = "ab8500_ldo_aux2";
412                                                 regulator-name = "V-eMMC1";
413                                                 regulator-min-microvolt = <1100000>;
414                                                 regulator-max-microvolt = <3300000>;
415                                         };
416
417                                         // supply for VAUX3; SDcard slots
418                                         ab8500_ldo_aux3_reg: ab8500_ldo_aux3 {
419                                                 regulator-compatible = "ab8500_ldo_aux3";
420                                                 regulator-name = "V-MMC-SD";
421                                                 regulator-min-microvolt = <1100000>;
422                                                 regulator-max-microvolt = <3300000>;
423                                         };
424
425                                         // supply for v-intcore12; VINTCORE12 LDO
426                                         ab8500_ldo_initcore_reg: ab8500_ldo_initcore {
427                                                 regulator-compatible = "ab8500_ldo_initcore";
428                                                 regulator-name = "V-INTCORE";
429                                         };
430
431                                         // supply for tvout; gpadc; TVOUT LDO
432                                         ab8500_ldo_tvout_reg: ab8500_ldo_tvout {
433                                                 regulator-compatible = "ab8500_ldo_tvout";
434                                                 regulator-name = "V-TVOUT";
435                                         };
436
437                                         // supply for ab8500-usb; USB LDO
438                                         ab8500_ldo_usb_reg: ab8500_ldo_usb {
439                                                 regulator-compatible = "ab8500_ldo_usb";
440                                                 regulator-name = "dummy";
441                                         };
442
443                                         // supply for ab8500-vaudio; VAUDIO LDO
444                                         ab8500_ldo_audio_reg: ab8500_ldo_audio {
445                                                 regulator-compatible = "ab8500_ldo_audio";
446                                                 regulator-name = "V-AUD";
447                                         };
448
449                                         // supply for v-anamic1 VAMic1-LDO
450                                         ab8500_ldo_anamic1_reg: ab8500_ldo_anamic1 {
451                                                 regulator-compatible = "ab8500_ldo_anamic1";
452                                                 regulator-name = "V-AMIC1";
453                                         };
454
455                                         // supply for v-amic2; VAMIC2 LDO; reuse constants for AMIC1
456                                         ab8500_ldo_amamic2_reg: ab8500_ldo_amamic2 {
457                                                 regulator-compatible = "ab8500_ldo_amamic2";
458                                                 regulator-name = "V-AMIC2";
459                                         };
460
461                                         // supply for v-dmic; VDMIC LDO
462                                         ab8500_ldo_dmic_reg: ab8500_ldo_dmic {
463                                                 regulator-compatible = "ab8500_ldo_dmic";
464                                                 regulator-name = "V-DMIC";
465                                         };
466
467                                         // supply for U8500 CSI/DSI; VANA LDO
468                                         ab8500_ldo_ana_reg: ab8500_ldo_ana {
469                                                 regulator-compatible = "ab8500_ldo_ana";
470                                                 regulator-name = "V-CSI/DSI";
471                                         };
472                                 };
473                         };
474                 };
475
476                 i2c@80004000 {
477                         compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
478                         reg = <0x80004000 0x1000>;
479                         interrupts = <0 21 0x4>;
480                         #address-cells = <1>;
481                         #size-cells = <0>;
482                         v-i2c-supply = <&db8500_vape_reg>;
483
484                         clock-frequency = <400000>;
485                 };
486
487                 i2c@80122000 {
488                         compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
489                         reg = <0x80122000 0x1000>;
490                         interrupts = <0 22 0x4>;
491                         #address-cells = <1>;
492                         #size-cells = <0>;
493                         v-i2c-supply = <&db8500_vape_reg>;
494
495                         clock-frequency = <400000>;
496                 };
497
498                 i2c@80128000 {
499                         compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
500                         reg = <0x80128000 0x1000>;
501                         interrupts = <0 55 0x4>;
502                         #address-cells = <1>;
503                         #size-cells = <0>;
504                         v-i2c-supply = <&db8500_vape_reg>;
505
506                         clock-frequency = <400000>;
507                 };
508
509                 i2c@80110000 {
510                         compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
511                         reg = <0x80110000 0x1000>;
512                         interrupts = <0 12 0x4>;
513                         #address-cells = <1>;
514                         #size-cells = <0>;
515                         v-i2c-supply = <&db8500_vape_reg>;
516
517                         clock-frequency = <400000>;
518                 };
519
520                 i2c@8012a000 {
521                         compatible = "stericsson,db8500-i2c", "st,nomadik-i2c", "arm,primecell";
522                         reg = <0x8012a000 0x1000>;
523                         interrupts = <0 51 0x4>;
524                         #address-cells = <1>;
525                         #size-cells = <0>;
526                         v-i2c-supply = <&db8500_vape_reg>;
527
528                         clock-frequency = <400000>;
529                 };
530
531                 ssp@80002000 {
532                         compatible = "arm,pl022", "arm,primecell";
533                         reg = <80002000 0x1000>;
534                         interrupts = <0 14 0x4>;
535                         #address-cells = <1>;
536                         #size-cells = <0>;
537                         status = "disabled";
538
539                         // Add one of these for each child device
540                         cs-gpios = <&gpio0 31 0x4 &gpio4 14 0x4 &gpio4 16 0x4
541                                     &gpio6 22 0x4 &gpio7 0 0x4>;
542
543                 };
544
545                 uart@80120000 {
546                         compatible = "arm,pl011", "arm,primecell";
547                         reg = <0x80120000 0x1000>;
548                         interrupts = <0 11 0x4>;
549                         status = "disabled";
550                 };
551                 uart@80121000 {
552                         compatible = "arm,pl011", "arm,primecell";
553                         reg = <0x80121000 0x1000>;
554                         interrupts = <0 19 0x4>;
555                         status = "disabled";
556                 };
557                 uart@80007000 {
558                         compatible = "arm,pl011", "arm,primecell";
559                         reg = <0x80007000 0x1000>;
560                         interrupts = <0 26 0x4>;
561                         status = "disabled";
562                 };
563
564                 sdi@80126000 {
565                         compatible = "arm,pl18x", "arm,primecell";
566                         reg = <0x80126000 0x1000>;
567                         interrupts = <0 60 0x4>;
568                         status = "disabled";
569                 };
570                 sdi@80118000 {
571                         compatible = "arm,pl18x", "arm,primecell";
572                         reg = <0x80118000 0x1000>;
573                         interrupts = <0 50 0x4>;
574                         status = "disabled";
575                 };
576                 sdi@80005000 {
577                         compatible = "arm,pl18x", "arm,primecell";
578                         reg = <0x80005000 0x1000>;
579                         interrupts = <0 41 0x4>;
580                         status = "disabled";
581                 };
582                 sdi@80119000 {
583                         compatible = "arm,pl18x", "arm,primecell";
584                         reg = <0x80119000 0x1000>;
585                         interrupts = <0 59 0x4>;
586                         status = "disabled";
587                 };
588                 sdi@80114000 {
589                         compatible = "arm,pl18x", "arm,primecell";
590                         reg = <0x80114000 0x1000>;
591                         interrupts = <0 99 0x4>;
592                         status = "disabled";
593                 };
594                 sdi@80008000 {
595                         compatible = "arm,pl18x", "arm,primecell";
596                         reg = <0x80114000 0x1000>;
597                         interrupts = <0 100 0x4>;
598                         status = "disabled";
599                 };
600
601                 external-bus@50000000 {
602                         compatible = "simple-bus";
603                         reg = <0x50000000 0x4000000>;
604                         #address-cells = <1>;
605                         #size-cells = <1>;
606                         ranges = <0 0x50000000 0x4000000>;
607                         status = "disabled";
608                 };
609         };
610 };