GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / boot / dts / exynos4210-i9100.dts
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree
4  *
5  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6  *              http://www.samsung.com
7  * Copyright (c) 2020 Stenkin Evgeniy <stenkinevgeniy@gmail.com>
8  * Copyright (c) 2020 Paul Cercueil <paul@crapouillou.net>
9  */
10
11 /dts-v1/;
12 #include "exynos4210.dtsi"
13 #include "exynos4412-ppmu-common.dtsi"
14
15 #include <dt-bindings/gpio/gpio.h>
16 #include <dt-bindings/input/linux-event-codes.h>
17
18 / {
19         model = "Samsung Galaxy S2 (GT-I9100)";
20         compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4";
21         chassis-type = "handset";
22
23         memory@40000000 {
24                 device_type = "memory";
25                 reg = <0x40000000 0x40000000>;
26         };
27
28         chosen {
29                 stdout-path = "serial2:115200n8";
30         };
31
32         vemmc_reg: regulator-0 {
33                 compatible = "regulator-fixed";
34                 regulator-name = "VMEM_VDD_2.8V";
35                 regulator-min-microvolt = <2800000>;
36                 regulator-max-microvolt = <2800000>;
37                 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
38                 enable-active-high;
39         };
40
41         tsp_reg: regulator-1 {
42                 compatible = "regulator-fixed";
43                 regulator-name = "TSP_FIXED_VOLTAGES";
44                 regulator-min-microvolt = <3300000>;
45                 regulator-max-microvolt = <3300000>;
46                 gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
47                 startup-delay-us = <70000>;
48                 enable-active-high;
49                 regulator-boot-on;
50                 regulator-always-on;
51         };
52
53         cam_af_28v_reg: regulator-2 {
54                 compatible = "regulator-fixed";
55                 regulator-name = "8M_AF_2.8V_EN";
56                 regulator-min-microvolt = <2800000>;
57                 regulator-max-microvolt = <2800000>;
58                 gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
59                 enable-active-high;
60         };
61
62         cam_io_en_reg: regulator-3 {
63                 compatible = "regulator-fixed";
64                 regulator-name = "CAM_IO_EN";
65                 regulator-min-microvolt = <2800000>;
66                 regulator-max-microvolt = <2800000>;
67                 gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
68                 enable-active-high;
69         };
70
71         cam_io_12v_reg: regulator-4 {
72                 compatible = "regulator-fixed";
73                 regulator-name = "8M_1.2V_EN";
74                 regulator-min-microvolt = <1200000>;
75                 regulator-max-microvolt = <1200000>;
76                 gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
77                 enable-active-high;
78         };
79
80         vt_core_15v_reg: regulator-5 {
81                 compatible = "regulator-fixed";
82                 regulator-name = "VT_CORE_1.5V";
83                 regulator-min-microvolt = <1500000>;
84                 regulator-max-microvolt = <1500000>;
85                 gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
86                 enable-active-high;
87         };
88
89         gpio-keys {
90                 compatible = "gpio-keys";
91
92                 key-vol-down {
93                         gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
94                         linux,code = <KEY_VOLUMEDOWN>;
95                         label = "volume down";
96                         debounce-interval = <10>;
97                 };
98
99                 key-vol-up {
100                         gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
101                         linux,code = <KEY_VOLUMEUP>;
102                         label = "volume up";
103                         debounce-interval = <10>;
104                 };
105
106                 key-power {
107                         gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
108                         linux,code = <KEY_POWER>;
109                         label = "power";
110                         debounce-interval = <10>;
111                         wakeup-source;
112                 };
113
114                 key-ok {
115                         gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
116                         linux,code = <KEY_OK>;
117                         label = "ok";
118                         debounce-interval = <10>;
119                 };
120         };
121
122         wlan_pwrseq: sdhci3-pwrseq {
123                 compatible = "mmc-pwrseq-simple";
124                 reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
125         };
126
127         i2c_max17042_fuel: i2c-gpio-0 {
128                 compatible = "i2c-gpio";
129                 #address-cells = <1>;
130                 #size-cells = <0>;
131
132                 sda-gpios = <&gpy4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
133                 scl-gpios = <&gpy4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
134                 i2c-gpio,delay-us = <5>;
135
136                 battery@36 {
137                         compatible = "maxim,max17042";
138
139                         interrupt-parent = <&gpx2>;
140                         interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
141
142                         pinctrl-0 = <&max17042_fuel_irq>;
143                         pinctrl-names = "default";
144
145                         reg = <0x36>;
146                         maxim,over-heat-temp = <700>;
147                         maxim,over-volt = <4500>;
148                 };
149         };
150
151         i2c_s5k5baf: i2c-gpio-1 {
152                 compatible = "i2c-gpio";
153                 #address-cells = <1>;
154                 #size-cells = <0>;
155
156                 sda-gpios = <&gpc1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
157                 scl-gpios = <&gpc1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
158                 i2c-gpio,delay-us = <2>;
159
160                 image-sensor@2d {
161                         compatible = "samsung,s5k5baf";
162                         reg = <0x2d>;
163                         vdda-supply = <&cam_io_en_reg>;
164                         vddreg-supply = <&vt_core_15v_reg>;
165                         vddio-supply = <&vtcam_reg>;
166                         clocks = <&camera 0>;
167                         clock-names = "mclk";
168                         stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
169                         rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
170                         clock-frequency = <24000000>;
171
172                         port {
173                                 s5k5bafx_ep: endpoint {
174                                         remote-endpoint = <&csis1_ep>;
175                                         data-lanes = <1>;
176                                 };
177                         };
178                 };
179         };
180
181         spi-3 {
182                 compatible = "spi-gpio";
183                 #address-cells = <1>;
184                 #size-cells = <0>;
185
186                 num-chipselects = <1>;
187                 cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
188                 sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
189                 mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
190
191                 lcd@0 {
192                         compatible = "samsung,ld9040";
193                         reg = <0>;
194
195                         spi-max-frequency = <1200000>;
196
197                         vdd3-supply = <&vmipi_reg>;
198                         vci-supply = <&vcclcd_reg>;
199
200                         reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
201                         power-on-delay = <10>;
202                         reset-delay = <10>;
203
204                         panel-width-mm = <56>;
205                         panel-height-mm = <93>;
206
207                         display-timings {
208                                 timing {
209                                         clock-frequency = <23492370>;
210                                         hactive = <480>;
211                                         vactive = <800>;
212                                         hback-porch = <16>;
213                                         hfront-porch = <16>;
214                                         vback-porch = <2>;
215                                         vfront-porch = <28>;
216                                         hsync-len = <2>;
217                                         vsync-len = <1>;
218                                         hsync-active = <0>;
219                                         vsync-active = <0>;
220                                         de-active = <0>;
221                                         pixelclk-active = <0>;
222                                 };
223                         };
224
225                         port {
226                                 lcd_ep: endpoint {
227                                         remote-endpoint = <&fimd_dpi_ep>;
228                                 };
229                         };
230                 };
231         };
232
233         fixed-rate-clocks {
234                 xxti {
235                         compatible = "samsung,clock-xxti";
236                         clock-frequency = <0>;
237                 };
238
239                 xusbxti {
240                         compatible = "samsung,clock-xusbxti";
241                         clock-frequency = <24000000>;
242                 };
243
244                 pmic_ap_clk: pmic-ap-clk {
245                         /* Workaround for missing clock on max8997 PMIC */
246                         compatible = "fixed-clock";
247                         #clock-cells = <0>;
248                         clock-frequency = <32768>;
249                 };
250         };
251 };
252
253 &camera {
254         pinctrl-0 = <&cam_port_a_clk_active>;
255         pinctrl-names = "default";
256         status = "okay";
257         assigned-clocks = <&clock CLK_MOUT_CAM0>, <&clock CLK_MOUT_CAM1>;
258         assigned-clock-parents = <&clock CLK_XUSBXTI>, <&clock CLK_XUSBXTI>;
259 };
260
261 &csis_1 {
262         status = "okay";
263         vddcore-supply = <&vusb_reg>;
264         vddio-supply = <&vmipi_reg>;
265         clock-frequency = <160000000>;
266         #address-cells = <1>;
267         #size-cells = <0>;
268
269         port@4 {
270                 reg = <4>;
271                 csis1_ep: endpoint {
272                         remote-endpoint = <&s5k5bafx_ep>;
273                         data-lanes = <1>;
274                         samsung,csis-hs-settle = <6>;
275                 };
276         };
277 };
278
279 &cpu0 {
280         cpu0-supply = <&varm_breg>;
281 };
282
283 &cpu_thermal {
284         cooling-maps {
285                 map0 {
286                         /* Corresponds to 800MHz */
287                         cooling-device = <&cpu0 2 2>;
288                 };
289                 map1 {
290                         /* Corresponds to 200MHz */
291                         cooling-device = <&cpu0 4 4>;
292                 };
293         };
294 };
295
296 &ehci {
297         status = "okay";
298
299         phys = <&exynos_usbphy 1>;
300         phy-names = "host";
301 };
302
303 &exynos_usbphy {
304         status = "okay";
305
306         vbus-supply = <&safe1_sreg>;
307 };
308
309 &fimc_0 {
310         status = "okay";
311
312         assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>;
313         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
314         assigned-clock-rates = <0>, <160000000>;
315 };
316
317 &fimc_1 {
318         /* Back camera not implemented */
319         status = "disabled";
320
321         assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>;
322         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
323         assigned-clock-rates = <0>, <160000000>;
324 };
325
326 &fimc_2 {
327         status = "okay";
328
329         assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>;
330         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
331         assigned-clock-rates = <0>, <160000000>;
332 };
333
334 &fimc_3 {
335         /* Back camera not implemented */
336         status = "disabled";
337
338         assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>;
339         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
340         assigned-clock-rates = <0>, <160000000>;
341 };
342
343 &fimd {
344         status = "okay";
345         #address-cells = <1>;
346         #size-cells = <0>;
347
348         samsung,invert-vden;
349         samsung,invert-vclk;
350
351         pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
352         pinctrl-names = "default";
353
354         port@3 {
355                 reg = <3>;
356
357                 fimd_dpi_ep: endpoint {
358                         remote-endpoint = <&lcd_ep>;
359                 };
360         };
361 };
362
363 &gpu {
364         status = "okay";
365
366         mali-supply = <&vg3d_breg>;
367 };
368
369 &hsotg {
370         status = "okay";
371
372         dr_mode = "otg";
373         vusb_d-supply = <&vusb_reg>;
374         vusb_a-supply = <&vusbdac_reg>;
375 };
376
377 &i2c_3 {
378         status = "okay";
379
380         samsung,i2c-sda-delay = <100>;
381         samsung,i2c-slave-addr = <0x10>;
382         samsung,i2c-max-bus-freq = <100000>;
383
384         pinctrl-0 = <&i2c3_bus>;
385         pinctrl-names = "default";
386
387         touchscreen@4a {
388                 compatible = "atmel,maxtouch";
389                 reg = <0x4a>;
390
391                 interrupt-parent = <&gpx0>;
392                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
393         };
394 };
395
396 &i2c_5 {
397         status = "okay";
398
399         samsung,i2c-sda-delay = <100>;
400         samsung,i2c-slave-addr = <0x10>;
401         samsung,i2c-max-bus-freq = <100000>;
402
403         pinctrl-0 = <&i2c5_bus>;
404         pinctrl-names = "default";
405
406         pmic@66 {
407                 compatible = "maxim,max8997-pmic";
408                 reg = <0x66>;
409
410                 interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
411                                       <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
412
413                 max8997,pmic-buck1-uses-gpio-dvs;
414                 max8997,pmic-buck2-uses-gpio-dvs;
415                 max8997,pmic-buck5-uses-gpio-dvs;
416
417                 max8997,pmic-ignore-gpiodvs-side-effect;
418                 max8997,pmic-buck125-default-dvs-idx = <0>;
419
420                 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
421                                                  <&gpx0 6 GPIO_ACTIVE_HIGH>,
422                                                  <&gpl0 0 GPIO_ACTIVE_HIGH>;
423
424                 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
425                                                  <1250000>, <1200000>,
426                                                  <1150000>, <1100000>,
427                                                  <1000000>, <950000>;
428
429                 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
430                                                  <950000>,  <900000>,
431                                                  <1100000>, <1000000>,
432                                                  <950000>,  <900000>;
433
434                 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
435                                                  <1200000>, <1200000>,
436                                                  <1200000>, <1200000>,
437                                                  <1200000>, <1200000>;
438
439                 pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
440                 pinctrl-names = "default";
441
442                 charger-supply = <&charger_reg>;
443
444                 regulators {
445                         vadc_reg: LDO1 {
446                                 regulator-name = "VADC_3.3V_C210";
447                                 regulator-min-microvolt = <3300000>;
448                                 regulator-max-microvolt = <3300000>;
449                                 regulator-always-on;
450
451                         };
452                         valive_reg: LDO2 {
453                                 regulator-name = "VALIVE_1.1V_C210";
454                                 regulator-min-microvolt = <1100000>;
455                                 regulator-max-microvolt = <1100000>;
456                                 regulator-always-on;
457
458                         };
459
460                         vusb_reg: LDO3 {
461                                 regulator-name = "VUSB_1.1V_C210";
462                                 regulator-min-microvolt = <1100000>;
463                                 regulator-max-microvolt = <1100000>;
464                         };
465
466                         vmipi_reg: LDO4 {
467                                 regulator-name = "VMIPI_1.8V";
468                                 regulator-min-microvolt = <1800000>;
469                                 regulator-max-microvolt = <1800000>;
470                                 regulator-always-on;
471                         };
472
473                         vhsic_reg: LDO5 {
474                                 regulator-name = "VHSIC_1.2V";
475                                 regulator-min-microvolt = <1200000>;
476                                 regulator-max-microvolt = <1200000>;
477                                 regulator-always-on;
478                         };
479
480                         vpda_reg: LDO6 {
481                                 regulator-name = "VCC_1.8V_PDA";
482                                 regulator-min-microvolt = <1800000>;
483                                 regulator-max-microvolt = <1800000>;
484                                 regulator-always-on;
485                         };
486
487                         vcam_reg: LDO7 {
488                                 regulator-name = "CAM_ISP_1.8V";
489                                 regulator-min-microvolt = <1800000>;
490                                 regulator-max-microvolt = <1800000>;
491                         };
492
493                         vusbdac_reg: LDO8 {
494                                 regulator-name = "VUSB+VDAC_3.3V_C210";
495                                 regulator-min-microvolt = <3300000>;
496                                 regulator-max-microvolt = <3300000>;
497                         };
498
499                         vccpda_reg: LDO9 {
500                                 regulator-name = "VCC_2.8V_PDA";
501                                 regulator-min-microvolt = <2800000>;
502                                 regulator-max-microvolt = <2800000>;
503                                 regulator-always-on;
504                         };
505
506                         vtouch_reg: LDO11 {
507                                 regulator-name = "TOUCH_2.8V";
508                                 regulator-min-microvolt = <2800000>;
509                                 regulator-max-microvolt = <2800000>;
510                                 regulator-always-on;
511                         };
512
513                         vpll_reg: LDO10 {
514                                 regulator-name = "VPLL_1.1V";
515                                 regulator-min-microvolt = <1100000>;
516                                 regulator-max-microvolt = <1100000>;
517                                 regulator-always-on;
518                         };
519
520                         vtcam_reg: LDO12 {
521                                 regulator-name = "VT_CAM_1.8V";
522                                 regulator-min-microvolt = <1800000>;
523                                 regulator-max-microvolt = <1800000>;
524
525                                 /*
526                                  * Force-enable this regulator; otherwise the
527                                  * kernel hangs very early in the boot process
528                                  * for about 12 seconds, without apparent
529                                  * reason.
530                                  */
531                                 regulator-always-on;
532                         };
533
534                         vcclcd_reg: LDO13 {
535                                 regulator-name = "VCC_3.0V_LCD";
536                                 regulator-min-microvolt = <3000000>;
537                                 regulator-max-microvolt = <3000000>;
538                         };
539
540                         vmotor_reg: LDO14 {
541                                 regulator-name = "VCC_2.8V_MOTOR";
542                                 regulator-min-microvolt = <2800000>;
543                                 regulator-max-microvolt = <2800000>;
544                         };
545
546                         vled_reg: LDO15 {
547                                 regulator-name = "LED_A_2.8V";
548                                 regulator-min-microvolt = <2800000>;
549                                 regulator-max-microvolt = <2800000>;
550                         };
551
552                         camsensor_reg: LDO16 {
553                                 regulator-name = "CAM_SENSOR_IO_1.8V";
554                                 regulator-min-microvolt = <1800000>;
555                                 regulator-max-microvolt = <1800000>;
556                         };
557
558                         vtf_reg: LDO17 {
559                                 regulator-name = "VTF_2.8V";
560                                 regulator-min-microvolt = <2800000>;
561                                 regulator-max-microvolt = <2800000>;
562                         };
563
564                         vtouchled_reg: LDO18 {
565                                 regulator-name = "TOUCH_LED_3.3V";
566                                 regulator-min-microvolt = <2500000>;
567                                 regulator-max-microvolt = <3300000>;
568                         };
569
570                         vddq_reg: LDO21 {
571                                 regulator-name = "VDDQ_M1M2_1.2V";
572                                 regulator-min-microvolt = <1200000>;
573                                 regulator-max-microvolt = <1200000>;
574                                 regulator-always-on;
575                         };
576
577                         varm_breg: BUCK1 {
578                                 regulator-name = "VARM_1.2V_C210";
579                                 regulator-min-microvolt = <65000>;
580                                 regulator-max-microvolt = <2225000>;
581                                 regulator-always-on;
582                         };
583
584                         vint_breg: BUCK2 {
585                                 regulator-name = "VINT_1.1V_C210";
586                                 regulator-min-microvolt = <65000>;
587                                 regulator-max-microvolt = <2225000>;
588                                 regulator-always-on;
589                         };
590
591                         vg3d_breg: BUCK3 {
592                                 regulator-name = "G3D_1.1V";
593                                 regulator-min-microvolt = <900000>;
594                                 regulator-max-microvolt = <1200000>;
595                                 regulator-microvolt-offset = <50000>;
596                                 regulator-always-on;
597                         };
598
599                         camisp_breg: BUCK4 {
600                                 regulator-name = "CAM_ISP_CORE_1.2V";
601                                 regulator-min-microvolt = <1200000>;
602                                 regulator-max-microvolt = <1200000>;
603                         };
604
605                         vmem_breg: BUCK5 {
606                                 regulator-name = "VMEM_1.2V";
607                                 regulator-min-microvolt = <1200000>;
608                                 regulator-max-microvolt = <1200000>;
609                                 regulator-always-on;
610                         };
611
612                         vccsub_breg: BUCK7 {
613                                 regulator-name = "VCC_SUB_2.0V";
614                                 regulator-min-microvolt = <2000000>;
615                                 regulator-max-microvolt = <2000000>;
616                                 regulator-always-on;
617                         };
618
619                         safe1_sreg: ESAFEOUT1 {
620                                 regulator-name = "SAFEOUT1";
621                         };
622
623                         safe2_sreg: ESAFEOUT2 {
624                                 regulator-name = "SAFEOUT2";
625                                 regulator-boot-on;
626                         };
627
628                         EN32KHZ_AP {
629                                 regulator-name = "EN32KHZ_AP";
630                                 regulator-always-on;
631                         };
632
633                         EN32KHZ_CP {
634                                 regulator-name = "EN32KHZ_CP";
635                                 regulator-always-on;
636                         };
637
638                         charger_reg: CHARGER {
639                                 regulator-name = "CHARGER";
640                                 regulator-min-microamp = <200000>;
641                                 regulator-max-microamp = <950000>;
642                         };
643
644                         chargercv_reg: CHARGER_CV {
645                                 regulator-name = "CHARGER_CV";
646                                 regulator-min-microvolt = <4200000>;
647                                 regulator-max-microvolt = <4200000>;
648                                 regulator-always-on;
649                         };
650
651                         CHARGER_TOPOFF {
652                                 regulator-name = "CHARGER_TOPOFF";
653                                 regulator-min-microamp = <200000>;
654                                 regulator-max-microamp = <200000>;
655                                 regulator-always-on;
656                         };
657                 };
658         };
659 };
660
661 &i2c_7 {
662         status = "okay";
663
664         samsung,i2c-sda-delay = <100>;
665         samsung,i2c-slave-addr = <0x10>;
666         samsung,i2c-max-bus-freq = <400000>;
667
668         pinctrl-0 = <&i2c7_bus>;
669         pinctrl-names = "default";
670
671         magnetometer@c {
672                 compatible = "asahi-kasei,ak8975";
673                 reg = <0x0c>;
674
675                 gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
676         };
677 };
678
679 &pinctrl_0 {
680         pinctrl-names = "default";
681         pinctrl-0 = <&sleep0>;
682
683         sleep0: sleep-state {
684                 gpa0-0-pin {
685                         samsung,pins = "gpa0-0";
686                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
687                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
688                 };
689
690                 gpa0-1-pin {
691                         samsung,pins = "gpa0-1";
692                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
693                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
694                 };
695
696                 gpa0-2-pin {
697                         samsung,pins = "gpa0-2";
698                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
699                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
700                 };
701
702                 gpa0-3-pin {
703                         samsung,pins = "gpa0-3";
704                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
705                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
706                 };
707         };
708 };
709
710 &pinctrl_1 {
711         mhl_int: mhl-int-pins {
712                 samsung,pins = "gpf3-5";
713                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
714         };
715
716         i2c_mhl_bus: i2c-mhl-bus-pins {
717                 samsung,pins = "gpf0-4", "gpf0-6";
718                 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
719                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
720                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
721         };
722
723         usb_sel: usb-sel-pins {
724                 samsung,pins = "gpl0-6";
725                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
726                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
727                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
728                 samsung,pin-val = <0>;
729         };
730
731         bt_en: bt-en-pins {
732                 samsung,pins = "gpl0-4";
733                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
734                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
735                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
736                 samsung,pin-val = <0>;
737         };
738
739         bt_res: bt-res-pins {
740                 samsung,pins = "gpl1-0";
741                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
742                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
743                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
744                 samsung,pin-val = <0>;
745         };
746
747         otg_gp: otg-gp-pins {
748                 samsung,pins = "gpx3-3";
749                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
750                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
751                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
752                 samsung,pin-val = <0>;
753         };
754
755         mag_mhl_gpio: mag-mhl-pins {
756                 samsung,pins = "gpd0-2";
757                 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
758                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
759         };
760
761         max8997_irq: max8997-irq-pins {
762                 samsung,pins = "gpx0-7";
763                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
764         };
765
766         max17042_fuel_irq: max17042-fuel-irq-pins {
767                 samsung,pins = "gpx2-3";
768                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
769         };
770
771         tsp224_irq: tsp224-irq-pins {
772                 samsung,pins = "gpx0-4";
773                 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
774         };
775 };
776
777 &rtc {
778         status = "okay";
779         clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
780         clock-names = "rtc", "rtc_src";
781 };
782
783 &sdhci_0 {
784         status = "okay";
785
786         bus-width = <8>;
787         non-removable;
788         vmmc-supply = <&vemmc_reg>;
789
790         pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
791         pinctrl-names = "default";
792 };
793
794 &sdhci_2 {
795         status = "okay";
796
797         bus-width = <4>;
798         cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
799         vmmc-supply = <&vtf_reg>;
800
801         pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
802         pinctrl-names = "default";
803 };
804
805 &sdhci_3 {
806         status = "okay";
807
808         #address-cells = <1>;
809         #size-cells = <0>;
810
811         non-removable;
812         bus-width = <4>;
813         mmc-pwrseq = <&wlan_pwrseq>;
814         vmmc-supply = <&vtf_reg>;
815
816         pinctrl-names = "default";
817         pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
818
819         brcmf: wifi@1 {
820                 compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
821                 reg = <1>;
822
823                 interrupt-parent = <&gpx2>;
824                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
825                 interrupt-names = "host-wake";
826         };
827 };
828
829 &serial_0 {
830         status = "okay";
831
832         pinctrl-names = "default";
833         pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
834
835         bluetooth {
836                 compatible = "brcm,bcm4330-bt";
837
838                 shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
839                 reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
840                 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
841
842                 interrupt-parent = <&gpx2>;
843                 interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
844                 interrupt-names = "host-wakeup";
845         };
846 };
847
848 &serial_1 {
849         status = "okay";
850 };
851
852 &serial_2 {
853         status = "okay";
854 };
855
856 &serial_3 {
857         status = "okay";
858 };
859
860 &tmu {
861         status = "okay";
862 };