Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[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         status = "okay";
318
319         assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>;
320         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
321         assigned-clock-rates = <0>, <160000000>;
322 };
323
324 &fimc_2 {
325         status = "okay";
326
327         assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>;
328         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
329         assigned-clock-rates = <0>, <160000000>;
330 };
331
332 &fimc_3 {
333         status = "okay";
334
335         assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>;
336         assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
337         assigned-clock-rates = <0>, <160000000>;
338 };
339
340 &fimd {
341         status = "okay";
342         #address-cells = <1>;
343         #size-cells = <0>;
344
345         samsung,invert-vden;
346         samsung,invert-vclk;
347
348         pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
349         pinctrl-names = "default";
350
351         port@3 {
352                 reg = <3>;
353
354                 fimd_dpi_ep: endpoint {
355                         remote-endpoint = <&lcd_ep>;
356                 };
357         };
358 };
359
360 &gpu {
361         status = "okay";
362
363         mali-supply = <&vg3d_breg>;
364 };
365
366 &hsotg {
367         status = "okay";
368
369         dr_mode = "otg";
370         vusb_d-supply = <&vusb_reg>;
371         vusb_a-supply = <&vusbdac_reg>;
372 };
373
374 &i2c_3 {
375         status = "okay";
376
377         samsung,i2c-sda-delay = <100>;
378         samsung,i2c-slave-addr = <0x10>;
379         samsung,i2c-max-bus-freq = <100000>;
380
381         pinctrl-0 = <&i2c3_bus>;
382         pinctrl-names = "default";
383
384         touchscreen@4a {
385                 compatible = "atmel,maxtouch";
386                 reg = <0x4a>;
387
388                 interrupt-parent = <&gpx0>;
389                 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
390         };
391 };
392
393 &i2c_5 {
394         status = "okay";
395
396         samsung,i2c-sda-delay = <100>;
397         samsung,i2c-slave-addr = <0x10>;
398         samsung,i2c-max-bus-freq = <100000>;
399
400         pinctrl-0 = <&i2c5_bus>;
401         pinctrl-names = "default";
402
403         pmic@66 {
404                 compatible = "maxim,max8997-pmic";
405                 reg = <0x66>;
406
407                 interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
408                                       <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
409
410                 max8997,pmic-buck1-uses-gpio-dvs;
411                 max8997,pmic-buck2-uses-gpio-dvs;
412                 max8997,pmic-buck5-uses-gpio-dvs;
413
414                 max8997,pmic-ignore-gpiodvs-side-effect;
415                 max8997,pmic-buck125-default-dvs-idx = <0>;
416
417                 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
418                                                  <&gpx0 6 GPIO_ACTIVE_HIGH>,
419                                                  <&gpl0 0 GPIO_ACTIVE_HIGH>;
420
421                 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
422                                                  <1250000>, <1200000>,
423                                                  <1150000>, <1100000>,
424                                                  <1000000>, <950000>;
425
426                 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
427                                                  <950000>,  <900000>,
428                                                  <1100000>, <1000000>,
429                                                  <950000>,  <900000>;
430
431                 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
432                                                  <1200000>, <1200000>,
433                                                  <1200000>, <1200000>,
434                                                  <1200000>, <1200000>;
435
436                 pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
437                 pinctrl-names = "default";
438
439                 charger-supply = <&charger_reg>;
440
441                 regulators {
442                         vadc_reg: LDO1 {
443                                 regulator-name = "VADC_3.3V_C210";
444                                 regulator-min-microvolt = <3300000>;
445                                 regulator-max-microvolt = <3300000>;
446                                 regulator-always-on;
447
448                         };
449                         valive_reg: LDO2 {
450                                 regulator-name = "VALIVE_1.1V_C210";
451                                 regulator-min-microvolt = <1100000>;
452                                 regulator-max-microvolt = <1100000>;
453                                 regulator-always-on;
454
455                         };
456
457                         vusb_reg: LDO3 {
458                                 regulator-name = "VUSB_1.1V_C210";
459                                 regulator-min-microvolt = <1100000>;
460                                 regulator-max-microvolt = <1100000>;
461                         };
462
463                         vmipi_reg: LDO4 {
464                                 regulator-name = "VMIPI_1.8V";
465                                 regulator-min-microvolt = <1800000>;
466                                 regulator-max-microvolt = <1800000>;
467                                 regulator-always-on;
468                         };
469
470                         vhsic_reg: LDO5 {
471                                 regulator-name = "VHSIC_1.2V";
472                                 regulator-min-microvolt = <1200000>;
473                                 regulator-max-microvolt = <1200000>;
474                                 regulator-always-on;
475                         };
476
477                         vpda_reg: LDO6 {
478                                 regulator-name = "VCC_1.8V_PDA";
479                                 regulator-min-microvolt = <1800000>;
480                                 regulator-max-microvolt = <1800000>;
481                                 regulator-always-on;
482                         };
483
484                         vcam_reg: LDO7 {
485                                 regulator-name = "CAM_ISP_1.8V";
486                                 regulator-min-microvolt = <1800000>;
487                                 regulator-max-microvolt = <1800000>;
488                         };
489
490                         vusbdac_reg: LDO8 {
491                                 regulator-name = "VUSB+VDAC_3.3V_C210";
492                                 regulator-min-microvolt = <3300000>;
493                                 regulator-max-microvolt = <3300000>;
494                         };
495
496                         vccpda_reg: LDO9 {
497                                 regulator-name = "VCC_2.8V_PDA";
498                                 regulator-min-microvolt = <2800000>;
499                                 regulator-max-microvolt = <2800000>;
500                                 regulator-always-on;
501                         };
502
503                         vtouch_reg: LDO11 {
504                                 regulator-name = "TOUCH_2.8V";
505                                 regulator-min-microvolt = <2800000>;
506                                 regulator-max-microvolt = <2800000>;
507                                 regulator-always-on;
508                         };
509
510                         vpll_reg: LDO10 {
511                                 regulator-name = "VPLL_1.1V";
512                                 regulator-min-microvolt = <1100000>;
513                                 regulator-max-microvolt = <1100000>;
514                                 regulator-always-on;
515                         };
516
517                         vtcam_reg: LDO12 {
518                                 regulator-name = "VT_CAM_1.8V";
519                                 regulator-min-microvolt = <1800000>;
520                                 regulator-max-microvolt = <1800000>;
521                         };
522
523                         vcclcd_reg: LDO13 {
524                                 regulator-name = "VCC_3.0V_LCD";
525                                 regulator-min-microvolt = <3000000>;
526                                 regulator-max-microvolt = <3000000>;
527                         };
528
529                         vmotor_reg: LDO14 {
530                                 regulator-name = "VCC_2.8V_MOTOR";
531                                 regulator-min-microvolt = <2800000>;
532                                 regulator-max-microvolt = <2800000>;
533                         };
534
535                         vled_reg: LDO15 {
536                                 regulator-name = "LED_A_2.8V";
537                                 regulator-min-microvolt = <2800000>;
538                                 regulator-max-microvolt = <2800000>;
539                         };
540
541                         camsensor_reg: LDO16 {
542                                 regulator-name = "CAM_SENSOR_IO_1.8V";
543                                 regulator-min-microvolt = <1800000>;
544                                 regulator-max-microvolt = <1800000>;
545                         };
546
547                         vtf_reg: LDO17 {
548                                 regulator-name = "VTF_2.8V";
549                                 regulator-min-microvolt = <2800000>;
550                                 regulator-max-microvolt = <2800000>;
551                         };
552
553                         vtouchled_reg: LDO18 {
554                                 regulator-name = "TOUCH_LED_3.3V";
555                                 regulator-min-microvolt = <2500000>;
556                                 regulator-max-microvolt = <3300000>;
557                         };
558
559                         vddq_reg: LDO21 {
560                                 regulator-name = "VDDQ_M1M2_1.2V";
561                                 regulator-min-microvolt = <1200000>;
562                                 regulator-max-microvolt = <1200000>;
563                                 regulator-always-on;
564                         };
565
566                         varm_breg: BUCK1 {
567                                 regulator-name = "VARM_1.2V_C210";
568                                 regulator-min-microvolt = <65000>;
569                                 regulator-max-microvolt = <2225000>;
570                                 regulator-always-on;
571                         };
572
573                         vint_breg: BUCK2 {
574                                 regulator-name = "VINT_1.1V_C210";
575                                 regulator-min-microvolt = <65000>;
576                                 regulator-max-microvolt = <2225000>;
577                                 regulator-always-on;
578                         };
579
580                         vg3d_breg: BUCK3 {
581                                 regulator-name = "G3D_1.1V";
582                                 regulator-min-microvolt = <900000>;
583                                 regulator-max-microvolt = <1200000>;
584                                 regulator-microvolt-offset = <50000>;
585                                 regulator-always-on;
586                         };
587
588                         camisp_breg: BUCK4 {
589                                 regulator-name = "CAM_ISP_CORE_1.2V";
590                                 regulator-min-microvolt = <1200000>;
591                                 regulator-max-microvolt = <1200000>;
592                         };
593
594                         vmem_breg: BUCK5 {
595                                 regulator-name = "VMEM_1.2V";
596                                 regulator-min-microvolt = <1200000>;
597                                 regulator-max-microvolt = <1200000>;
598                                 regulator-always-on;
599                         };
600
601                         vccsub_breg: BUCK7 {
602                                 regulator-name = "VCC_SUB_2.0V";
603                                 regulator-min-microvolt = <2000000>;
604                                 regulator-max-microvolt = <2000000>;
605                                 regulator-always-on;
606                         };
607
608                         safe1_sreg: ESAFEOUT1 {
609                                 regulator-name = "SAFEOUT1";
610                         };
611
612                         safe2_sreg: ESAFEOUT2 {
613                                 regulator-name = "SAFEOUT2";
614                                 regulator-boot-on;
615                         };
616
617                         EN32KHZ_AP {
618                                 regulator-name = "EN32KHZ_AP";
619                                 regulator-always-on;
620                         };
621
622                         EN32KHZ_CP {
623                                 regulator-name = "EN32KHZ_CP";
624                                 regulator-always-on;
625                         };
626
627                         charger_reg: CHARGER {
628                                 regulator-name = "CHARGER";
629                                 regulator-min-microamp = <200000>;
630                                 regulator-max-microamp = <950000>;
631                         };
632
633                         chargercv_reg: CHARGER_CV {
634                                 regulator-name = "CHARGER_CV";
635                                 regulator-min-microvolt = <4200000>;
636                                 regulator-max-microvolt = <4200000>;
637                                 regulator-always-on;
638                         };
639
640                         CHARGER_TOPOFF {
641                                 regulator-name = "CHARGER_TOPOFF";
642                                 regulator-min-microamp = <200000>;
643                                 regulator-max-microamp = <200000>;
644                                 regulator-always-on;
645                         };
646                 };
647         };
648 };
649
650 &i2c_7 {
651         status = "okay";
652
653         samsung,i2c-sda-delay = <100>;
654         samsung,i2c-slave-addr = <0x10>;
655         samsung,i2c-max-bus-freq = <400000>;
656
657         pinctrl-0 = <&i2c7_bus>;
658         pinctrl-names = "default";
659
660         magnetometer@c {
661                 compatible = "asahi-kasei,ak8975";
662                 reg = <0x0c>;
663
664                 gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
665         };
666 };
667
668 &pinctrl_0 {
669         pinctrl-names = "default";
670         pinctrl-0 = <&sleep0>;
671
672         sleep0: sleep-states {
673                 gpa0-0 {
674                         samsung,pins = "gpa0-0";
675                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
676                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
677                 };
678
679                 gpa0-1 {
680                         samsung,pins = "gpa0-1";
681                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
682                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
683                 };
684
685                 gpa0-2 {
686                         samsung,pins = "gpa0-2";
687                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
688                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
689                 };
690
691                 gpa0-3 {
692                         samsung,pins = "gpa0-3";
693                         samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
694                         samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
695                 };
696         };
697 };
698
699 &pinctrl_1 {
700         mhl_int: mhl-int {
701                 samsung,pins = "gpf3-5";
702                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
703         };
704
705         i2c_mhl_bus: i2c-mhl-bus {
706                 samsung,pins = "gpf0-4", "gpf0-6";
707                 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
708                 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
709                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
710         };
711
712         usb_sel: usb-sel {
713                 samsung,pins = "gpl0-6";
714                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
715                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
716                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
717                 samsung,pin-val = <0>;
718         };
719
720         bt_en: bt-en {
721                 samsung,pins = "gpl0-4";
722                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
723                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
724                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
725                 samsung,pin-val = <0>;
726         };
727
728         bt_res: bt-res {
729                 samsung,pins = "gpl1-0";
730                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
731                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
732                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
733                 samsung,pin-val = <0>;
734         };
735
736         otg_gp: otg-gp {
737                 samsung,pins = "gpx3-3";
738                 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
739                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
740                 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
741                 samsung,pin-val = <0>;
742         };
743
744         mag_mhl_gpio: mag-mhl {
745                 samsung,pins = "gpd0-2";
746                 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
747                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
748         };
749
750         max8997_irq: max8997-irq {
751                 samsung,pins = "gpx0-7";
752                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
753         };
754
755         max17042_fuel_irq: max17042-fuel-irq {
756                 samsung,pins = "gpx2-3";
757                 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
758         };
759
760         tsp224_irq: tsp224-irq {
761                 samsung,pins = "gpx0-4";
762                 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
763         };
764 };
765
766 &rtc {
767         status = "okay";
768         clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
769         clock-names = "rtc", "rtc_src";
770 };
771
772 &sdhci_0 {
773         status = "okay";
774
775         bus-width = <8>;
776         non-removable;
777         vmmc-supply = <&vemmc_reg>;
778
779         pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
780         pinctrl-names = "default";
781 };
782
783 &sdhci_2 {
784         status = "okay";
785
786         bus-width = <4>;
787         cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
788         vmmc-supply = <&vtf_reg>;
789
790         pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
791         pinctrl-names = "default";
792 };
793
794 &sdhci_3 {
795         status = "okay";
796
797         #address-cells = <1>;
798         #size-cells = <0>;
799
800         non-removable;
801         bus-width = <4>;
802         mmc-pwrseq = <&wlan_pwrseq>;
803         vmmc-supply = <&vtf_reg>;
804
805         pinctrl-names = "default";
806         pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
807
808         brcmf: wifi@1 {
809                 compatible = "brcm,bcm4330-fmac";
810                 reg = <1>;
811
812                 interrupt-parent = <&gpx2>;
813                 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
814                 interrupt-names = "host-wake";
815         };
816 };
817
818 &serial_0 {
819         status = "okay";
820
821         pinctrl-names = "default";
822         pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
823
824         bluetooth {
825                 compatible = "brcm,bcm4330-bt";
826
827                 shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
828                 reset-gpios = <&gpl1 0 GPIO_ACTIVE_HIGH>;
829                 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
830                 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;
831         };
832 };
833
834 &serial_1 {
835         status = "okay";
836 };
837
838 &serial_2 {
839         status = "okay";
840 };
841
842 &serial_3 {
843         status = "okay";
844 };
845
846 &tmu {
847         status = "okay";
848 };