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 {
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>;
215 cpu_thermal: cpu-thermal {
218 /* Corresponds to 800MHz */
219 cooling-device = <&cpu0 2 2>;
222 /* Corresponds to 200MHz */
223 cooling-device = <&cpu0 4 4>;
235 cpu0-supply = <&varm_breg>;
241 phys = <&exynos_usbphy 1>;
248 vbus-supply = <&safe1_sreg>;
254 assigned-clocks = <&clock CLK_MOUT_FIMC0>, <&clock CLK_SCLK_FIMC0>;
255 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
256 assigned-clock-rates = <0>, <160000000>;
262 assigned-clocks = <&clock CLK_MOUT_FIMC1>, <&clock CLK_SCLK_FIMC1>;
263 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
264 assigned-clock-rates = <0>, <160000000>;
270 assigned-clocks = <&clock CLK_MOUT_FIMC2>, <&clock CLK_SCLK_FIMC2>;
271 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
272 assigned-clock-rates = <0>, <160000000>;
278 assigned-clocks = <&clock CLK_MOUT_FIMC3>, <&clock CLK_SCLK_FIMC3>;
279 assigned-clock-parents = <&clock CLK_SCLK_MPLL>;
280 assigned-clock-rates = <0>, <160000000>;
285 #address-cells = <1>;
291 pinctrl-0 = <&lcd_clk>, <&lcd_data24>;
292 pinctrl-names = "default";
297 fimd_dpi_ep: endpoint {
298 remote-endpoint = <&lcd_ep>;
306 mali-supply = <&vg3d_breg>;
307 regulator-microvolt-offset = <50000>;
308 regulator-microsecs-delay = <50>;
315 vusb_d-supply = <&vusb_reg>;
316 vusb_a-supply = <&vusbdac_reg>;
322 samsung,i2c-sda-delay = <100>;
323 samsung,i2c-slave-addr = <0x10>;
324 samsung,i2c-max-bus-freq = <100000>;
326 pinctrl-0 = <&i2c3_bus>;
327 pinctrl-names = "default";
329 mxt224-touchscreen@4a {
330 compatible = "atmel,maxtouch";
333 interrupt-parent = <&gpx0>;
334 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
341 samsung,i2c-sda-delay = <100>;
342 samsung,i2c-slave-addr = <0x10>;
343 samsung,i2c-max-bus-freq = <100000>;
345 pinctrl-0 = <&i2c5_bus>;
346 pinctrl-names = "default";
349 compatible = "maxim,max8997-pmic";
352 interrupts-extended = <&gpx0 7 IRQ_TYPE_NONE>,
353 <&gpx2 3 IRQ_TYPE_EDGE_FALLING>;
355 max8997,pmic-buck1-uses-gpio-dvs;
356 max8997,pmic-buck2-uses-gpio-dvs;
357 max8997,pmic-buck5-uses-gpio-dvs;
359 max8997,pmic-ignore-gpiodvs-side-effect;
360 max8997,pmic-buck125-default-dvs-idx = <0>;
362 max8997,pmic-buck125-dvs-gpios = <&gpx0 5 GPIO_ACTIVE_HIGH>,
363 <&gpx0 6 GPIO_ACTIVE_HIGH>,
364 <&gpl0 0 GPIO_ACTIVE_HIGH>;
366 max8997,pmic-buck1-dvs-voltage = <1350000>, <1300000>,
367 <1250000>, <1200000>,
368 <1150000>, <1100000>,
371 max8997,pmic-buck2-dvs-voltage = <1100000>, <1000000>,
373 <1100000>, <1000000>,
376 max8997,pmic-buck5-dvs-voltage = <1200000>, <1200000>,
377 <1200000>, <1200000>,
378 <1200000>, <1200000>,
379 <1200000>, <1200000>;
381 pinctrl-0 = <&max8997_irq>, <&otg_gp>, <&usb_sel>;
382 pinctrl-names = "default";
386 regulator-name = "VADC_3.3V_C210";
387 regulator-min-microvolt = <3300000>;
388 regulator-max-microvolt = <3300000>;
393 regulator-name = "VALIVE_1.1V_C210";
394 regulator-min-microvolt = <1100000>;
395 regulator-max-microvolt = <1100000>;
401 regulator-name = "VUSB_1.1V_C210";
402 regulator-min-microvolt = <1100000>;
403 regulator-max-microvolt = <1100000>;
407 regulator-name = "VMIPI_1.8V";
408 regulator-min-microvolt = <1800000>;
409 regulator-max-microvolt = <1800000>;
414 regulator-name = "VHSIC_1.2V";
415 regulator-min-microvolt = <1200000>;
416 regulator-max-microvolt = <1200000>;
421 regulator-name = "VCC_1.8V_PDA";
422 regulator-min-microvolt = <1800000>;
423 regulator-max-microvolt = <1800000>;
428 regulator-name = "CAM_ISP_1.8V";
429 regulator-min-microvolt = <1800000>;
430 regulator-max-microvolt = <1800000>;
434 regulator-name = "VUSB+VDAC_3.3V_C210";
435 regulator-min-microvolt = <3300000>;
436 regulator-max-microvolt = <3300000>;
440 regulator-name = "VCC_2.8V_PDA";
441 regulator-min-microvolt = <2800000>;
442 regulator-max-microvolt = <2800000>;
447 regulator-name = "TOUCH_2.8V";
448 regulator-min-microvolt = <2800000>;
449 regulator-max-microvolt = <2800000>;
454 regulator-name = "VPLL_1.1V";
455 regulator-min-microvolt = <1100000>;
456 regulator-max-microvolt = <1100000>;
461 regulator-name = "VT_CAM_1.8V";
462 regulator-min-microvolt = <1800000>;
463 regulator-max-microvolt = <1800000>;
467 regulator-name = "VCC_3.0V_LCD";
468 regulator-min-microvolt = <3000000>;
469 regulator-max-microvolt = <3000000>;
473 regulator-name = "VCC_2.8V_MOTOR";
474 regulator-min-microvolt = <2800000>;
475 regulator-max-microvolt = <2800000>;
479 regulator-name = "LED_A_2.8V";
480 regulator-min-microvolt = <2800000>;
481 regulator-max-microvolt = <2800000>;
484 camsensor_reg: LDO16 {
485 regulator-name = "CAM_SENSOR_IO_1.8V";
486 regulator-min-microvolt = <1800000>;
487 regulator-max-microvolt = <1800000>;
491 regulator-name = "VTF_2.8V";
492 regulator-min-microvolt = <2800000>;
493 regulator-max-microvolt = <2800000>;
496 vtouchled_reg: LDO18 {
497 regulator-name = "TOUCH_LED_3.3V";
498 regulator-min-microvolt = <2500000>;
499 regulator-max-microvolt = <3300000>;
503 regulator-name = "VDDQ_M1M2_1.2V";
504 regulator-min-microvolt = <1200000>;
505 regulator-max-microvolt = <1200000>;
510 regulator-name = "VARM_1.2V_C210";
511 regulator-min-microvolt = <65000>;
512 regulator-max-microvolt = <2225000>;
517 regulator-name = "VINT_1.1V_C210";
518 regulator-min-microvolt = <65000>;
519 regulator-max-microvolt = <2225000>;
524 regulator-name = "G3D_1.1V";
525 regulator-min-microvolt = <900000>;
526 regulator-max-microvolt = <1200000>;
531 regulator-name = "CAM_ISP_CORE_1.2V";
532 regulator-min-microvolt = <1200000>;
533 regulator-max-microvolt = <1200000>;
537 regulator-name = "VMEM_1.2V";
538 regulator-min-microvolt = <1200000>;
539 regulator-max-microvolt = <1200000>;
544 regulator-name = "VCC_SUB_2.0V";
545 regulator-min-microvolt = <2000000>;
546 regulator-max-microvolt = <2000000>;
550 safe1_sreg: ESAFEOUT1 {
551 regulator-name = "SAFEOUT1";
554 safe2_sreg: ESAFEOUT2 {
555 regulator-name = "SAFEOUT2";
559 charger_reg: CHARGER {
560 regulator-name = "CHARGER";
561 regulator-min-microamp = <60000>;
562 regulator-max-microamp = <2580000>;
566 chargercv_reg: CHARGER_CV {
567 regulator-name = "CHARGER_CV";
568 regulator-min-microvolt = <3800000>;
569 regulator-max-microvolt = <4100000>;
579 samsung,i2c-sda-delay = <100>;
580 samsung,i2c-slave-addr = <0x10>;
581 samsung,i2c-max-bus-freq = <400000>;
583 pinctrl-0 = <&i2c7_bus>;
584 pinctrl-names = "default";
587 compatible = "asahi-kasei,ak8975";
590 gpios = <&gpx2 2 GPIO_ACTIVE_HIGH>;
595 pinctrl-names = "default";
596 pinctrl-0 = <&sleep0>;
598 sleep0: sleep-states {
600 samsung,pins = "gpa0-0";
601 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
602 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
606 samsung,pins = "gpa0-1";
607 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT0>;
608 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
612 samsung,pins = "gpa0-2";
613 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_INPUT>;
614 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
618 samsung,pins = "gpa0-3";
619 samsung,pin-con-pdn = <EXYNOS_PIN_PDN_OUT1>;
620 samsung,pin-pud-pdn = <EXYNOS_PIN_PULL_NONE>;
627 samsung,pins = "gpf3-5";
628 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
631 i2c_mhl_bus: i2c-mhl-bus {
632 samsung,pins = "gpf0-4", "gpf0-6";
633 samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
634 samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
635 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
639 samsung,pins = "gpl0-6";
640 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
641 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
642 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
643 samsung,pin-val = <0>;
647 samsung,pins = "gpl0-4";
648 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
649 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
650 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
651 samsung,pin-val = <0>;
655 samsung,pins = "gpl1-0";
656 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
657 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
658 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
659 samsung,pin-val = <0>;
663 samsung,pins = "gpx3-3";
664 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
665 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
666 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
667 samsung,pin-val = <0>;
670 mag_mhl_gpio: mag-mhl-gpio {
671 samsung,pins = "gpd0-2";
672 samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
673 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
676 max8997_irq: max8997-irq {
677 samsung,pins = "gpx0-7";
678 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
681 max17042_fuel_irq: max17042-fuel-irq {
682 samsung,pins = "gpx2-3";
683 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
686 tsp224_irq: tsp224-irq {
687 samsung,pins = "gpx0-4";
688 samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
697 vmmc-supply = <&vemmc_reg>;
699 pinctrl-0 = <&sd0_clk>, <&sd0_cmd>, <&sd0_bus8>;
700 pinctrl-names = "default";
707 cd-gpios = <&gpx3 4 GPIO_ACTIVE_LOW>;
708 vmmc-supply = <&vtf_reg>;
710 pinctrl-0 = <&sd2_clk>, <&sd2_cmd>, <&sd2_bus4>;
711 pinctrl-names = "default";
717 #address-cells = <1>;
722 mmc-pwrseq = <&wlan_pwrseq>;
723 vmmc-supply = <&vtf_reg>;
725 pinctrl-names = "default";
726 pinctrl-0 = <&sd3_clk>, <&sd3_cmd>, <&sd3_bus4>;
729 compatible = "brcm,bcm4330-fmac";
732 interrupt-parent = <&gpx2>;
733 interrupts = <5 IRQ_TYPE_LEVEL_HIGH>;
734 interrupt-names = "host-wake";
741 pinctrl-names = "default";
742 pinctrl-0 = <&bt_en>, <&bt_res>, <&uart0_data>, <&uart0_fctl>;
745 compatible = "brcm,bcm4330-bt";
747 shutdown-gpios = <&gpl0 4 GPIO_ACTIVE_HIGH>;
748 reset-gpios = <&gpl1 0 GPIO_ACTIVE_HIGH>;
749 device-wakeup-gpios = <&gpx3 1 GPIO_ACTIVE_HIGH>;
750 host-wakeup-gpios = <&gpx2 6 GPIO_ACTIVE_HIGH>;