// SPDX-License-Identifier: GPL-2.0 /* * Samsung Galaxy J6 (j6lte) device tree source * * Copyright (c) 2018 Samsung Electronics Co., Ltd. * Copyright (c) 2025 Kaustabh Chakraborty */ /dts-v1/; #include "exynos7870.dtsi" #include #include #include / { model = "Samsung Galaxy J6"; compatible = "samsung,j6lte", "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 * 1480 * 4)>; width = <720>; height = <1480>; stride = <(720 * 4)>; format = "a8r8g8b8"; }; }; gpio-hall-effect-sensor { compatible = "gpio-keys"; label = "GPIO Hall Effect Sensor"; pinctrl-names = "default"; pinctrl-0 = <&hall_irq>; event-hall-effect-sensor { label = "Hall Effect Sensor"; gpios = <&gpa1 3 GPIO_ACTIVE_LOW>; linux,input-type = ; linux,code = ; linux,can-disable; wakeup-source; }; }; gpio-keys { compatible = "gpio-keys"; label = "GPIO Keys"; pinctrl-names = "default"; pinctrl-0 = <&key_power &key_voldown &key_volup>; key-power { label = "Power Key"; gpios = <&gpa0 0 GPIO_ACTIVE_LOW>; linux,code = ; }; key-voldown { label = "Volume Down Key"; gpios = <&gpa2 1 GPIO_ACTIVE_LOW>; linux,code = ; }; key-volup { label = "Volume Up Key"; gpios = <&gpa2 0 GPIO_ACTIVE_LOW>; linux,code = ; }; }; memory@40000000 { device_type = "memory"; reg = <0x0 0x40000000 0x3d800000>, <0x0 0x80000000 0x7d800000>; }; pwrseq_mmc1: pwrseq-mmc1 { compatible = "mmc-pwrseq-simple"; reset-gpios = <&gpd3 6 GPIO_ACTIVE_LOW>; }; /* mmc2: vmmc */ 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; }; reserved-memory { #address-cells = <2>; #size-cells = <1>; ranges; ramoops@46e00000 { compatible = "ramoops"; reg = <0x0 0x46e00000 0x8000>; console-size = <0x4000>; pmsg-size = <0x4000>; }; framebuffer@67000000 { reg = <0x0 0x67000000 (720 * 1480 * 4)>; no-map; }; }; 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-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_buck2: buck2 { regulator-name = "vdd_buck2"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1300000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_buck3: buck3 { regulator-name = "vdd_buck3"; regulator-min-microvolt = <500000>; regulator-max-microvolt = <1300000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_buck4: buck4 { regulator-name = "vdd_buck4"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1500000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_buck5: buck5 { regulator-name = "vdd_buck5"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2100000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_ldo1: ldo1 { regulator-name = "vdd_ldo1"; regulator-min-microvolt = <650000>; regulator-max-microvolt = <1350000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; /* mmc2: vqmmc */ vdd_ldo2: ldo2 { regulator-name = "vdd_ldo2"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <2800000>; regulator-ramp-delay = <12000>; }; vdd_ldo3: ldo3 { regulator-name = "vdd_ldo3"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2375000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_ldo4: ldo4 { regulator-name = "vdd_ldo4"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1350000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_ldo5: ldo5 { regulator-name = "vdd_ldo5"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1350000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_ldo6: ldo6 { regulator-name = "vdd_ldo6"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <1350000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_ldo7: ldo7 { regulator-name = "vdd_ldo7"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2375000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; /* usbdrd: vdd33 */ vdd_ldo8: ldo8 { regulator-name = "vdd_ldo8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3375000>; regulator-ramp-delay = <12000>; }; vdd_ldo9: ldo9 { regulator-name = "vdd_ldo9"; regulator-min-microvolt = <650000>; regulator-max-microvolt = <1350000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_ldo10: ldo10 { regulator-name = "vdd_ldo10"; regulator-min-microvolt = <650000>; regulator-max-microvolt = <1350000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; vdd_ldo25: ldo25 { regulator-name = "vdd_ldo25"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2375000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; /* mmc0: vmmc */ vdd_ldo26: ldo26 { regulator-name = "vdd_ldo26"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <3375000>; regulator-ramp-delay = <12000>; }; /* mmc0: vqmmc */ vdd_ldo27: ldo27 { regulator-name = "vdd_ldo27"; regulator-min-microvolt = <800000>; regulator-max-microvolt = <2375000>; regulator-ramp-delay = <12000>; }; vdd_ldo29: ldo29 { regulator-name = "vdd_ldo29"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; regulator-boot-on; regulator-always-on; }; vdd_ldo30: ldo30 { regulator-name = "vdd_ldo30"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-boot-on; regulator-always-on; }; vdd_ldo31: ldo31 { regulator-name = "vdd_ldo31"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; /* vibrator: haptic */ vdd_ldo32: ldo32 { regulator-name = "vdd_ldo32"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-ramp-delay = <12000>; }; vdd_ldo33: ldo33 { regulator-name = "vdd_ldo33"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; /* touchscreen: vdd */ vdd_ldo34: ldo34 { regulator-name = "vdd_ldo34"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; }; vdd_ldo35: ldo35 { regulator-name = "vdd_ldo35"; regulator-min-microvolt = <2800000>; regulator-max-microvolt = <2800000>; regulator-ramp-delay = <12000>; regulator-boot-on; regulator-always-on; }; }; }; }; &i2c5 { #address-cells = <1>; #size-cells = <0>; samsung,i2c-sda-delay = <100>; samsung,i2c-max-bus-freq = <400000>; status = "okay"; accelerometer@1d { compatible = "st,lis2ds12"; reg = <0x1d>; interrupt-parent = <&gpa2>; interrupts = <3 IRQ_TYPE_EDGE_RISING>; pinctrl-names = "default"; pinctrl-0 = <&accel_irq>; mount-matrix = "-1", "0", "0", "0", "1", "0", "0", "0", "-1"; st,drdy-int-pin = <1>; }; }; &i2c6 { #address-cells = <1>; #size-cells = <0>; samsung,i2c-sda-delay = <100>; samsung,i2c-max-bus-freq = <400000>; status = "okay"; touchscreen@20 { compatible = "zinitix,bt532"; reg = <0x20>; interrupt-parent = <&gpa0>; interrupts = <6 IRQ_TYPE_LEVEL_LOW>; pinctrl-names = "default"; pinctrl-0 = <&touch_irq>; touchscreen-size-x = <720>; touchscreen-size-y = <1480>; vdd-supply = <&vdd_ldo34>; }; }; &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 { accel_irq: accel-irq-pins { samsung,pins = "gpa2-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; dwmmc2_irq: dwmmc2-irq-pins { samsung,pins = "gpa0-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; fuel_irq: fuel-irq-pins { samsung,pins = "gpa0-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; hall_irq: hall-irq-pins { samsung,pins = "gpa1-3"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; key_power: key-power-pins { samsung,pins = "gpa0-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; key_voldown: key-voldown-pins { samsung,pins = "gpa2-1"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; key_volup: key-volup-pins { samsung,pins = "gpa2-0"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; pmic_irq: pmic-irq-pins { samsung,pins = "gpa0-2"; samsung,pin-pud = ; samsung,pin-drv = ; }; touch_irq: touch-irq-pins { samsung,pins = "gpa0-6"; samsung,pin-function = ; samsung,pin-pud = ; samsung,pin-drv = ; }; wlan_hostwake: wlan-hostwake-pins { samsung,pins = "gpa2-2"; samsung,pin-function = ; samsung,pin-pud = ; }; }; &pinctrl_top { bt_enable: bt-enable-pins { samsung,pins = "gpd4-0"; samsung,pin-function = ; samsung,pin-con-pdn = ; samsung,pin-pud-pdn = ; samsung,pin-pud = ; }; wlan_enable: wlan-enable-pins { samsung,pins = "gpd3-6"; samsung,pin-function = ; samsung,pin-con-pdn = ; samsung,pin-pud-pdn = ; samsung,pin-pud = ; samsung,pin-drv = ; samsung,pin-val = <0>; }; }; &serial1 { status = "okay"; bluetooth { compatible = "brcm,bcm43430a1-bt"; pinctrl-names = "default"; pinctrl-0 = <&bt_btwake &bt_hostwake &bt_enable>; device-wakeup-gpios = <&gpa1 2 GPIO_ACTIVE_HIGH>; host-wakeup-gpios = <&gpa1 6 GPIO_ACTIVE_HIGH>; shutdown-gpios = <&gpd4 0 GPIO_ACTIVE_HIGH>; max-speed = <3000000>; }; }; &serial2 { status = "okay"; }; &usbdrd { vdd33-supply = <&vdd_ldo8>; status = "okay"; };