GNU Linux-libre 5.19-rc6-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                 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                 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                 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                 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 = <90>;
205                         panel-height-mm = <154>;
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                         vcclcd_reg: LDO13 {
527                                 regulator-name = "VCC_3.0V_LCD";
528                                 regulator-min-microvolt = <3000000>;
529                                 regulator-max-microvolt = <3000000>;
530                         };
531
532                         vmotor_reg: LDO14 {
533                                 regulator-name = "VCC_2.8V_MOTOR";
534                                 regulator-min-microvolt = <2800000>;
535                                 regulator-max-microvolt = <2800000>;
536                         };
537
538                         vled_reg: LDO15 {
539                                 regulator-name = "LED_A_2.8V";
540                                 regulator-min-microvolt = <2800000>;
541                                 regulator-max-microvolt = <2800000>;
542                         };
543
544                         camsensor_reg: LDO16 {
545                                 regulator-name = "CAM_SENSOR_IO_1.8V";
546                                 regulator-min-microvolt = <1800000>;
547                                 regulator-max-microvolt = <1800000>;
548                         };
549
550                         vtf_reg: LDO17 {
551                                 regulator-name = "VTF_2.8V";
552                                 regulator-min-microvolt = <2800000>;
553                                 regulator-max-microvolt = <2800000>;
554                         };
555
556                         vtouchled_reg: LDO18 {
557                                 regulator-name = "TOUCH_LED_3.3V";
558                                 regulator-min-microvolt = <2500000>;
559                                 regulator-max-microvolt = <3300000>;
560                         };
561
562                         vddq_reg: LDO21 {
563                                 regulator-name = "VDDQ_M1M2_1.2V";
564                                 regulator-min-microvolt = <1200000>;
565                                 regulator-max-microvolt = <1200000>;
566                                 regulator-always-on;
567                         };
568
569                         varm_breg: BUCK1 {
570                                 regulator-name = "VARM_1.2V_C210";
571                                 regulator-min-microvolt = <65000>;
572                                 regulator-max-microvolt = <2225000>;
573                                 regulator-always-on;
574                         };
575
576                         vint_breg: BUCK2 {
577                                 regulator-name = "VINT_1.1V_C210";
578                                 regulator-min-microvolt = <65000>;
579                                 regulator-max-microvolt = <2225000>;
580                                 regulator-always-on;
581                         };
582
583                         vg3d_breg: BUCK3 {
584                                 regulator-name = "G3D_1.1V";
585                                 regulator-min-microvolt = <900000>;
586                                 regulator-max-microvolt = <1200000>;
587                                 regulator-microvolt-offset = <50000>;
588                                 regulator-always-on;
589                         };
590
591                         camisp_breg: BUCK4 {
592                                 regulator-name = "CAM_ISP_CORE_1.2V";
593                                 regulator-min-microvolt = <1200000>;
594                                 regulator-max-microvolt = <1200000>;
595                         };
596
597                         vmem_breg: BUCK5 {
598                                 regulator-name = "VMEM_1.2V";
599                                 regulator-min-microvolt = <1200000>;
600                                 regulator-max-microvolt = <1200000>;
601                                 regulator-always-on;
602                         };
603
604                         vccsub_breg: BUCK7 {
605                                 regulator-name = "VCC_SUB_2.0V";
606                                 regulator-min-microvolt = <2000000>;
607                                 regulator-max-microvolt = <2000000>;
608                                 regulator-always-on;
609                         };
610
611                         safe1_sreg: ESAFEOUT1 {
612                                 regulator-name = "SAFEOUT1";
613                         };
614
615                         safe2_sreg: ESAFEOUT2 {
616                                 regulator-name = "SAFEOUT2";
617                                 regulator-boot-on;
618                         };
619
620                         EN32KHZ_AP {
621                                 regulator-name = "EN32KHZ_AP";
622                                 regulator-always-on;
623                         };
624
625                         EN32KHZ_CP {
626                                 regulator-name = "EN32KHZ_CP";
627                                 regulator-always-on;
628                         };
629
630                         charger_reg: CHARGER {
631                                 regulator-name = "CHARGER";
632                                 regulator-min-microamp = <200000>;
633                                 regulator-max-microamp = <950000>;
634                         };
635
636                         chargercv_reg: CHARGER_CV {
637                                 regulator-name = "CHARGER_CV";
638                                 regulator-min-microvolt = <4200000>;
639                                 regulator-max-microvolt = <4200000>;
640                                 regulator-always-on;
641                         };
642
643                         CHARGER_TOPOFF {
644                                 regulator-name = "CHARGER_TOPOFF";
645                                 regulator-min-microamp = <200000>;
646                                 regulator-max-microamp = <200000>;
647                                 regulator-always-on;
648                         };
649                 };
650         };
651 };
652
653 &i2c_7 {
654         status = "okay";
655
656         samsung,i2c-sda-delay = <100>;
657         samsung,i2c-slave-addr = <0x10>;
658         samsung,i2c-max-bus-freq = <400000>;
659
660         pinctrl-0 = <&i2c7_bus>;
661         pinctrl-names = "default";
662
663         magnetometer@c {
664                 compatible = "asahi-kasei,ak8975";
665                 reg = <0x0c>;
666
667                 gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
668         };
669 };
670
671 &pinctrl_0 {
672         pinctrl-names = "default";
673         pinctrl-0 = <&sleep0>;
674
675         sleep0: sleep-state {
676                 gpa0-0-pin {
677                         samsung,pins = "gpa0-0";
678                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
679                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
680                 };
681
682                 gpa0-1-pin {
683                         samsung,pins = "gpa0-1";
684                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
685                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
686                 };
687
688                 gpa0-2-pin {
689                         samsung,pins = "gpa0-2";
690                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
691                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
692                 };
693
694                 gpa0-3-pin {
695                         samsung,pins = "gpa0-3";
696                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
697                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
698                 };
699         };
700 };
701
702 &pinctrl_1 {
703         mhl_int: mhl-int-pins {
704                 samsung,pins = "gpf3-5";
705                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
706         };
707
708         i2c_mhl_bus: i2c-mhl-bus-pins {
709                 samsung,pins = "gpf0-4", "gpf0-6";
710                 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
711                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
712                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
713         };
714
715         usb_sel: usb-sel-pins {
716                 samsung,pins = "gpl0-6";
717                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
718                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
719                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
720                 samsung,pin-val = <0>;
721         };
722
723         bt_en: bt-en-pins {
724                 samsung,pins = "gpl0-4";
725                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
726                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
727                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
728                 samsung,pin-val = <0>;
729         };
730
731         bt_res: bt-res-pins {
732                 samsung,pins = "gpl1-0";
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         otg_gp: otg-gp-pins {
740                 samsung,pins = "gpx3-3";
741                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
742                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
743                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
744                 samsung,pin-val = <0>;
745         };
746
747         mag_mhl_gpio: mag-mhl-pins {
748                 samsung,pins = "gpd0-2";
749                 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
750                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
751         };
752
753         max8997_irq: max8997-irq-pins {
754                 samsung,pins = "gpx0-7";
755                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
756         };
757
758         max17042_fuel_irq: max17042-fuel-irq-pins {
759                 samsung,pins = "gpx2-3";
760                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
761         };
762
763         tsp224_irq: tsp224-irq-pins {
764                 samsung,pins = "gpx0-4";
765                 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
766         };
767 };
768
769 &rtc {
770         status = "okay";
771         clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
772         clock-names = "rtc", "rtc_src";
773 };
774
775 &sdhci_0 {
776         status = "okay";
777
778         bus-width = <8>;
779         non-removable;
780         vmmc-supply = <&vemmc_reg>;
781
782         pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
783         pinctrl-names = "default";
784 };
785
786 &sdhci_2 {
787         status = "okay";
788
789         bus-width = <4>;
790         cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
791         vmmc-supply = <&vtf_reg>;
792
793         pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
794         pinctrl-names = "default";
795 };
796
797 &sdhci_3 {
798         status = "okay";
799
800         #address-cells = <1>;
801         #size-cells = <0>;
802
803         non-removable;
804         bus-width = <4>;
805         mmc-pwrseq = <&wlan_pwrseq>;
806         vmmc-supply = <&vtf_reg>;
807
808         pinctrl-names = "default";
809         pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
810
811         brcmf: wifi@1 {
812                 compatible = "brcm,bcm4330-fmac", "brcm,bcm4329-fmac";
813                 reg = <1>;
814
815                 interrupt-parent = <&gpx2>;
816                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
817                 interrupt-names = "host-wake";
818         };
819 };
820
821 &serial_0 {
822         status = "okay";
823
824         pinctrl-names = "default";
825         pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
826
827         bluetooth {
828                 compatible = "brcm,bcm4330-bt";
829
830                 shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
831                 reset-gpios = <&gpl1 0 GPIO_ACTIVE_LOW>;
832                 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
833
834                 interrupt-parent = <&gpx2>;
835                 interrupts = <6 IRQ_TYPE_EDGE_FALLING>;
836                 interrupt-names = "host-wakeup";
837         };
838 };
839
840 &serial_1 {
841         status = "okay";
842 };
843
844 &serial_2 {
845         status = "okay";
846 };
847
848 &serial_3 {
849         status = "okay";
850 };
851
852 &tmu {
853         status = "okay";
854 };