| // SPDX-License-Identifier: GPL-2.0 |
| /* |
| * Samsung Galaxy J7 (2016) (j7xelte) device tree source |
| * |
| * Copyright (c) 2025 Rayan Marzouk <rayanmarzouk743@gmail.com> |
| */ |
| |
| /dts-v1/; |
| #include "exynos7870.dtsi" |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/input/input.h> |
| #include <dt-bindings/interrupt-controller/irq.h> |
| |
| / { |
| model = "Samsung Galaxy J7 (2016)"; |
| compatible = "samsung,j7xelte", "samsung,exynos7870"; |
| chassis-type = "handset"; |
| |
| aliases { |
| mmc0 = &mmc0; |
| mmc1 = &mmc1; |
| mmc2 = &mmc2; |
| serial0 = &serial0; |
| serial1 = &serial1; |
| serial2 = &serial2; |
| }; |
| |
| chosen { |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| stdout-path = &serial2; |
| |
| framebuffer@67000000 { |
| compatible = "simple-framebuffer"; |
| reg = <0x0 0x67000000 (720 * 1280 * 4)>; |
| width = <720>; |
| height = <1280>; |
| stride = <(720 * 4)>; |
| format = "a8r8g8b8"; |
| }; |
| }; |
| |
| gpio-keys { |
| compatible = "gpio-keys"; |
| label = "GPIO Keys"; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&key_home &key_power &key_voldown &key_volup>; |
| |
| key-home { |
| label = "Home Key"; |
| gpios = <&gpa1 7 GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_HOMEPAGE>; |
| }; |
| |
| key-power { |
| label = "Power Key"; |
| gpios = <&gpa0 0 GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_POWER>; |
| }; |
| |
| key-voldown { |
| label = "Volume Down Key"; |
| gpios = <&gpa2 1 GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_VOLUMEDOWN>; |
| }; |
| |
| key-volup { |
| label = "Volume Up Key"; |
| gpios = <&gpa2 0 GPIO_ACTIVE_LOW>; |
| linux,code = <KEY_VOLUMEUP>; |
| }; |
| }; |
| |
| memory@40000000 { |
| device_type = "memory"; |
| reg = <0x0 0x40000000 0x3e400000>, |
| <0x0 0x80000000 0x40000000>; |
| }; |
| |
| pwrseq_mmc1: pwrseq-mmc1 { |
| compatible = "mmc-pwrseq-simple"; |
| reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>; |
| }; |
| |
| reserved-memory { |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| ramoops@46e00000 { |
| compatible = "ramoops"; |
| reg = <0x0 0x46e00000 0x8000>; |
| console-size = <0x4000>; |
| pmsg-size = <0x4000>; |
| }; |
| |
| cont_splash_mem: framebuffer@67000000 { |
| reg = <0x0 0x67000000 0x00384000>; |
| no-map; |
| }; |
| }; |
| |
| vdd_fixed_mmc2: regulator-fixed-mmc2 { |
| compatible = "regulator-fixed"; |
| regulator-name = "vdd_fixed_mmc2"; |
| regulator-max-microvolt = <2800000>; |
| regulator-min-microvolt = <2800000>; |
| gpio = <&gpc0 0 GPIO_ACTIVE_HIGH>; |
| enable-active-high; |
| }; |
| |
| vibrator { |
| compatible = "regulator-haptic"; |
| haptic-supply = <&vdd_ldo32>; |
| min-microvolt = <3300000>; |
| max-microvolt = <3300000>; |
| }; |
| }; |
| |
| &gpu { |
| status = "okay"; |
| }; |
| |
| &hsi2c0 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| status = "okay"; |
| |
| pmic@66 { |
| compatible = "samsung,s2mpu05-pmic"; |
| reg = <0x66>; |
| interrupt-parent = <&gpa0>; |
| interrupts = <2 IRQ_TYPE_LEVEL_LOW>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&pmic_irq>; |
| |
| regulators { |
| vdd_buck1: buck1 { |
| regulator-name = "vdd_buck1"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <1300000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_buck2: buck2 { |
| regulator-name = "vdd_buck2"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <1300000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_buck3: buck3 { |
| regulator-name = "vdd_buck3"; |
| regulator-min-microvolt = <500000>; |
| regulator-max-microvolt = <1300000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_buck4: buck4 { |
| regulator-name = "vdd_buck4"; |
| regulator-min-microvolt = <1200000>; |
| regulator-max-microvolt = <1500000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_buck5: buck5 { |
| regulator-name = "vdd_buck5"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <2100000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo1: ldo1 { |
| regulator-name = "vdd_ldo1"; |
| regulator-min-microvolt = <650000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo2: ldo2 { |
| regulator-name = "vdd_ldo2"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <2800000>; |
| }; |
| |
| vdd_ldo3: ldo3 { |
| regulator-name = "vdd_ldo3"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <2375000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo4: ldo4 { |
| regulator-name = "vdd_ldo4"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo5: ldo5 { |
| regulator-name = "vdd_ldo5"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo6: ldo6 { |
| regulator-name = "vdd_ldo6"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo7: ldo7 { |
| regulator-name = "vdd_ldo7"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <2375000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo8: ldo8 { |
| regulator-name = "vdd_ldo8"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| vdd_ldo9: ldo9 { |
| regulator-name = "vdd_ldo9"; |
| regulator-min-microvolt = <650000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo10: ldo10 { |
| regulator-name = "vdd_ldo10"; |
| regulator-min-microvolt = <650000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo25: ldo25 { |
| regulator-name = "vdd_ldo25"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <2375000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo26: ldo26 { |
| regulator-name = "vdd_ldo26"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <3375000>; |
| }; |
| |
| vdd_ldo27: ldo27 { |
| regulator-name = "vdd_ldo27"; |
| regulator-min-microvolt = <800000>; |
| regulator-max-microvolt = <2375000>; |
| }; |
| |
| vdd_ldo29: ldo29 { |
| regulator-name = "vdd_ldo29"; |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3000000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo30: ldo30 { |
| regulator-name = "vdd_ldo30"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo31: ldo31 { |
| regulator-name = "vdd_ldo31"; |
| regulator-min-microvolt = <2800000>; |
| regulator-max-microvolt = <2800000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo32: ldo32 { |
| regulator-name = "vdd_ldo32"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| }; |
| |
| vdd_ldo33: ldo33 { |
| regulator-name = "vdd_ldo33"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo34: ldo34 { |
| regulator-name = "vdd_ldo34"; |
| regulator-min-microvolt = <3300000>; |
| regulator-max-microvolt = <3300000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| |
| vdd_ldo35: ldo35 { |
| regulator-name = "vdd_ldo35"; |
| regulator-min-microvolt = <2800000>; |
| regulator-max-microvolt = <2800000>; |
| regulator-always-on; |
| regulator-boot-on; |
| }; |
| }; |
| }; |
| }; |
| |
| &i2c1 { |
| samsung,i2c-sda-delay = <100>; |
| samsung,i2c-max-bus-freq = <400000>; |
| |
| status = "okay"; |
| |
| touchscreen@48 { |
| compatible = "melfas,mip4_ts"; |
| reg = <0x48>; |
| |
| interrupt-parent = <&gpc3>; |
| interrupts = <2 IRQ_TYPE_EDGE_FALLING>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&touch_irq>; |
| }; |
| }; |
| |
| &mmc0 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_rdqs &sd0_bus1 &sd0_bus4 &sd0_bus8>; |
| |
| vmmc-supply = <&vdd_ldo26>; |
| vqmmc-supply = <&vdd_ldo27>; |
| |
| fifo-depth = <64>; |
| samsung,dw-mshc-ciu-div = <3>; |
| samsung,dw-mshc-sdr-timing = <0 4>; |
| samsung,dw-mshc-ddr-timing = <2 4>; |
| non-removable; |
| |
| status = "okay"; |
| }; |
| |
| &mmc1 { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| pinctrl-names = "default"; |
| pinctrl-0 = <&sd1_clk &sd1_cmd &sd1_bus1 &sd1_bus4>; |
| |
| mmc-pwrseq = <&pwrseq_mmc1>; |
| |
| bus-width = <4>; |
| fifo-depth = <64>; |
| samsung,dw-mshc-ciu-div = <3>; |
| samsung,dw-mshc-sdr-timing = <0 3>; |
| samsung,dw-mshc-ddr-timing = <1 2>; |
| non-removable; |
| cap-sd-highspeed; |
| cap-sdio-irq; |
| |
| status = "okay"; |
| |
| wifi@1 { |
| compatible = "brcm,bcm43430a1-fmac", "brcm,bcm4329-fmac"; |
| reg = <0x1>; |
| |
| interrupt-names = "host-wake"; |
| interrupt-parent = <&gpa2>; |
| interrupts = <2 IRQ_TYPE_LEVEL_LOW>; |
| |
| reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>; |
| }; |
| }; |
| |
| &mmc2 { |
| pinctrl-names = "default"; |
| pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_irq>; |
| |
| vmmc-supply = <&vdd_fixed_mmc2>; |
| vqmmc-supply = <&vdd_ldo2>; |
| |
| bus-width = <4>; |
| card-detect-delay = <200>; |
| fifo-depth = <64>; |
| samsung,dw-mshc-ciu-div = <3>; |
| samsung,dw-mshc-sdr-timing = <0 3>; |
| samsung,dw-mshc-ddr-timing = <1 2>; |
| sd-uhs-sdr50; |
| sd-uhs-sdr104; |
| broken-cd; |
| disable-wp; |
| |
| status = "okay"; |
| }; |
| |
| &oscclk { |
| clock-frequency = <26000000>; |
| }; |
| |
| &pinctrl_alive { |
| dwmmc2_irq: dwmmc2-irq-pins { |
| samsung,pins = "gpa0-1"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; |
| }; |
| |
| fuel_irq: fuel-irq-pins { |
| samsung,pins = "gpa0-3"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_INPUT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; |
| }; |
| |
| key_home: key-home-pins { |
| samsung,pins = "gpa1-7"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; |
| }; |
| |
| key_power: key-power-pins { |
| samsung,pins = "gpa0-0"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; |
| }; |
| |
| key_voldown: key-voldown-pins { |
| samsung,pins = "gpa2-1"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; |
| }; |
| |
| key_volup: key-volup-pins { |
| samsung,pins = "gpa2-0"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; |
| }; |
| |
| pmic_irq: pmic-irq-pins { |
| samsung,pins = "gpa0-2"; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_UP>; |
| samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR3>; |
| }; |
| }; |
| |
| &pinctrl_touch { |
| touch_irq: touch-irq-pins { |
| samsung,pins = "gpc3-2"; |
| samsung,pin-function = <EXYNOS_PIN_FUNC_EINT>; |
| samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>; |
| samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>; |
| }; |
| }; |
| |
| &serial2 { |
| status = "okay"; |
| }; |
| |
| &usbdrd { |
| vdd33-supply = <&vdd_ldo8>; |
| |
| status = "okay"; |
| }; |