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