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