Merge remote-tracking branches 'regulator/topic/arizona', 'regulator/topic/axp20...
[firefly-linux-kernel-4.4.55.git] / arch / arm / boot / dts / exynos5250-arndale.dts
1 /*
2  * Samsung's Exynos5250 based Arndale board device tree source
3  *
4  * Copyright (c) 2013 Samsung Electronics Co., Ltd.
5  *              http://www.samsung.com
6  *
7  * This program is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License version 2 as
9  * published by the Free Software Foundation.
10 */
11
12 /dts-v1/;
13 #include "exynos5250.dtsi"
14 #include <dt-bindings/interrupt-controller/irq.h>
15
16 / {
17         model = "Insignal Arndale evaluation board based on EXYNOS5250";
18         compatible = "insignal,arndale", "samsung,exynos5250", "samsung,exynos5";
19
20         memory {
21                 reg = <0x40000000 0x80000000>;
22         };
23
24         chosen {
25                 bootargs = "console=ttySAC2,115200";
26         };
27
28         rtc@101E0000 {
29                 status = "okay";
30         };
31
32         codec@11000000 {
33                 samsung,mfc-r = <0x43000000 0x800000>;
34                 samsung,mfc-l = <0x51000000 0x800000>;
35         };
36
37         i2c@12C60000 {
38                 samsung,i2c-sda-delay = <100>;
39                 samsung,i2c-max-bus-freq = <20000>;
40                 samsung,i2c-slave-addr = <0x66>;
41                 status = "okay";
42
43                 s5m8767_pmic@66 {
44                         compatible = "samsung,s5m8767-pmic";
45                         reg = <0x66>;
46                         interrupt-parent = <&gpx3>;
47                         interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
48
49                         vinb1-supply = <&main_dc_reg>;
50                         vinb2-supply = <&main_dc_reg>;
51                         vinb3-supply = <&main_dc_reg>;
52                         vinb4-supply = <&main_dc_reg>;
53                         vinb5-supply = <&main_dc_reg>;
54                         vinb6-supply = <&main_dc_reg>;
55                         vinb7-supply = <&main_dc_reg>;
56                         vinb8-supply = <&main_dc_reg>;
57                         vinb9-supply = <&main_dc_reg>;
58
59                         vinl1-supply = <&buck7_reg>;
60                         vinl2-supply = <&buck7_reg>;
61                         vinl3-supply = <&buck7_reg>;
62                         vinl4-supply = <&main_dc_reg>;
63                         vinl5-supply = <&main_dc_reg>;
64                         vinl6-supply = <&main_dc_reg>;
65                         vinl7-supply = <&main_dc_reg>;
66                         vinl8-supply = <&buck8_reg>;
67                         vinl9-supply = <&buck8_reg>;
68
69                         s5m8767,pmic-buck2-dvs-voltage = <1300000>;
70                         s5m8767,pmic-buck3-dvs-voltage = <1100000>;
71                         s5m8767,pmic-buck4-dvs-voltage = <1200000>;
72                         s5m8767,pmic-buck-dvs-gpios = <&gpd1 0 0>,
73                                                         <&gpd1 1 0>,
74                                                         <&gpd1 2 0>;
75                         s5m8767,pmic-buck-ds-gpios = <&gpx2 3 0>,
76                                                         <&gpx2 4 0>,
77                                                         <&gpx2 5 0>;
78                         regulators {
79                                 ldo1_reg: LDO1 {
80                                         regulator-name = "VDD_ALIVE_1.0V";
81                                         regulator-min-microvolt = <1100000>;
82                                         regulator-max-microvolt = <1100000>;
83                                         regulator-always-on;
84                                         regulator-boot-on;
85                                         op_mode = <1>;
86                                 };
87
88                                 ldo2_reg: LDO2 {
89                                         regulator-name = "VDD_28IO_DP_1.35V";
90                                         regulator-min-microvolt = <1200000>;
91                                         regulator-max-microvolt = <1200000>;
92                                         regulator-always-on;
93                                         regulator-boot-on;
94                                         op_mode = <1>;
95                                 };
96
97                                 ldo3_reg: LDO3 {
98                                         regulator-name = "VDD_COMMON1_1.8V";
99                                         regulator-min-microvolt = <1800000>;
100                                         regulator-max-microvolt = <1800000>;
101                                         regulator-always-on;
102                                         regulator-boot-on;
103                                         op_mode = <1>;
104                                 };
105
106                                 ldo4_reg: LDO4 {
107                                         regulator-name = "VDD_IOPERI_1.8V";
108                                         regulator-min-microvolt = <1800000>;
109                                         regulator-max-microvolt = <1800000>;
110                                         regulator-always-on;
111                                         op_mode = <1>;
112                                 };
113
114                                 ldo5_reg: LDO5 {
115                                         regulator-name = "VDD_EXT_1.8V";
116                                         regulator-min-microvolt = <1800000>;
117                                         regulator-max-microvolt = <1800000>;
118                                         regulator-always-on;
119                                         regulator-boot-on;
120                                         op_mode = <1>;
121                                 };
122
123                                 ldo6_reg: LDO6 {
124                                         regulator-name = "VDD_MPLL_1.1V";
125                                         regulator-min-microvolt = <1100000>;
126                                         regulator-max-microvolt = <1100000>;
127                                         regulator-always-on;
128                                         regulator-boot-on;
129                                         op_mode = <1>;
130                                 };
131
132                                 ldo7_reg: LDO7 {
133                                         regulator-name = "VDD_XPLL_1.1V";
134                                         regulator-min-microvolt = <1100000>;
135                                         regulator-max-microvolt = <1100000>;
136                                         regulator-always-on;
137                                         regulator-boot-on;
138                                         op_mode = <1>;
139                                 };
140
141                                 ldo8_reg: LDO8 {
142                                         regulator-name = "VDD_COMMON2_1.0V";
143                                         regulator-min-microvolt = <1000000>;
144                                         regulator-max-microvolt = <1000000>;
145                                         regulator-always-on;
146                                         regulator-boot-on;
147                                         op_mode = <1>;
148                                 };
149
150                                 ldo9_reg: LDO9 {
151                                         regulator-name = "VDD_33ON_3.0V";
152                                         regulator-min-microvolt = <3000000>;
153                                         regulator-max-microvolt = <3000000>;
154                                         op_mode = <1>;
155                                 };
156
157                                 ldo10_reg: LDO10 {
158                                         regulator-name = "VDD_COMMON3_1.8V";
159                                         regulator-min-microvolt = <1800000>;
160                                         regulator-max-microvolt = <1800000>;
161                                         regulator-always-on;
162                                         regulator-boot-on;
163                                         op_mode = <1>;
164                                 };
165
166                                 ldo11_reg: LDO11 {
167                                         regulator-name = "VDD_ABB2_1.8V";
168                                         regulator-min-microvolt = <1800000>;
169                                         regulator-max-microvolt = <1800000>;
170                                         regulator-always-on;
171                                         regulator-boot-on;
172                                         op_mode = <1>;
173                                 };
174
175                                 ldo12_reg: LDO12 {
176                                         regulator-name = "VDD_USB_3.0V";
177                                         regulator-min-microvolt = <3000000>;
178                                         regulator-max-microvolt = <3000000>;
179                                         regulator-always-on;
180                                         regulator-boot-on;
181                                         op_mode = <1>;
182                                 };
183
184                                 ldo13_reg: LDO13 {
185                                         regulator-name = "VDDQ_C2C_W_1.8V";
186                                         regulator-min-microvolt = <1800000>;
187                                         regulator-max-microvolt = <1800000>;
188                                         regulator-always-on;
189                                         regulator-boot-on;
190                                         op_mode = <1>;
191                                 };
192
193                                 ldo14_reg: LDO14 {
194                                         regulator-name = "VDD18_ABB0_3_1.8V";
195                                         regulator-min-microvolt = <1800000>;
196                                         regulator-max-microvolt = <1800000>;
197                                         regulator-always-on;
198                                         regulator-boot-on;
199                                         op_mode = <1>;
200                                 };
201
202                                 ldo15_reg: LDO15 {
203                                         regulator-name = "VDD10_COMMON4_1.0V";
204                                         regulator-min-microvolt = <1000000>;
205                                         regulator-max-microvolt = <1000000>;
206                                         regulator-always-on;
207                                         regulator-boot-on;
208                                         op_mode = <1>;
209                                 };
210
211                                 ldo16_reg: LDO16 {
212                                         regulator-name = "VDD18_HSIC_1.8V";
213                                         regulator-min-microvolt = <1800000>;
214                                         regulator-max-microvolt = <1800000>;
215                                         regulator-always-on;
216                                         regulator-boot-on;
217                                         op_mode = <1>;
218                                 };
219
220                                 ldo17_reg: LDO17 {
221                                         regulator-name = "VDDQ_MMC2_3_2.8V";
222                                         regulator-min-microvolt = <2800000>;
223                                         regulator-max-microvolt = <2800000>;
224                                         regulator-always-on;
225                                         regulator-boot-on;
226                                         op_mode = <1>;
227                                 };
228
229                                 ldo18_reg: LDO18 {
230                                         regulator-name = "VDD_33ON_2.8V";
231                                         regulator-min-microvolt = <2800000>;
232                                         regulator-max-microvolt = <2800000>;
233                                         op_mode = <1>;
234                                 };
235
236                                 ldo22_reg: LDO22 {
237                                         regulator-name = "EXT_33_OFF";
238                                         regulator-min-microvolt = <3300000>;
239                                         regulator-max-microvolt = <3300000>;
240                                         op_mode = <1>;
241                                 };
242
243                                 ldo23_reg: LDO23 {
244                                         regulator-name = "EXT_28_OFF";
245                                         regulator-min-microvolt = <2800000>;
246                                         regulator-max-microvolt = <2800000>;
247                                         op_mode = <1>;
248                                 };
249
250                                 ldo25_reg: LDO25 {
251                                         regulator-name = "PVDD_LDO25";
252                                         regulator-min-microvolt = <1200000>;
253                                         regulator-max-microvolt = <1200000>;
254                                         op_mode = <1>;
255                                 };
256
257                                 ldo26_reg: LDO26 {
258                                         regulator-name = "EXT_18_OFF";
259                                         regulator-min-microvolt = <1800000>;
260                                         regulator-max-microvolt = <1800000>;
261                                         op_mode = <1>;
262                                 };
263
264                                 buck1_reg: BUCK1 {
265                                         regulator-name = "vdd_mif";
266                                         regulator-min-microvolt = <950000>;
267                                         regulator-max-microvolt = <1200000>;
268                                         regulator-always-on;
269                                         regulator-boot-on;
270                                         op_mode = <1>;
271                                 };
272
273                                 buck2_reg: BUCK2 {
274                                         regulator-name = "vdd_arm";
275                                         regulator-min-microvolt = <912500>;
276                                         regulator-max-microvolt = <1300000>;
277                                         regulator-always-on;
278                                         regulator-boot-on;
279                                         op_mode = <1>;
280                                 };
281
282                                 buck3_reg: BUCK3 {
283                                         regulator-name = "vdd_int";
284                                         regulator-min-microvolt = <900000>;
285                                         regulator-max-microvolt = <1200000>;
286                                         regulator-always-on;
287                                         regulator-boot-on;
288                                         op_mode = <1>;
289                                 };
290
291                                 buck4_reg: BUCK4 {
292                                         regulator-name = "vdd_g3d";
293                                         regulator-min-microvolt = <1000000>;
294                                         regulator-max-microvolt = <1000000>;
295                                         regulator-always-on;
296                                         regulator-boot-on;
297                                         op_mode = <1>;
298                                 };
299
300                                 buck5_reg: BUCK5 {
301                                         regulator-name = "VDD_MEM_1.35V";
302                                         regulator-min-microvolt = <750000>;
303                                         regulator-max-microvolt = <1355000>;
304                                         regulator-always-on;
305                                         regulator-boot-on;
306                                         op_mode = <1>;
307                                 };
308
309                                 buck7_reg: BUCK7 {
310                                         regulator-name = "PVDD_BUCK7";
311                                         regulator-always-on;
312                                         op_mode = <1>;
313                                 };
314
315                                 buck8_reg: BUCK8 {
316                                         regulator-name = "PVDD_BUCK8";
317                                         regulator-always-on;
318                                         op_mode = <1>;
319                                 };
320
321                                 buck9_reg: BUCK9 {
322                                         regulator-name = "VDD_33_OFF_EXT1";
323                                         regulator-min-microvolt = <750000>;
324                                         regulator-max-microvolt = <3000000>;
325                                         op_mode = <1>;
326                                 };
327                         };
328                 };
329         };
330
331         i2c@12C80000 {
332                 status = "okay";
333
334                 samsung,i2c-sda-delay = <100>;
335                 samsung,i2c-max-bus-freq = <66000>;
336                 samsung,i2c-slave-addr = <0x50>;
337
338                 hdmiddc@50 {
339                         compatible = "samsung,exynos4210-hdmiddc";
340                         reg = <0x50>;
341                 };
342         };
343
344         i2c@12C90000 {
345                 status = "okay";
346
347                 wm1811a@1a {
348
349                         compatible = "wlf,wm1811";
350                         reg = <0x1a>;
351
352                         AVDD2-supply = <&main_dc_reg>;
353                         CPVDD-supply = <&main_dc_reg>;
354                         DBVDD1-supply = <&main_dc_reg>;
355                         DBVDD2-supply = <&main_dc_reg>;
356                         DBVDD3-supply = <&main_dc_reg>;
357                         LDO1VDD-supply = <&main_dc_reg>;
358                         SPKVDD1-supply = <&main_dc_reg>;
359                         SPKVDD2-supply = <&main_dc_reg>;
360
361                         wlf,ldo1ena = <&gpb0 0 0>;
362                         wlf,ldo2ena = <&gpb0 1 0>;
363                 };
364         };
365
366         i2c@12CE0000 {
367                 status = "okay";
368
369                 samsung,i2c-sda-delay = <100>;
370                 samsung,i2c-max-bus-freq = <66000>;
371                 samsung,i2c-slave-addr = <0x38>;
372
373                 hdmiphy@38 {
374                         compatible = "samsung,exynos4212-hdmiphy";
375                         reg = <0x38>;
376                 };
377         };
378
379         i2c@121D0000 {
380                 status = "okay";
381                 samsung,i2c-sda-delay = <100>;
382                 samsung,i2c-max-bus-freq = <40000>;
383                 samsung,i2c-slave-addr = <0x38>;
384
385                 sata_phy_i2c:sata-phy@38 {
386                         compatible = "samsung,exynos-sataphy-i2c";
387                         reg = <0x38>;
388                 };
389         };
390
391         sata@122F0000 {
392                 status = "okay";
393         };
394
395         sata-phy@12170000 {
396                 status = "okay";
397                 samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
398         };
399
400         mmc_0: mmc@12200000 {
401                 status = "okay";
402                 num-slots = <1>;
403                 supports-highspeed;
404                 broken-cd;
405                 card-detect-delay = <200>;
406                 samsung,dw-mshc-ciu-div = <3>;
407                 samsung,dw-mshc-sdr-timing = <2 3>;
408                 samsung,dw-mshc-ddr-timing = <1 2>;
409                 vmmc-supply = <&mmc_reg>;
410                 pinctrl-names = "default";
411                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
412
413                 slot@0 {
414                         reg = <0>;
415                         bus-width = <8>;
416                 };
417         };
418
419         mmc_2: mmc@12220000 {
420                 status = "okay";
421                 num-slots = <1>;
422                 supports-highspeed;
423                 card-detect-delay = <200>;
424                 samsung,dw-mshc-ciu-div = <3>;
425                 samsung,dw-mshc-sdr-timing = <2 3>;
426                 samsung,dw-mshc-ddr-timing = <1 2>;
427                 vmmc-supply = <&mmc_reg>;
428                 pinctrl-names = "default";
429                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
430
431                 slot@0 {
432                         reg = <0>;
433                         bus-width = <4>;
434                         disable-wp;
435                 };
436         };
437
438         i2s0: i2s@03830000 {
439                 status = "okay";
440         };
441
442         gpio_keys {
443                 compatible = "gpio-keys";
444
445                 menu {
446                         label = "SW-TACT2";
447                         gpios = <&gpx1 4 1>;
448                         linux,code = <139>;
449                         gpio-key,wakeup;
450                 };
451
452                 home {
453                         label = "SW-TACT3";
454                         gpios = <&gpx1 5 1>;
455                         linux,code = <102>;
456                         gpio-key,wakeup;
457                 };
458
459                 up {
460                         label = "SW-TACT4";
461                         gpios = <&gpx1 6 1>;
462                         linux,code = <103>;
463                         gpio-key,wakeup;
464                 };
465
466                 down {
467                         label = "SW-TACT5";
468                         gpios = <&gpx1 7 1>;
469                         linux,code = <108>;
470                         gpio-key,wakeup;
471                 };
472
473                 back {
474                         label = "SW-TACT6";
475                         gpios = <&gpx2 0 1>;
476                         linux,code = <158>;
477                         gpio-key,wakeup;
478                 };
479
480                 wakeup {
481                         label = "SW-TACT7";
482                         gpios = <&gpx2 1 1>;
483                         linux,code = <143>;
484                         gpio-key,wakeup;
485                 };
486         };
487
488         hdmi {
489                 hpd-gpio = <&gpx3 7 2>;
490                 vdd_osc-supply = <&ldo10_reg>;
491                 vdd_pll-supply = <&ldo8_reg>;
492                 vdd-supply = <&ldo8_reg>;
493         };
494
495         regulators {
496                 compatible = "simple-bus";
497                 #address-cells = <1>;
498                 #size-cells = <0>;
499
500                 main_dc_reg: regulator@0 {
501                         compatible = "regulator-fixed";
502                         reg = <0>;
503                         regulator-name = "MAIN_DC";
504                 };
505
506                 mmc_reg: regulator@1 {
507                         compatible = "regulator-fixed";
508                         reg = <1>;
509                         regulator-name = "VDD_33ON_2.8V";
510                         regulator-min-microvolt = <2800000>;
511                         regulator-max-microvolt = <2800000>;
512                         gpio = <&gpx1 1 1>;
513                         enable-active-high;
514                 };
515
516                 reg_hdmi_en: regulator@2 {
517                         compatible = "regulator-fixed";
518                         reg = <2>;
519                         regulator-name = "hdmi-en";
520                 };
521         };
522
523         fixed-rate-clocks {
524                 xxti {
525                         compatible = "samsung,clock-xxti";
526                         clock-frequency = <24000000>;
527                 };
528         };
529
530         dp-controller@145B0000 {
531                 samsung,color-space = <0>;
532                 samsung,dynamic-range = <0>;
533                 samsung,ycbcr-coeff = <0>;
534                 samsung,color-depth = <1>;
535                 samsung,link-rate = <0x0a>;
536                 samsung,lane-count = <4>;
537                 status = "okay";
538         };
539
540         fimd: fimd@14400000 {
541                 status = "okay";
542                 display-timings {
543                         native-mode = <&timing0>;
544                         timing0: timing@0 {
545                                 /* 2560x1600 DP panel */
546                                 clock-frequency = <50000>;
547                                 hactive = <2560>;
548                                 vactive = <1600>;
549                                 hfront-porch = <48>;
550                                 hback-porch = <80>;
551                                 hsync-len = <32>;
552                                 vback-porch = <16>;
553                                 vfront-porch = <8>;
554                                 vsync-len = <6>;
555                         };
556                 };
557         };
558
559         usb_hub_bus {
560                 compatible = "simple-bus";
561                 #address-cells = <1>;
562                 #size-cells = <0>;
563
564                 // SMSC USB3503 connected in hardware only mode as a PHY
565                 usb_hub: usb_hub {
566                         compatible = "smsc,usb3503a";
567
568                         reset-gpios = <&gpx3 5 1>;
569                         connect-gpios = <&gpd1 7 1>;
570                 };
571         };
572
573         usb@12110000 {
574                 usb-phy = <&usb2_phy>;
575         };
576 };