From nobody Fri Apr 10 02:38:43 2026 Received: from layka.disroot.org (layka.disroot.org [178.21.23.139]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id D7E6539FCD5; Wed, 4 Mar 2026 17:27:12 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=178.21.23.139 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772645240; cv=none; b=t2xQLMR4+ur5tYI1rC6XKVApqiwvoMWDuQ+xtp0JJ13ES3gvluoVfPMHTVE7iSUZlh9fzN8FWvTqK6t4Gzdw8q+8dcM9rHRipBY1mPgnK6vjPcfv5bERchsW/TLrLex3WmLAJaT5xjlej5XAozH/uPHM9ZBkj6joOxB3+uCPyaM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772645240; c=relaxed/simple; bh=gXxpDxYSsxfIYJdQgrUMFhuRiQJAnZgDB8Dquxkfqzk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=kp72KgiuQdLg3gEJx3jmfjXS4GPaqtiuSMLK5niWOfryw7agCvtVxAdnabUM1V6kRExGnzDZMzpNzn9Q1SyUZMHanm3cDAQNL2uN8dAfo4Ea9Lx528Y9R5Wbz+msgeaDideXETcnL/lN+2dAaIY2qnyk8+QQNYvPPHurLPKqijs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org; spf=pass smtp.mailfrom=disroot.org; dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b=YScReau5; arc=none smtp.client-ip=178.21.23.139 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=disroot.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=disroot.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=disroot.org header.i=@disroot.org header.b="YScReau5" Received: from [127.0.0.1] (localhost [127.0.0.1]) by disroot.org (Postfix) with ESMTP id 529C826946; Wed, 4 Mar 2026 18:27:11 +0100 (CET) X-Virus-Scanned: SPAM Filter at disroot.org Received: from layka.disroot.org ([127.0.0.1]) by localhost (disroot.org [127.0.0.1]) (amavis, port 10024) with ESMTP id otGv26DNRkl2; Wed, 4 Mar 2026 18:27:10 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=disroot.org; s=mail; t=1772645230; bh=gXxpDxYSsxfIYJdQgrUMFhuRiQJAnZgDB8Dquxkfqzk=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=YScReau5ntkzcQDRtcFggqQjMNXBON0TO5wDQtMqWi6nVV9XAr/g0H3M9y2ZoVxEa Da+WzIj+AWY6RnejCVL/tuADr2ZvSV5p2AMUjicUuEk2pltxAvgJrc7qYxwiEs92Cj yxXfzTMm+7Qb/7z9z+XydE89f0Y3K/2BnGDtH8yhYD4SqBad+u/Q0KwqDEKPWCbYuc osmhsDqrpXwsh4yHG4jnNPF/vE6tjTSCV3rgqV54eDUOKJ2MwyBiUzTNVGJJNstdCH d4Yzk+UvzzUD/QxinSpCb8gHNWF2fEuHKUioWsjJVU0Ba0+Ln7g4F9x6do60XQV24Y X4g+REqkcHiwA== From: Kaustabh Chakraborty Date: Wed, 04 Mar 2026 22:56:54 +0530 Subject: [PATCH 2/2] arm64: dts: exynos: add initial support for samsung-j5y17lte Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260304-exynos7870-j5y17lte-v1-2-eb25902c84c8@disroot.org> References: <20260304-exynos7870-j5y17lte-v1-0-eb25902c84c8@disroot.org> In-Reply-To: <20260304-exynos7870-j5y17lte-v1-0-eb25902c84c8@disroot.org> To: Krzysztof Kozlowski , Alim Akhtar , Rob Herring , Conor Dooley , Krzysztof Kozlowski , Kees Cook , Tony Luck , "Guilherme G. Piccoli" , Andras Sebok Cc: linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Kaustabh Chakraborty From: Andras Sebok Add initial devicetree support for samsung-j5y17lte (exynos7870) Signed-off-by: Andras Sebok Signed-off-by: Kaustabh Chakraborty --- arch/arm64/boot/dts/exynos/Makefile | 1 + arch/arm64/boot/dts/exynos/exynos7870-j5y17lte.dts | 528 +++++++++++++++++= ++++ 2 files changed, 529 insertions(+) diff --git a/arch/arm64/boot/dts/exynos/Makefile b/arch/arm64/boot/dts/exyn= os/Makefile index fa6e6308e30a9..76cc23acb9b29 100644 --- a/arch/arm64/boot/dts/exynos/Makefile +++ b/arch/arm64/boot/dts/exynos/Makefile @@ -8,6 +8,7 @@ dtb-$(CONFIG_ARCH_EXYNOS) +=3D \ exynos5433-tm2e.dtb \ exynos7-espresso.dtb \ exynos7870-a2corelte.dtb \ + exynos7870-j5y17lte.dtb \ exynos7870-j6lte.dtb \ exynos7870-j7xelte.dtb \ exynos7870-on7xelte.dtb \ diff --git a/arch/arm64/boot/dts/exynos/exynos7870-j5y17lte.dts b/arch/arm6= 4/boot/dts/exynos/exynos7870-j5y17lte.dts new file mode 100644 index 0000000000000..d685bc0703cff --- /dev/null +++ b/arch/arm64/boot/dts/exynos/exynos7870-j5y17lte.dts @@ -0,0 +1,528 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Samsung Galaxy J5 (2017) (j5y17lte) device tree source + * + * Copyright (c) 2024 Andras Sebok + */ + +/dts-v1/; +#include "exynos7870.dtsi" +#include +#include +#include + +/ { + model =3D "Samsung Galaxy J5 (2017)"; + compatible =3D "samsung,j5y17lte", "samsung,exynos7870"; + chassis-type =3D "handset"; + + aliases { + mmc0 =3D &mmc0; + mmc1 =3D &mmc1; + mmc2 =3D &mmc2; + serial0 =3D &serial0; + serial1 =3D &serial1; + serial2 =3D &serial2; + }; + + chosen { + #address-cells =3D <2>; + #size-cells =3D <1>; + ranges; + + stdout-path =3D &serial2; + + framebuffer@67000000 { + compatible =3D "simple-framebuffer"; + reg =3D <0x0 0x67000000 (720 * 1280 * 4)>; + width =3D <720>; + height =3D <1280>; + stride =3D <(720 * 4)>; + format =3D "a8r8g8b8"; + }; + }; + + gpio-keys { + compatible =3D "gpio-keys"; + pinctrl-names =3D "default"; + pinctrl-0 =3D <&key_power &key_voldown &key_volup>; + + key-home { + interrupt-parent =3D <&gpa1>; + linux,code =3D ; + label =3D "gpio-keys: KEY_HOMEPAGE"; + gpios =3D <&gpa1 7 GPIO_ACTIVE_LOW>; + }; + + key-power { + interrupt-parent =3D <&gpa0>; + linux,code =3D ; + label =3D "gpio-keys: KEY_POWER"; + gpios =3D <&gpa0 0 GPIO_ACTIVE_LOW>; + }; + + key-voldown { + interrupt-parent =3D <&gpa2>; + linux,code =3D ; + label =3D "gpio-keys: KEY_VOLUMEDOWN"; + gpios =3D <&gpa2 1 GPIO_ACTIVE_LOW>; + }; + + key-volup { + interrupt-parent =3D <&gpa2>; + linux,code =3D ; + label =3D "gpio-keys: KEY_VOLUMEUP"; + gpios =3D <&gpa2 0 GPIO_ACTIVE_LOW>; + }; + }; + + memory@40000000 { + device_type =3D "memory"; + reg =3D <0x0 0x40000000 0x3e400000>, + <0x0 0x80000000 0x40000000>; + }; + + pwrseq_mmc1: pwrseq-mmc1 { + compatible =3D "mmc-pwrseq-simple"; + reset-gpios =3D <&gpd3 6 GPIO_ACTIVE_LOW>; + }; + + vdd_fixed_mmc2: regulator-fixed-mmc2 { + compatible =3D "regulator-fixed"; + regulator-name =3D "vdd_fixed_mmc2"; + regulator-max-microvolt =3D <2800000>; + regulator-min-microvolt =3D <2800000>; + + gpio =3D <&gpc0 0 GPIO_ACTIVE_HIGH>; + enable-active-high; + }; + + reserved-memory { + #address-cells =3D <2>; + #size-cells =3D <1>; + ranges; + + ramoops@46e00000 { + compatible =3D "ramoops"; + reg =3D <0x0 0x46e00000 0x8000>; + console-size =3D <0x4000>; + pmsg-size =3D <0x4000>; + }; + + framebuffer@67000000 { + reg =3D <0x0 0x67000000 (720 * 1280 * 4)>; + no-map; + }; + }; + + vibrator { + compatible =3D "regulator-haptic"; + haptic-supply =3D <&vdd_ldo32>; + min-microvolt =3D <3300000>; + max-microvolt =3D <3300000>; + }; +}; + +&gpu { + status =3D "okay"; +}; + +&hsi2c0 { + status =3D "okay"; + #address-cells =3D <1>; + #size-cells =3D <0>; + + pmic@66 { + compatible =3D "samsung,s2mpu05-pmic"; + reg =3D <0x66>; + + interrupt-parent =3D <&gpa0>; + interrupts =3D <2 IRQ_TYPE_LEVEL_LOW>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&pmic_irq>; + + regulators { + vdd_buck1: buck1 { + regulator-name =3D "vdd_buck1"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1300000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_buck2: buck2 { + regulator-name =3D "vdd_buck2"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1300000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_buck3: buck3 { + regulator-name =3D "vdd_buck3"; + regulator-min-microvolt =3D <500000>; + regulator-max-microvolt =3D <1300000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_buck4: buck4 { + regulator-name =3D "vdd_buck4"; + regulator-min-microvolt =3D <1200000>; + regulator-max-microvolt =3D <1500000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_buck5: buck5 { + regulator-name =3D "vdd_buck5"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2100000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo1: ldo1 { + regulator-name =3D "vdd_ldo1"; + regulator-min-microvolt =3D <650000>; + regulator-max-microvolt =3D <1350000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo2: ldo2 { + regulator-name =3D "vdd_ldo2"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <2800000>; + regulator-ramp-delay =3D <12000>; + }; + + vdd_ldo3: ldo3 { + regulator-name =3D "vdd_ldo3"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <2375000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo4: ldo4 { + regulator-name =3D "vdd_ldo4"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <1350000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo5: ldo5 { + regulator-name =3D "vdd_ldo5"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <1350000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo6: ldo6 { + regulator-name =3D "vdd_ldo6"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <1350000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo7: ldo7 { + regulator-name =3D "vdd_ldo7"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <2375000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo8: ldo8 { + regulator-name =3D "vdd_ldo8"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3375000>; + regulator-ramp-delay =3D <12000>; + }; + + vdd_ldo9: ldo9 { + regulator-name =3D "vdd_ldo9"; + regulator-min-microvolt =3D <650000>; + regulator-max-microvolt =3D <1350000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo10: ldo10 { + regulator-name =3D "vdd_ldo10"; + regulator-min-microvolt =3D <650000>; + regulator-max-microvolt =3D <1350000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo25: ldo25 { + regulator-name =3D "vdd_ldo25"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <2375000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo26: ldo26 { + regulator-name =3D "vdd_ldo26"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <3375000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo27: ldo27 { + regulator-name =3D "vdd_ldo27"; + regulator-min-microvolt =3D <800000>; + regulator-max-microvolt =3D <2375000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo29: ldo29 { + regulator-name =3D "vdd_ldo29"; + regulator-min-microvolt =3D <3000000>; + regulator-max-microvolt =3D <3000000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo30: ldo30 { + regulator-name =3D "vdd_ldo30"; + regulator-min-microvolt =3D <1800000>; + regulator-max-microvolt =3D <1800000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo31: ldo31 { + regulator-name =3D "vdd_ldo31"; + regulator-min-microvolt =3D <2800000>; + regulator-max-microvolt =3D <2800000>; + regulator-ramp-delay =3D <12000>; + regulator-boot-on; + regulator-always-on; + }; + + vdd_ldo32: ldo32 { + regulator-name =3D "vdd_ldo32"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-ramp-delay =3D <12000>; + }; + + vdd_ldo33: ldo33 { + regulator-name =3D "vdd_ldo33"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-ramp-delay =3D <12000>; + }; + + vdd_ldo34: ldo34 { + regulator-name =3D "vdd_ldo34"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + }; + + vdd_ldo35: ldo35 { + regulator-name =3D "vdd_ldo35"; + regulator-min-microvolt =3D <3300000>; + regulator-max-microvolt =3D <3300000>; + regulator-boot-on; + regulator-always-on; + }; + }; + }; +}; + +&i2c2 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + samsung,i2c-sda-delay =3D <100>; + samsung,i2c-max-bus-freq =3D <400000>; + + status =3D "okay"; + + touchscreen@50 { + compatible =3D "imagis,ist3038h"; + reg =3D <0x50>; + + interrupt-parent =3D <&gpa0>; + interrupts =3D <6 IRQ_TYPE_EDGE_FALLING>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&touch_irq>; + + touchscreen-size-x =3D <720>; + touchscreen-size-y =3D <1280>; + + vdd-supply =3D <&vdd_ldo34>; + }; +}; + +&mmc0 { + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sd0_clk &sd0_cmd &sd0_rdqs &sd0_bus1 &sd0_bus4 &sd0_bus8>; + + vmmc-supply =3D <&vdd_ldo26>; + vqmmc-supply =3D <&vdd_ldo27>; + + fifo-depth =3D <64>; + samsung,dw-mshc-ciu-div =3D <3>; + samsung,dw-mshc-sdr-timing =3D <0 4>; + samsung,dw-mshc-ddr-timing =3D <2 4>; + non-removable; + + status =3D "okay"; +}; + +&mmc1 { + #address-cells =3D <1>; + #size-cells =3D <0>; + + pinctrl-names =3D "default"; + pinctrl-0 =3D <&sd1_clk &sd1_cmd &sd1_bus1 &sd1_bus4>; + + mmc-pwrseq =3D <&pwrseq_mmc1>; + + bus-width =3D <4>; + fifo-depth =3D <64>; + samsung,dw-mshc-ciu-div =3D <3>; + samsung,dw-mshc-sdr-timing =3D <0 3>; + samsung,dw-mshc-ddr-timing =3D <1 2>; + non-removable; + cap-sd-highspeed; + cap-sdio-irq; + + status =3D "okay"; + + wifi@0 { + compatible =3D "brcm,bcm43455-fmac", "brcm,bcm4329-fmac"; + reg =3D <0x0>; + + interrupt-names =3D "host-wake"; + interrupt-parent =3D <&gpa2>; + interrupts =3D <2 IRQ_TYPE_LEVEL_LOW>; + + reset-gpios =3D <&gpd3 6 GPIO_ACTIVE_LOW>; + }; +}; + +&oscclk { + clock-frequency =3D <26000000>; +}; + +&pinctrl_alive { + accel_irq: accel-irq-pins { + samsung,pins =3D "gpa2-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + dwmmc2_irq: dwmmc2-irq-pins { + samsung,pins =3D "gpa0-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + fuel_irq: fuel-irq-pins { + samsung,pins =3D "gpa0-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + hall_irq: hall-irq-pins { + samsung,pins =3D "gpa1-3"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + key_power: key-power-pins { + samsung,pins =3D "gpa0-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + key_voldown: key-voldown-pins { + samsung,pins =3D "gpa2-1"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + key_volup: key-volup-pins { + samsung,pins =3D "gpa2-0"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + pmic_irq: pmic-irq-pins { + samsung,pins =3D "gpa0-2"; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + touch_irq: touch-irq-pins { + samsung,pins =3D "gpa0-6"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + }; + + wlan_hostwake: wlan-hostwake-pins { + samsung,pins =3D "gpa2-2"; + samsung,pin-function =3D ; + samsung,pin-pud =3D ; + }; +}; + +&pinctrl_top { + wlan_enable: wlan-enable-pins { + samsung,pins =3D "gpd3-6"; + samsung,pin-function =3D ; + samsung,pin-con-pdn =3D ; + samsung,pin-pud-pdn =3D ; + samsung,pin-pud =3D ; + samsung,pin-drv =3D ; + samsung,pin-val =3D <0>; + }; +}; + +&serial2 { + status =3D "okay"; +}; + +&usbdrd { + vdd33-supply =3D <&vdd_ldo8>; + + status =3D "okay"; +}; --=20 2.53.0