1 // SPDX-License-Identifier: GPL-2.0
3 * Samsung's Exynos4210 based Galaxy S2 (GT-I9100 version) device tree
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>
12 #include "exynos4210.dtsi"
13 #include "exynos4412-ppmu-common.dtsi"
15 #include <dt-bindings/gpio/gpio.h>
16 #include <dt-bindings/input/linux-event-codes.h>
19 model = "Samsung Galaxy S2 (GT-I9100)";
20 compatible = "samsung,i9100", "samsung,exynos4210", "samsung,exynos4";
23 device_type = "memory";
24 reg = <0x40000000 0x40000000>;
28 stdout-path = "serial2:115200n8";
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>;
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>;
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>;
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>;
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>;
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>;
89 compatible = "gpio-keys";
92 gpios = <&gpx2 1 GPIO_ACTIVE_LOW>;
93 linux,code = <KEY_VOLUMEDOWN>;
94 label = "volume down";
95 debounce-interval = <10>;
99 gpios = <&gpx2 0 GPIO_ACTIVE_LOW>;
100 linux,code = <KEY_VOLUMEUP>;
102 debounce-interval = <10>;
106 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
107 linux,code = <KEY_POWER>;
109 debounce-interval = <10>;
114 gpios = <&gpx3 5 GPIO_ACTIVE_LOW>;
115 linux,code = <KEY_OK>;
117 debounce-interval = <10>;
121 wlan_pwrseq: sdhci3-pwrseq {
122 compatible = "mmc-pwrseq-simple";
123 reset-gpios = <&gpl1 2 GPIO_ACTIVE_LOW>;
126 i2c_max17042_fuel: i2c-gpio-0 {
127 compatible = "i2c-gpio";
128 #address-cells = <1>;
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>;
136 compatible = "maxim,max17042";
138 interrupt-parent = <&gpx2>;
139 interrupts = <3 IRQ_TYPE_EDGE_FALLING>;
141 pinctrl-0 = <&max17042_fuel_irq>;
142 pinctrl-names = "default";
145 maxim,over-heat-temp = <700>;
146 maxim,over-volt = <4500>;
151 compatible = "spi-gpio";
152 #address-cells = <1>;
155 num-chipselects = <1>;
156 cs-gpios = <&gpy4 3 GPIO_ACTIVE_LOW>;
157 sck-gpios = <&gpy3 1 GPIO_ACTIVE_HIGH>;
158 mosi-gpios = <&gpy3 3 GPIO_ACTIVE_HIGH>;
161 compatible = "samsung,ld9040";
164 spi-max-frequency = <1200000>;
166 vdd3-supply = <&vmipi_reg>;
167 vci-supply = <&vcclcd_reg>;
169 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
170 power-on-delay = <10>;
173 panel-width-mm = <90>;
174 panel-height-mm = <154>;
178 clock-frequency = <23492370>;
190 pixelclk-active = <0>;
196 remote-endpoint = <&fimd_dpi_ep>;
204 compatible = "samsung,clock-xxti";
205 clock-frequency = <0>;
209 compatible = "samsung,clock-xusbxti";
210 clock-frequency = <24000000>;
213 pmic_ap_clk: pmic-ap-clk {
214 /* Workaround for missing clock on max8997 PMIC */
215 compatible = "fixed-clock";
217 clock-frequency = <32768>;
227 cpu0-supply = <&varm_breg>;
233 /* Corresponds to 800MHz */
234 cooling-device = <&cpu0 2 2>;
237 /* Corresponds to 200MHz */
238 cooling-device = <&cpu0 4 4>;
246 phys = <&exynos_usbphy 1>;
253 vbus-supply = <&safe1_sreg>;
259 assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>;
260 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
261 assigned-clock-rates = <0>, <160000000>;
267 assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>;
268 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
269 assigned-clock-rates = <0>, <160000000>;
275 assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>;
276 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
277 assigned-clock-rates = <0>, <160000000>;
283 assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>;
284 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
285 assigned-clock-rates = <0>, <160000000>;
290 #address-cells = <1>;
296 pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
297 pinctrl-names = "default";
302 fimd_dpi_ep: endpoint {
303 remote-endpoint = <&lcd_ep>;
311 mali-supply = <&vg3d_breg>;
318 vusb_d-supply = <&vusb_reg>;
319 vusb_a-supply = <&vusbdac_reg>;
325 samsung,i2c-sda-delay = <100>;
326 samsung,i2c-slave-addr = <0x10>;
327 samsung,i2c-max-bus-freq = <100000>;
329 pinctrl-0 = <&i2c3_bus>;
330 pinctrl-names = "default";
333 compatible = "atmel,maxtouch";
336 interrupt-parent = <&gpx0>;
337 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
344 samsung,i2c-sda-delay = <100>;
345 samsung,i2c-slave-addr = <0x10>;
346 samsung,i2c-max-bus-freq = <100000>;
348 pinctrl-0 = <&i2c5_bus>;
349 pinctrl-names = "default";
352 compatible = "maxim,max8997-pmic";
355 interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
356 <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
358 max8997,pmic-buck1-uses-gpio-dvs;
359 max8997,pmic-buck2-uses-gpio-dvs;
360 max8997,pmic-buck5-uses-gpio-dvs;
362 max8997,pmic-ignore-gpiodvs-side-effect;
363 max8997,pmic-buck125-default-dvs-idx = <0>;
365 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
366 <&gpx0 6 GPIO_ACTIVE_HIGH>,
367 <&gpl0 0 GPIO_ACTIVE_HIGH>;
369 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
370 <1250000>, <1200000>,
371 <1150000>, <1100000>,
374 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
376 <1100000>, <1000000>,
379 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
380 <1200000>, <1200000>,
381 <1200000>, <1200000>,
382 <1200000>, <1200000>;
384 pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
385 pinctrl-names = "default";
389 regulator-name = "VADC_3.3V_C210";
390 regulator-min-microvolt = <3300000>;
391 regulator-max-microvolt = <3300000>;
396 regulator-name = "VALIVE_1.1V_C210";
397 regulator-min-microvolt = <1100000>;
398 regulator-max-microvolt = <1100000>;
404 regulator-name = "VUSB_1.1V_C210";
405 regulator-min-microvolt = <1100000>;
406 regulator-max-microvolt = <1100000>;
410 regulator-name = "VMIPI_1.8V";
411 regulator-min-microvolt = <1800000>;
412 regulator-max-microvolt = <1800000>;
417 regulator-name = "VHSIC_1.2V";
418 regulator-min-microvolt = <1200000>;
419 regulator-max-microvolt = <1200000>;
424 regulator-name = "VCC_1.8V_PDA";
425 regulator-min-microvolt = <1800000>;
426 regulator-max-microvolt = <1800000>;
431 regulator-name = "CAM_ISP_1.8V";
432 regulator-min-microvolt = <1800000>;
433 regulator-max-microvolt = <1800000>;
437 regulator-name = "VUSB+VDAC_3.3V_C210";
438 regulator-min-microvolt = <3300000>;
439 regulator-max-microvolt = <3300000>;
443 regulator-name = "VCC_2.8V_PDA";
444 regulator-min-microvolt = <2800000>;
445 regulator-max-microvolt = <2800000>;
450 regulator-name = "TOUCH_2.8V";
451 regulator-min-microvolt = <2800000>;
452 regulator-max-microvolt = <2800000>;
457 regulator-name = "VPLL_1.1V";
458 regulator-min-microvolt = <1100000>;
459 regulator-max-microvolt = <1100000>;
464 regulator-name = "VT_CAM_1.8V";
465 regulator-min-microvolt = <1800000>;
466 regulator-max-microvolt = <1800000>;
470 regulator-name = "VCC_3.0V_LCD";
471 regulator-min-microvolt = <3000000>;
472 regulator-max-microvolt = <3000000>;
476 regulator-name = "VCC_2.8V_MOTOR";
477 regulator-min-microvolt = <2800000>;
478 regulator-max-microvolt = <2800000>;
482 regulator-name = "LED_A_2.8V";
483 regulator-min-microvolt = <2800000>;
484 regulator-max-microvolt = <2800000>;
487 camsensor_reg: LDO16 {
488 regulator-name = "CAM_SENSOR_IO_1.8V";
489 regulator-min-microvolt = <1800000>;
490 regulator-max-microvolt = <1800000>;
494 regulator-name = "VTF_2.8V";
495 regulator-min-microvolt = <2800000>;
496 regulator-max-microvolt = <2800000>;
499 vtouchled_reg: LDO18 {
500 regulator-name = "TOUCH_LED_3.3V";
501 regulator-min-microvolt = <2500000>;
502 regulator-max-microvolt = <3300000>;
506 regulator-name = "VDDQ_M1M2_1.2V";
507 regulator-min-microvolt = <1200000>;
508 regulator-max-microvolt = <1200000>;
513 regulator-name = "VARM_1.2V_C210";
514 regulator-min-microvolt = <65000>;
515 regulator-max-microvolt = <2225000>;
520 regulator-name = "VINT_1.1V_C210";
521 regulator-min-microvolt = <65000>;
522 regulator-max-microvolt = <2225000>;
527 regulator-name = "G3D_1.1V";
528 regulator-min-microvolt = <900000>;
529 regulator-max-microvolt = <1200000>;
530 regulator-microvolt-offset = <50000>;
535 regulator-name = "CAM_ISP_CORE_1.2V";
536 regulator-min-microvolt = <1200000>;
537 regulator-max-microvolt = <1200000>;
541 regulator-name = "VMEM_1.2V";
542 regulator-min-microvolt = <1200000>;
543 regulator-max-microvolt = <1200000>;
548 regulator-name = "VCC_SUB_2.0V";
549 regulator-min-microvolt = <2000000>;
550 regulator-max-microvolt = <2000000>;
554 safe1_sreg: ESAFEOUT1 {
555 regulator-name = "SAFEOUT1";
558 safe2_sreg: ESAFEOUT2 {
559 regulator-name = "SAFEOUT2";
563 charger_reg: CHARGER {
564 regulator-name = "CHARGER";
565 regulator-min-microamp = <60000>;
566 regulator-max-microamp = <2580000>;
570 chargercv_reg: CHARGER_CV {
571 regulator-name = "CHARGER_CV";
572 regulator-min-microvolt = <3800000>;
573 regulator-max-microvolt = <4100000>;
578 regulator-name = "EN32KHZ_AP";
583 regulator-name = "EN32KHZ_CP";
593 samsung,i2c-sda-delay = <100>;
594 samsung,i2c-slave-addr = <0x10>;
595 samsung,i2c-max-bus-freq = <400000>;
597 pinctrl-0 = <&i2c7_bus>;
598 pinctrl-names = "default";
601 compatible = "asahi-kasei,ak8975";
604 gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
609 pinctrl-names = "default";
610 pinctrl-0 = <&sleep0>;
612 sleep0: sleep-states {
614 samsung,pins = "gpa0-0";
615 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
616 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
620 samsung,pins = "gpa0-1";
621 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
622 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
626 samsung,pins = "gpa0-2";
627 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
628 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
632 samsung,pins = "gpa0-3";
633 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
634 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
641 samsung,pins = "gpf3-5";
642 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
645 i2c_mhl_bus: i2c-mhl-bus {
646 samsung,pins = "gpf0-4", "gpf0-6";
647 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
648 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
649 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
653 samsung,pins = "gpl0-6";
654 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
655 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
656 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
657 samsung,pin-val = <0>;
661 samsung,pins = "gpl0-4";
662 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
663 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
664 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
665 samsung,pin-val = <0>;
669 samsung,pins = "gpl1-0";
670 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
671 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
672 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
673 samsung,pin-val = <0>;
677 samsung,pins = "gpx3-3";
678 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
679 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
680 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
681 samsung,pin-val = <0>;
684 mag_mhl_gpio: mag-mhl {
685 samsung,pins = "gpd0-2";
686 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
687 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
690 max8997_irq: max8997-irq {
691 samsung,pins = "gpx0-7";
692 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
695 max17042_fuel_irq: max17042-fuel-irq {
696 samsung,pins = "gpx2-3";
697 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
700 tsp224_irq: tsp224-irq {
701 samsung,pins = "gpx0-4";
702 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
708 clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
709 clock-names = "rtc", "rtc_src";
717 vmmc-supply = <&vemmc_reg>;
719 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
720 pinctrl-names = "default";
727 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
728 vmmc-supply = <&vtf_reg>;
730 pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
731 pinctrl-names = "default";
737 #address-cells = <1>;
742 mmc-pwrseq = <&wlan_pwrseq>;
743 vmmc-supply = <&vtf_reg>;
745 pinctrl-names = "default";
746 pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
749 compatible = "brcm,bcm4330-fmac";
752 interrupt-parent = <&gpx2>;
753 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
754 interrupt-names = "host-wake";
761 pinctrl-names = "default";
762 pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
765 compatible = "brcm,bcm4330-bt";
767 shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
768 reset-gpios = <&gpl1 0 GPIO_ACTIVE_HIGH>;
769 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
770 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;