Merge branch 'for-linville' of git://github.com/kvalo/ath
[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                                         op_mode = <1>;
111                                 };
112
113                                 ldo5_reg: LDO5 {
114                                         regulator-name = "VDD_EXT_1.8V";
115                                         regulator-min-microvolt = <1800000>;
116                                         regulator-max-microvolt = <1800000>;
117                                         regulator-always-on;
118                                         regulator-boot-on;
119                                         op_mode = <1>;
120                                 };
121
122                                 ldo6_reg: LDO6 {
123                                         regulator-name = "VDD_MPLL_1.1V";
124                                         regulator-min-microvolt = <1100000>;
125                                         regulator-max-microvolt = <1100000>;
126                                         regulator-always-on;
127                                         regulator-boot-on;
128                                         op_mode = <1>;
129                                 };
130
131                                 ldo7_reg: LDO7 {
132                                         regulator-name = "VDD_XPLL_1.1V";
133                                         regulator-min-microvolt = <1100000>;
134                                         regulator-max-microvolt = <1100000>;
135                                         regulator-always-on;
136                                         regulator-boot-on;
137                                         op_mode = <1>;
138                                 };
139
140                                 ldo8_reg: LDO8 {
141                                         regulator-name = "VDD_COMMON2_1.0V";
142                                         regulator-min-microvolt = <1000000>;
143                                         regulator-max-microvolt = <1000000>;
144                                         regulator-always-on;
145                                         regulator-boot-on;
146                                         op_mode = <1>;
147                                 };
148
149                                 ldo9_reg: LDO9 {
150                                         regulator-name = "VDD_33ON_3.0V";
151                                         regulator-min-microvolt = <3000000>;
152                                         regulator-max-microvolt = <3000000>;
153                                         op_mode = <1>;
154                                 };
155
156                                 ldo10_reg: LDO10 {
157                                         regulator-name = "VDD_COMMON3_1.8V";
158                                         regulator-min-microvolt = <1800000>;
159                                         regulator-max-microvolt = <1800000>;
160                                         regulator-always-on;
161                                         regulator-boot-on;
162                                         op_mode = <1>;
163                                 };
164
165                                 ldo11_reg: LDO11 {
166                                         regulator-name = "VDD_ABB2_1.8V";
167                                         regulator-min-microvolt = <1800000>;
168                                         regulator-max-microvolt = <1800000>;
169                                         regulator-always-on;
170                                         regulator-boot-on;
171                                         op_mode = <1>;
172                                 };
173
174                                 ldo12_reg: LDO12 {
175                                         regulator-name = "VDD_USB_3.0V";
176                                         regulator-min-microvolt = <3000000>;
177                                         regulator-max-microvolt = <3000000>;
178                                         regulator-always-on;
179                                         regulator-boot-on;
180                                         op_mode = <1>;
181                                 };
182
183                                 ldo13_reg: LDO13 {
184                                         regulator-name = "VDDQ_C2C_W_1.8V";
185                                         regulator-min-microvolt = <1800000>;
186                                         regulator-max-microvolt = <1800000>;
187                                         regulator-always-on;
188                                         regulator-boot-on;
189                                         op_mode = <1>;
190                                 };
191
192                                 ldo14_reg: LDO14 {
193                                         regulator-name = "VDD18_ABB0_3_1.8V";
194                                         regulator-min-microvolt = <1800000>;
195                                         regulator-max-microvolt = <1800000>;
196                                         regulator-always-on;
197                                         regulator-boot-on;
198                                         op_mode = <1>;
199                                 };
200
201                                 ldo15_reg: LDO15 {
202                                         regulator-name = "VDD10_COMMON4_1.0V";
203                                         regulator-min-microvolt = <1000000>;
204                                         regulator-max-microvolt = <1000000>;
205                                         regulator-always-on;
206                                         regulator-boot-on;
207                                         op_mode = <1>;
208                                 };
209
210                                 ldo16_reg: LDO16 {
211                                         regulator-name = "VDD18_HSIC_1.8V";
212                                         regulator-min-microvolt = <1800000>;
213                                         regulator-max-microvolt = <1800000>;
214                                         regulator-always-on;
215                                         regulator-boot-on;
216                                         op_mode = <1>;
217                                 };
218
219                                 ldo17_reg: LDO17 {
220                                         regulator-name = "VDDQ_MMC2_3_2.8V";
221                                         regulator-min-microvolt = <2800000>;
222                                         regulator-max-microvolt = <2800000>;
223                                         regulator-always-on;
224                                         regulator-boot-on;
225                                         op_mode = <1>;
226                                 };
227
228                                 ldo18_reg: LDO18 {
229                                         regulator-name = "VDD_33ON_2.8V";
230                                         regulator-min-microvolt = <2800000>;
231                                         regulator-max-microvolt = <2800000>;
232                                         op_mode = <1>;
233                                 };
234
235                                 ldo22_reg: LDO22 {
236                                         regulator-name = "EXT_33_OFF";
237                                         regulator-min-microvolt = <3300000>;
238                                         regulator-max-microvolt = <3300000>;
239                                         op_mode = <1>;
240                                 };
241
242                                 ldo23_reg: LDO23 {
243                                         regulator-name = "EXT_28_OFF";
244                                         regulator-min-microvolt = <2800000>;
245                                         regulator-max-microvolt = <2800000>;
246                                         op_mode = <1>;
247                                 };
248
249                                 ldo25_reg: LDO25 {
250                                         regulator-name = "PVDD_LDO25";
251                                         regulator-min-microvolt = <1200000>;
252                                         regulator-max-microvolt = <1200000>;
253                                         op_mode = <1>;
254                                 };
255
256                                 ldo26_reg: LDO26 {
257                                         regulator-name = "EXT_18_OFF";
258                                         regulator-min-microvolt = <1800000>;
259                                         regulator-max-microvolt = <1800000>;
260                                         op_mode = <1>;
261                                 };
262
263                                 buck1_reg: BUCK1 {
264                                         regulator-name = "vdd_mif";
265                                         regulator-min-microvolt = <950000>;
266                                         regulator-max-microvolt = <1200000>;
267                                         regulator-always-on;
268                                         regulator-boot-on;
269                                         op_mode = <1>;
270                                 };
271
272                                 buck2_reg: BUCK2 {
273                                         regulator-name = "vdd_arm";
274                                         regulator-min-microvolt = <912500>;
275                                         regulator-max-microvolt = <1300000>;
276                                         regulator-always-on;
277                                         regulator-boot-on;
278                                         op_mode = <1>;
279                                 };
280
281                                 buck3_reg: BUCK3 {
282                                         regulator-name = "vdd_int";
283                                         regulator-min-microvolt = <900000>;
284                                         regulator-max-microvolt = <1200000>;
285                                         regulator-always-on;
286                                         regulator-boot-on;
287                                         op_mode = <1>;
288                                 };
289
290                                 buck4_reg: BUCK4 {
291                                         regulator-name = "vdd_g3d";
292                                         regulator-min-microvolt = <1000000>;
293                                         regulator-max-microvolt = <1000000>;
294                                         regulator-always-on;
295                                         regulator-boot-on;
296                                         op_mode = <1>;
297                                 };
298
299                                 buck5_reg: BUCK5 {
300                                         regulator-name = "VDD_MEM_1.35V";
301                                         regulator-min-microvolt = <750000>;
302                                         regulator-max-microvolt = <1355000>;
303                                         regulator-always-on;
304                                         regulator-boot-on;
305                                         op_mode = <1>;
306                                 };
307
308                                 buck7_reg: BUCK7 {
309                                         regulator-name = "PVDD_BUCK7";
310                                         regulator-always-on;
311                                         op_mode = <1>;
312                                 };
313
314                                 buck8_reg: BUCK8 {
315                                         regulator-name = "PVDD_BUCK8";
316                                         regulator-always-on;
317                                         op_mode = <1>;
318                                 };
319
320                                 buck9_reg: BUCK9 {
321                                         regulator-name = "VDD_33_OFF_EXT1";
322                                         regulator-min-microvolt = <750000>;
323                                         regulator-max-microvolt = <3000000>;
324                                         op_mode = <1>;
325                                 };
326                         };
327                 };
328         };
329
330         i2c@12C80000 {
331                 status = "okay";
332
333                 samsung,i2c-sda-delay = <100>;
334                 samsung,i2c-max-bus-freq = <66000>;
335                 samsung,i2c-slave-addr = <0x50>;
336
337                 hdmiddc@50 {
338                         compatible = "samsung,exynos4210-hdmiddc";
339                         reg = <0x50>;
340                 };
341         };
342
343         i2c@12C90000 {
344                 status = "okay";
345
346                 wm1811a@1a {
347
348                         compatible = "wlf,wm1811";
349                         reg = <0x1a>;
350
351                         AVDD2-supply = <&main_dc_reg>;
352                         CPVDD-supply = <&main_dc_reg>;
353                         DBVDD1-supply = <&main_dc_reg>;
354                         DBVDD2-supply = <&main_dc_reg>;
355                         DBVDD3-supply = <&main_dc_reg>;
356                         LDO1VDD-supply = <&main_dc_reg>;
357                         SPKVDD1-supply = <&main_dc_reg>;
358                         SPKVDD2-supply = <&main_dc_reg>;
359
360                         wlf,ldo1ena = <&gpb0 0 0>;
361                         wlf,ldo2ena = <&gpb0 1 0>;
362                 };
363         };
364
365         i2c@12CE0000 {
366                 status = "okay";
367
368                 samsung,i2c-sda-delay = <100>;
369                 samsung,i2c-max-bus-freq = <66000>;
370                 samsung,i2c-slave-addr = <0x38>;
371
372                 hdmiphy@38 {
373                         compatible = "samsung,exynos4212-hdmiphy";
374                         reg = <0x38>;
375                 };
376         };
377
378         i2c@121D0000 {
379                 status = "okay";
380                 samsung,i2c-sda-delay = <100>;
381                 samsung,i2c-max-bus-freq = <40000>;
382                 samsung,i2c-slave-addr = <0x38>;
383
384                 sata_phy_i2c:sata-phy@38 {
385                         compatible = "samsung,exynos-sataphy-i2c";
386                         reg = <0x38>;
387                 };
388         };
389
390         sata@122F0000 {
391                 status = "okay";
392         };
393
394         sata-phy@12170000 {
395                 status = "okay";
396                 samsung,exynos-sataphy-i2c-phandle = <&sata_phy_i2c>;
397         };
398
399         mmc_0: mmc@12200000 {
400                 status = "okay";
401                 num-slots = <1>;
402                 supports-highspeed;
403                 broken-cd;
404                 card-detect-delay = <200>;
405                 samsung,dw-mshc-ciu-div = <3>;
406                 samsung,dw-mshc-sdr-timing = <2 3>;
407                 samsung,dw-mshc-ddr-timing = <1 2>;
408                 vmmc-supply = <&mmc_reg>;
409                 pinctrl-names = "default";
410                 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus4 &sd0_bus8>;
411
412                 slot@0 {
413                         reg = <0>;
414                         bus-width = <8>;
415                 };
416         };
417
418         mmc_2: mmc@12220000 {
419                 status = "okay";
420                 num-slots = <1>;
421                 supports-highspeed;
422                 card-detect-delay = <200>;
423                 samsung,dw-mshc-ciu-div = <3>;
424                 samsung,dw-mshc-sdr-timing = <2 3>;
425                 samsung,dw-mshc-ddr-timing = <1 2>;
426                 vmmc-supply = <&mmc_reg>;
427                 pinctrl-names = "default";
428                 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus4>;
429
430                 slot@0 {
431                         reg = <0>;
432                         bus-width = <4>;
433                         disable-wp;
434                 };
435         };
436
437         i2s0: i2s@03830000 {
438                 status = "okay";
439         };
440
441         gpio_keys {
442                 compatible = "gpio-keys";
443
444                 menu {
445                         label = "SW-TACT2";
446                         gpios = <&gpx1 4 1>;
447                         linux,code = <139>;
448                         gpio-key,wakeup;
449                 };
450
451                 home {
452                         label = "SW-TACT3";
453                         gpios = <&gpx1 5 1>;
454                         linux,code = <102>;
455                         gpio-key,wakeup;
456                 };
457
458                 up {
459                         label = "SW-TACT4";
460                         gpios = <&gpx1 6 1>;
461                         linux,code = <103>;
462                         gpio-key,wakeup;
463                 };
464
465                 down {
466                         label = "SW-TACT5";
467                         gpios = <&gpx1 7 1>;
468                         linux,code = <108>;
469                         gpio-key,wakeup;
470                 };
471
472                 back {
473                         label = "SW-TACT6";
474                         gpios = <&gpx2 0 1>;
475                         linux,code = <158>;
476                         gpio-key,wakeup;
477                 };
478
479                 wakeup {
480                         label = "SW-TACT7";
481                         gpios = <&gpx2 1 1>;
482                         linux,code = <143>;
483                         gpio-key,wakeup;
484                 };
485         };
486
487         hdmi {
488                 hpd-gpio = <&gpx3 7 2>;
489                 vdd_osc-supply = <&ldo10_reg>;
490                 vdd_pll-supply = <&ldo8_reg>;
491                 vdd-supply = <&ldo8_reg>;
492         };
493
494         regulators {
495                 compatible = "simple-bus";
496                 #address-cells = <1>;
497                 #size-cells = <0>;
498
499                 main_dc_reg: regulator@0 {
500                         compatible = "regulator-fixed";
501                         reg = <0>;
502                         regulator-name = "MAIN_DC";
503                 };
504
505                 mmc_reg: regulator@1 {
506                         compatible = "regulator-fixed";
507                         reg = <1>;
508                         regulator-name = "VDD_33ON_2.8V";
509                         regulator-min-microvolt = <2800000>;
510                         regulator-max-microvolt = <2800000>;
511                         gpio = <&gpx1 1 1>;
512                         enable-active-high;
513                 };
514
515                 reg_hdmi_en: regulator@2 {
516                         compatible = "regulator-fixed";
517                         reg = <2>;
518                         regulator-name = "hdmi-en";
519                 };
520         };
521
522         fixed-rate-clocks {
523                 xxti {
524                         compatible = "samsung,clock-xxti";
525                         clock-frequency = <24000000>;
526                 };
527         };
528
529         dp-controller@145B0000 {
530                 samsung,color-space = <0>;
531                 samsung,dynamic-range = <0>;
532                 samsung,ycbcr-coeff = <0>;
533                 samsung,color-depth = <1>;
534                 samsung,link-rate = <0x0a>;
535                 samsung,lane-count = <4>;
536                 status = "okay";
537         };
538
539         fimd: fimd@14400000 {
540                 status = "okay";
541                 display-timings {
542                         native-mode = <&timing0>;
543                         timing0: timing@0 {
544                                 /* 2560x1600 DP panel */
545                                 clock-frequency = <50000>;
546                                 hactive = <2560>;
547                                 vactive = <1600>;
548                                 hfront-porch = <48>;
549                                 hback-porch = <80>;
550                                 hsync-len = <32>;
551                                 vback-porch = <16>;
552                                 vfront-porch = <8>;
553                                 vsync-len = <6>;
554                         };
555                 };
556         };
557
558         usb_hub_bus {
559                 compatible = "simple-bus";
560                 #address-cells = <1>;
561                 #size-cells = <0>;
562
563                 // SMSC USB3503 connected in hardware only mode as a PHY
564                 usb_hub: usb_hub {
565                         compatible = "smsc,usb3503a";
566
567                         reset-gpios = <&gpx3 5 1>;
568                         connect-gpios = <&gpd1 7 1>;
569                 };
570         };
571
572         usb@12110000 {
573                 usb-phy = <&usb2_phy>;
574         };
575 };