Loading...
Note: File does not exist in v5.4.
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree
4 *
5 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 * Copyright (c) 2020 Stenkin Evgeniy <stenkinevgeniy@gmail.com>
8 * Copyright (c) 2020 Paul Cercueil <paul@crapouillou.net>
9 */
10
11/dts-v1/;
12#include "exynos4210.dtsi"
13#include "exynos4412-ppmu-common.dtsi"
14
15#include <dt-bindings/gpio/gpio.h>
16#include <dt-bindings/input/linux-event-codes.h>
17
18/ {
19 model = "Samsung Galaxy S2 (GT-I9100)";
20 compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4";
21 chassis-type = "handset";
22
23 memory@40000000 {
24 device_type = "memory";
25 reg = <0x40000000 0x40000000>;
26 };
27
28 chosen {
29 stdout-path = "serial2:115200n8";
30 };
31
32 vemmc_reg: regulator-0 {
33 compatible = "regulator-fixed";
34 regulator-name = "VMEM_VDD_2.8V";
35 regulator-min-microvolt = <2800000>;
36 regulator-max-microvolt = <2800000>;
37 gpio = <&gpk0 2 GPIO_ACTIVE_HIGH>;
38 enable-active-high;
39 };
40
41 tsp_reg: regulator-1 {
42 compatible = "regulator-fixed";
43 regulator-name = "TSP_FIXED_VOLTAGES";
44 regulator-min-microvolt = <3300000>;
45 regulator-max-microvolt = <3300000>;
46 gpio = <&gpl0 3 GPIO_ACTIVE_HIGH>;
47 startup-delay-us = <70000>;
48 enable-active-high;
49 regulator-boot-on;
50 regulator-always-on;
51 };
52
53 cam_af_28v_reg: regulator-2 {
54 compatible = "regulator-fixed";
55 regulator-name = "8M_AF_2.8V_EN";
56 regulator-min-microvolt = <2800000>;
57 regulator-max-microvolt = <2800000>;
58 gpio = <&gpk1 1 GPIO_ACTIVE_HIGH>;
59 enable-active-high;
60 };
61
62 cam_io_en_reg: regulator-3 {
63 compatible = "regulator-fixed";
64 regulator-name = "CAM_IO_EN";
65 regulator-min-microvolt = <2800000>;
66 regulator-max-microvolt = <2800000>;
67 gpio = <&gpe2 1 GPIO_ACTIVE_HIGH>;
68 enable-active-high;
69 };
70
71 cam_io_12v_reg: regulator-4 {
72 compatible = "regulator-fixed";
73 regulator-name = "8M_1.2V_EN";
74 regulator-min-microvolt = <1200000>;
75 regulator-max-microvolt = <1200000>;
76 gpio = <&gpe2 5 GPIO_ACTIVE_HIGH>;
77 enable-active-high;
78 };
79
80 vt_core_15v_reg: regulator-5 {
81 compatible = "regulator-fixed";
82 regulator-name = "VT_CORE_1.5V";
83 regulator-min-microvolt = <1500000>;
84 regulator-max-microvolt = <1500000>;
85 gpio = <&gpe2 2 GPIO_ACTIVE_HIGH>;
86 enable-active-high;
87 };
88
89 gpio-keys {
90 compatible = "gpio-keys";
91
92 key-vol-down {
93 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
94 linux,code = <KEY_VOLUMEDOWN>;
95 label = "volume down";
96 debounce-interval = <10>;
97 };
98
99 key-vol-up {
100 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
101 linux,code = <KEY_VOLUMEUP>;
102 label = "volume up";
103 debounce-interval = <10>;
104 };
105
106 key-power {
107 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
108 linux,code = <KEY_POWER>;
109 label = "power";
110 debounce-interval = <10>;
111 wakeup-source;
112 };
113
114 key-ok {
115 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
116 linux,code = <KEY_OK>;
117 label = "ok";
118 debounce-interval = <10>;
119 };
120 };
121
122 wlan_pwrseq: sdhci3-pwrseq {
123 compatible = "mmc-pwrseq-simple";
124 reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
125 };
126
127 i2c_max17042_fuel: i2c-gpio-0 {
128 compatible = "i2c-gpio";
129 #address-cells = <1>;
130 #size-cells = <0>;
131
132 sda-gpios = <&gpy4 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
133 scl-gpios = <&gpy4 1 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
134 i2c-gpio,delay-us = <5>;
135
136 battery@36 {
137 compatible = "maxim,max17042";
138
139 interrupt-parent = <&gpx2>;
140 interrupts = <3 IRQ_TYPE_LEVEL_LOW>;
141
142 pinctrl-0 = <&max17042_fuel_irq>;
143 pinctrl-names = "default";
144
145 reg = <0x36>;
146 maxim,over-heat-temp = <700>;
147 maxim,over-volt = <4500>;
148 };
149 };
150
151 i2c_s5k5baf: i2c-gpio-1 {
152 compatible = "i2c-gpio";
153 #address-cells = <1>;
154 #size-cells = <0>;
155
156 sda-gpios = <&gpc1 0 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
157 scl-gpios = <&gpc1 2 (GPIO_ACTIVE_HIGH | GPIO_OPEN_DRAIN)>;
158 i2c-gpio,delay-us = <2>;
159
160 image-sensor@2d {
161 compatible = "samsung,s5k5baf";
162 reg = <0x2d>;
163 vdda-supply = <&cam_io_en_reg>;
164 vddreg-supply = <&vt_core_15v_reg>;
165 vddio-supply = <&vtcam_reg>;
166 clocks = <&camera 0>;
167 clock-names = "mclk";
168 stbyn-gpios = <&gpl2 0 GPIO_ACTIVE_LOW>;
169 rstn-gpios = <&gpl2 1 GPIO_ACTIVE_LOW>;
170 clock-frequency = <24000000>;
171
172 port {
173 s5k5bafx_ep: endpoint {
174 remote-endpoint = <&csis1_ep>;
175 data-lanes = <1>;
176 };
177 };
178 };
179 };
180
181 spi-3 {
182 compatible = "spi-gpio";
183 #address-cells = <1>;
184 #size-cells = <0>;
185
186 num-chipselects = <1>;
187 cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
188 sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
189 mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
190
191 lcd@0 {
192 compatible = "samsung,ld9040";
193 reg = <0>;
194
195 spi-max-frequency = <1200000>;
196
197 vdd3-supply = <&vmipi_reg>;
198 vci-supply = <&vcclcd_reg>;
199
200 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
201 power-on-delay = <10>;
202 reset-delay = <10>;
203
204 panel-width-mm = <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};