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_LEVEL_LOW>;
141 pinctrl-0 = <&max17042_fuel_irq>;
142 pinctrl-names = "default";
145 maxim,over-heat-temp = <700>;
146 maxim,over-volt = <4500>;
150 i2c_s5k5baf: i2c-gpio-1 {
151 compatible = "i2c-gpio";
152 #address-cells = <1>;
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>;
160 compatible = "samsung,s5k5baf";
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>;
172 s5k5bafx_ep: endpoint {
173 remote-endpoint = <&csis1_ep>;
181 compatible = "spi-gpio";
182 #address-cells = <1>;
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>;
191 compatible = "samsung,ld9040";
194 spi-max-frequency = <1200000>;
196 vdd3-supply = <&vmipi_reg>;
197 vci-supply = <&vcclcd_reg>;
199 reset-gpios = <&gpy4 5 GPIO_ACTIVE_HIGH>;
200 power-on-delay = <10>;
203 panel-width-mm = <90>;
204 panel-height-mm = <154>;
208 clock-frequency = <23492370>;
220 pixelclk-active = <0>;
226 remote-endpoint = <&fimd_dpi_ep>;
234 compatible = "samsung,clock-xxti";
235 clock-frequency = <0>;
239 compatible = "samsung,clock-xusbxti";
240 clock-frequency = <24000000>;
243 pmic_ap_clk: pmic-ap-clk {
244 /* Workaround for missing clock on max8997 PMIC */
245 compatible = "fixed-clock";
247 clock-frequency = <32768>;
253 pinctrl-0 = <&cam_port_a_clk_active>;
254 pinctrl-names = "default";
256 assigned-clocks = <&clock CLK_MOUT_CAM0>, <&clock CLK_MOUT_CAM1>;
257 assigned-clock-parents = <&clock CLK_XUSBXTI>, <&clock CLK_XUSBXTI>;
262 vddcore-supply = <&vusb_reg>;
263 vddio-supply = <&vmipi_reg>;
264 clock-frequency = <160000000>;
265 #address-cells = <1>;
271 remote-endpoint = <&s5k5bafx_ep>;
273 samsung,csis-hs-settle = <6>;
279 cpu0-supply = <&varm_breg>;
285 /* Corresponds to 800MHz */
286 cooling-device = <&cpu0 2 2>;
289 /* Corresponds to 200MHz */
290 cooling-device = <&cpu0 4 4>;
298 phys = <&exynos_usbphy 1>;
305 vbus-supply = <&safe1_sreg>;
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>;
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>;
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>;
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>;
342 #address-cells = <1>;
348 pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
349 pinctrl-names = "default";
354 fimd_dpi_ep: endpoint {
355 remote-endpoint = <&lcd_ep>;
363 mali-supply = <&vg3d_breg>;
370 vusb_d-supply = <&vusb_reg>;
371 vusb_a-supply = <&vusbdac_reg>;
377 samsung,i2c-sda-delay = <100>;
378 samsung,i2c-slave-addr = <0x10>;
379 samsung,i2c-max-bus-freq = <100000>;
381 pinctrl-0 = <&i2c3_bus>;
382 pinctrl-names = "default";
385 compatible = "atmel,maxtouch";
388 interrupt-parent = <&gpx0>;
389 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
396 samsung,i2c-sda-delay = <100>;
397 samsung,i2c-slave-addr = <0x10>;
398 samsung,i2c-max-bus-freq = <100000>;
400 pinctrl-0 = <&i2c5_bus>;
401 pinctrl-names = "default";
404 compatible = "maxim,max8997-pmic";
407 interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
408 <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
410 max8997,pmic-buck1-uses-gpio-dvs;
411 max8997,pmic-buck2-uses-gpio-dvs;
412 max8997,pmic-buck5-uses-gpio-dvs;
414 max8997,pmic-ignore-gpiodvs-side-effect;
415 max8997,pmic-buck125-default-dvs-idx = <0>;
417 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
418 <&gpx0 6 GPIO_ACTIVE_HIGH>,
419 <&gpl0 0 GPIO_ACTIVE_HIGH>;
421 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
422 <1250000>, <1200000>,
423 <1150000>, <1100000>,
426 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
428 <1100000>, <1000000>,
431 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
432 <1200000>, <1200000>,
433 <1200000>, <1200000>,
434 <1200000>, <1200000>;
436 pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
437 pinctrl-names = "default";
439 charger-supply = <&charger_reg>;
443 regulator-name = "VADC_3.3V_C210";
444 regulator-min-microvolt = <3300000>;
445 regulator-max-microvolt = <3300000>;
450 regulator-name = "VALIVE_1.1V_C210";
451 regulator-min-microvolt = <1100000>;
452 regulator-max-microvolt = <1100000>;
458 regulator-name = "VUSB_1.1V_C210";
459 regulator-min-microvolt = <1100000>;
460 regulator-max-microvolt = <1100000>;
464 regulator-name = "VMIPI_1.8V";
465 regulator-min-microvolt = <1800000>;
466 regulator-max-microvolt = <1800000>;
471 regulator-name = "VHSIC_1.2V";
472 regulator-min-microvolt = <1200000>;
473 regulator-max-microvolt = <1200000>;
478 regulator-name = "VCC_1.8V_PDA";
479 regulator-min-microvolt = <1800000>;
480 regulator-max-microvolt = <1800000>;
485 regulator-name = "CAM_ISP_1.8V";
486 regulator-min-microvolt = <1800000>;
487 regulator-max-microvolt = <1800000>;
491 regulator-name = "VUSB+VDAC_3.3V_C210";
492 regulator-min-microvolt = <3300000>;
493 regulator-max-microvolt = <3300000>;
497 regulator-name = "VCC_2.8V_PDA";
498 regulator-min-microvolt = <2800000>;
499 regulator-max-microvolt = <2800000>;
504 regulator-name = "TOUCH_2.8V";
505 regulator-min-microvolt = <2800000>;
506 regulator-max-microvolt = <2800000>;
511 regulator-name = "VPLL_1.1V";
512 regulator-min-microvolt = <1100000>;
513 regulator-max-microvolt = <1100000>;
518 regulator-name = "VT_CAM_1.8V";
519 regulator-min-microvolt = <1800000>;
520 regulator-max-microvolt = <1800000>;
524 regulator-name = "VCC_3.0V_LCD";
525 regulator-min-microvolt = <3000000>;
526 regulator-max-microvolt = <3000000>;
530 regulator-name = "VCC_2.8V_MOTOR";
531 regulator-min-microvolt = <2800000>;
532 regulator-max-microvolt = <2800000>;
536 regulator-name = "LED_A_2.8V";
537 regulator-min-microvolt = <2800000>;
538 regulator-max-microvolt = <2800000>;
541 camsensor_reg: LDO16 {
542 regulator-name = "CAM_SENSOR_IO_1.8V";
543 regulator-min-microvolt = <1800000>;
544 regulator-max-microvolt = <1800000>;
548 regulator-name = "VTF_2.8V";
549 regulator-min-microvolt = <2800000>;
550 regulator-max-microvolt = <2800000>;
553 vtouchled_reg: LDO18 {
554 regulator-name = "TOUCH_LED_3.3V";
555 regulator-min-microvolt = <2500000>;
556 regulator-max-microvolt = <3300000>;
560 regulator-name = "VDDQ_M1M2_1.2V";
561 regulator-min-microvolt = <1200000>;
562 regulator-max-microvolt = <1200000>;
567 regulator-name = "VARM_1.2V_C210";
568 regulator-min-microvolt = <65000>;
569 regulator-max-microvolt = <2225000>;
574 regulator-name = "VINT_1.1V_C210";
575 regulator-min-microvolt = <65000>;
576 regulator-max-microvolt = <2225000>;
581 regulator-name = "G3D_1.1V";
582 regulator-min-microvolt = <900000>;
583 regulator-max-microvolt = <1200000>;
584 regulator-microvolt-offset = <50000>;
589 regulator-name = "CAM_ISP_CORE_1.2V";
590 regulator-min-microvolt = <1200000>;
591 regulator-max-microvolt = <1200000>;
595 regulator-name = "VMEM_1.2V";
596 regulator-min-microvolt = <1200000>;
597 regulator-max-microvolt = <1200000>;
602 regulator-name = "VCC_SUB_2.0V";
603 regulator-min-microvolt = <2000000>;
604 regulator-max-microvolt = <2000000>;
608 safe1_sreg: ESAFEOUT1 {
609 regulator-name = "SAFEOUT1";
612 safe2_sreg: ESAFEOUT2 {
613 regulator-name = "SAFEOUT2";
618 regulator-name = "EN32KHZ_AP";
623 regulator-name = "EN32KHZ_CP";
627 charger_reg: CHARGER {
628 regulator-name = "CHARGER";
629 regulator-min-microamp = <200000>;
630 regulator-max-microamp = <950000>;
633 chargercv_reg: CHARGER_CV {
634 regulator-name = "CHARGER_CV";
635 regulator-min-microvolt = <4200000>;
636 regulator-max-microvolt = <4200000>;
641 regulator-name = "CHARGER_TOPOFF";
642 regulator-min-microamp = <200000>;
643 regulator-max-microamp = <200000>;
653 samsung,i2c-sda-delay = <100>;
654 samsung,i2c-slave-addr = <0x10>;
655 samsung,i2c-max-bus-freq = <400000>;
657 pinctrl-0 = <&i2c7_bus>;
658 pinctrl-names = "default";
661 compatible = "asahi-kasei,ak8975";
664 gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
669 pinctrl-names = "default";
670 pinctrl-0 = <&sleep0>;
672 sleep0: sleep-states {
674 samsung,pins = "gpa0-0";
675 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
676 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
680 samsung,pins = "gpa0-1";
681 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
682 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
686 samsung,pins = "gpa0-2";
687 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
688 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
692 samsung,pins = "gpa0-3";
693 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
694 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
701 samsung,pins = "gpf3-5";
702 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
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>;
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>;
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>;
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>;
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>;
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>;
750 max8997_irq: max8997-irq {
751 samsung,pins = "gpx0-7";
752 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
755 max17042_fuel_irq: max17042-fuel-irq {
756 samsung,pins = "gpx2-3";
757 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
760 tsp224_irq: tsp224-irq {
761 samsung,pins = "gpx0-4";
762 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
768 clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
769 clock-names = "rtc", "rtc_src";
777 vmmc-supply = <&vemmc_reg>;
779 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
780 pinctrl-names = "default";
787 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
788 vmmc-supply = <&vtf_reg>;
790 pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
791 pinctrl-names = "default";
797 #address-cells = <1>;
802 mmc-pwrseq = <&wlan_pwrseq>;
803 vmmc-supply = <&vtf_reg>;
805 pinctrl-names = "default";
806 pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
809 compatible = "brcm,bcm4330-fmac";
812 interrupt-parent = <&gpx2>;
813 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
814 interrupt-names = "host-wake";
821 pinctrl-names = "default";
822 pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
825 compatible = "brcm,bcm4330-bt";
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>;