Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/3] arm64: dts: qcom: sm7125-samsung: add initial device tree for SM7125 Samsung platform
@ 2026-07-03  7:59 Erikas Bitovtas
  2026-07-03  7:59 ` [PATCH 1/3] dt-bindings: arm: qcom: Document Samsung Galaxy A52/A72 Erikas Bitovtas
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Erikas Bitovtas @ 2026-07-03  7:59 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Bartosz Golaszewski, Kees Cook, Tony Luck,
	Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel, Erikas Bitovtas,
	Vitalii Skorkin

Samsung Galaxy A52/A72 are smartphones released in 2021 on SM7125
(atoll) platform. This patch series introduces support for SM7125
Samsung devices with the following components enabled:
- Framebuffer
- GPIO keys
- Hall sensor
- Vibrator
- Regulators
- Reset input
- Real-time clock
- SD card
- UFS
- USB
Along with that, SM7125 was affected by a hang when launching SHM
bridge. A similar issue was reported on a similar chipset:
https://lore.kernel.org/all/20250721-sc7180-shm-hang-v1-1-99ad9ffeb5b4@trvn.ru/
Add SM7125 to the qcom_tzmem_blacklist to avoid hangs when booting.

Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
---
Erikas Bitovtas (2):
      dt-bindings: arm: qcom: Document Samsung Galaxy A52/A72
      arm64: dts: qcom: sm7125-samsung: add initial device tree

Vitalii Skorkin (1):
      firmware: qcom: tzmem: disable SHM bridge for SM7125 platform

 Documentation/devicetree/bindings/arm/qcom.yaml    |   2 +
 arch/arm64/boot/dts/qcom/Makefile                  |   2 +
 arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts   |  31 ++
 arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts   |  31 ++
 .../arm64/boot/dts/qcom/sm7125-samsung-common.dtsi | 518 +++++++++++++++++++++
 drivers/firmware/qcom/qcom_tzmem.c                 |   1 +
 6 files changed, 585 insertions(+)
---
base-commit: 6eb8711ece2ce27e52e327a5b7a628ed39b97f45
change-id: 20260627-sm7125-samsung-b685d8b9cd40

Best regards,
--  
Erikas Bitovtas <xerikasxx@gmail.com>


^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH 1/3] dt-bindings: arm: qcom: Document Samsung Galaxy A52/A72
  2026-07-03  7:59 [PATCH 0/3] arm64: dts: qcom: sm7125-samsung: add initial device tree for SM7125 Samsung platform Erikas Bitovtas
@ 2026-07-03  7:59 ` Erikas Bitovtas
  2026-07-03  8:23   ` Bartosz Golaszewski
  2026-07-03  7:59 ` [PATCH 2/3] firmware: qcom: tzmem: disable SHM bridge for SM7125 platform Erikas Bitovtas
  2026-07-03  7:59 ` [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree Erikas Bitovtas
  2 siblings, 1 reply; 13+ messages in thread
From: Erikas Bitovtas @ 2026-07-03  7:59 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Bartosz Golaszewski, Kees Cook, Tony Luck,
	Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel, Erikas Bitovtas

Add compatibles for Samsung Galaxy A52 and A72.

Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
---
 Documentation/devicetree/bindings/arm/qcom.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 667607ae2c32..ec3d9be06dd9 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -1036,6 +1036,8 @@ properties:
 
       - items:
           - enum:
+              - samsung,a52q
+              - samsung,a72q
               - xiaomi,curtana
               - xiaomi,joyeuse
           - const: qcom,sm7125

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/3] firmware: qcom: tzmem: disable SHM bridge for SM7125 platform
  2026-07-03  7:59 [PATCH 0/3] arm64: dts: qcom: sm7125-samsung: add initial device tree for SM7125 Samsung platform Erikas Bitovtas
  2026-07-03  7:59 ` [PATCH 1/3] dt-bindings: arm: qcom: Document Samsung Galaxy A52/A72 Erikas Bitovtas
@ 2026-07-03  7:59 ` Erikas Bitovtas
  2026-07-03  8:22   ` Bartosz Golaszewski
  2026-07-03 23:23   ` Dmitry Baryshkov
  2026-07-03  7:59 ` [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree Erikas Bitovtas
  2 siblings, 2 replies; 13+ messages in thread
From: Erikas Bitovtas @ 2026-07-03  7:59 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Bartosz Golaszewski, Kees Cook, Tony Luck,
	Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel, Erikas Bitovtas,
	Vitalii Skorkin

From: Vitalii Skorkin <nikroksm@mail.ru>

Currently SHM bridge causes RCU stalls when booting. Disable it for
SM7125 until a fix is available.

Signed-off-by: Vitalii Skorkin <nikroksm@mail.ru>
Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
---
 drivers/firmware/qcom/qcom_tzmem.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/firmware/qcom/qcom_tzmem.c b/drivers/firmware/qcom/qcom_tzmem.c
index 0635cbeacfc8..50f500834758 100644
--- a/drivers/firmware/qcom/qcom_tzmem.c
+++ b/drivers/firmware/qcom/qcom_tzmem.c
@@ -81,6 +81,7 @@ static const char *const qcom_tzmem_blacklist[] = {
 	"qcom,sc8180x",
 	"qcom,sdm670", /* failure in GPU firmware loading */
 	"qcom,sdm845", /* reset in rmtfs memory assignment */
+	"qcom,sm7125", /* hang in rmtfs memory assignment */
 	"qcom,sm7150", /* reset in rmtfs memory assignment */
 	"qcom,sm8150", /* reset in rmtfs memory assignment */
 	NULL

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree
  2026-07-03  7:59 [PATCH 0/3] arm64: dts: qcom: sm7125-samsung: add initial device tree for SM7125 Samsung platform Erikas Bitovtas
  2026-07-03  7:59 ` [PATCH 1/3] dt-bindings: arm: qcom: Document Samsung Galaxy A52/A72 Erikas Bitovtas
  2026-07-03  7:59 ` [PATCH 2/3] firmware: qcom: tzmem: disable SHM bridge for SM7125 platform Erikas Bitovtas
@ 2026-07-03  7:59 ` Erikas Bitovtas
  2026-07-03  8:11   ` sashiko-bot
                     ` (2 more replies)
  2 siblings, 3 replies; 13+ messages in thread
From: Erikas Bitovtas @ 2026-07-03  7:59 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Bartosz Golaszewski, Kees Cook, Tony Luck,
	Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel, Erikas Bitovtas

Samsung Galaxy A52/A72 are devices released on atoll (SM7125) platform
in 2021. Add initial device tree for SM7125 Samsung platform with
support for:
- Framebuffer
- GPIO keys
- Hall sensor
- Vibrator
- Regulators
- Reset input
- Real-time clock
- SD card
- UFS
- USB

Tested-by: Stefan Hansson <newbyte@postmarketos.org>
Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
---
 arch/arm64/boot/dts/qcom/Makefile                  |   2 +
 arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts   |  31 ++
 arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts   |  31 ++
 .../arm64/boot/dts/qcom/sm7125-samsung-common.dtsi | 518 +++++++++++++++++++++
 4 files changed, 582 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 6f33c4e2f09c..d90311806e21 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -344,6 +344,8 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sm6125-xiaomi-laurel-sprout.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm6125-xiaomi-willow.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm6350-sony-xperia-lena-pdx213.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm6375-sony-xperia-murray-pdx225.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= sm7125-samsung-a52q.dtb
+dtb-$(CONFIG_ARCH_QCOM)	+= sm7125-samsung-a72q.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm7125-xiaomi-curtana.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm7125-xiaomi-joyeuse.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm7225-fairphone-fp4.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts b/arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts
new file mode 100644
index 000000000000..e4d005054b00
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * SM7125 Samsung Galaxy A52 (a52q) specific device tree source
+ *
+ * Copyright (c) 2026, The Linux Foundation. All rights reserved.
+ */
+
+/dts-v1/;
+
+#include "sm7125-samsung-common.dtsi"
+
+/ {
+	model = "Samsung Galaxy A52";
+	compatible = "samsung,a52q", "qcom,sm7125";
+	qcom,board-id = <0x22 0x6>;
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		rmtfs_mem: memory@f4f01000 {
+			compatible = "qcom,rmtfs-mem";
+			reg = <0 0xf4f01000 0 0x200000>;
+			no-map;
+
+			qcom,client-id = <1>;
+			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts b/arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts
new file mode 100644
index 000000000000..df8d637ef16f
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts
@@ -0,0 +1,31 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * SM7125 Samsung Galaxy A72 (a72q) specific device tree source
+ *
+ * Copyright (c) 2026, The Linux Foundation. All rights reserved.
+ */
+
+/dts-v1/;
+
+#include "sm7125-samsung-common.dtsi"
+
+/ {
+	model = "Samsung Galaxy A72";
+	compatible = "samsung,a72q", "qcom,sm7125";
+	qcom,board-id = <0x22 0x5>;
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		rmtfs_mem: memory@f3701000 {
+			compatible = "qcom,rmtfs-mem";
+			reg = <0 0xf3701000 0 0x200000>;
+			no-map;
+
+			qcom,client-id = <1>;
+			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
+		};
+	};
+};
diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi b/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi
new file mode 100644
index 000000000000..836dc9b8b1a5
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi
@@ -0,0 +1,518 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * SM7125 Samsung common device tree source
+ *
+ * Copyright (c) 2026, The Linux Foundation. All rights reserved.
+ */
+
+#include <dt-bindings/arm/qcom,ids.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include "sm7125.dtsi"
+#include "pm6150.dtsi"
+#include "pm6150l.dtsi"
+
+/delete-node/ &rmtfs_mem;
+/delete-node/ &ipa_fw_mem;
+/delete-node/ &tz_mem;
+
+/ {
+	chassis-type = "handset";
+
+	qcom,msm-id = <QCOM_ID_SM7125 0>;
+
+	chosen {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		framebuffer@9c000000 {
+			compatible = "simple-framebuffer";
+			reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>;
+			width = <1080>;
+			height = <2400>;
+			stride = <(1080 * 4)>;
+			format = "a8r8g8b8";
+			clocks = <&gcc GCC_DISP_HF_AXI_CLK>;
+		};
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+
+		pinctrl-names = "default";
+		pinctrl-0 = <&key_vol_up_default>, <&hall_sensor_default>;
+
+		vol-up {
+			label = "Volume up";
+			gpios = <&pm6150l_gpios 8 GPIO_ACTIVE_LOW>;
+			linux,code = <KEY_VOLUMEUP>;
+			debounce-interval = <15>;
+		};
+
+		event-hall-sensor {
+			label = "Hall Effect Sensor";
+			gpios = <&pm6150_gpios 10 GPIO_ACTIVE_LOW>;
+			linux,input-type = <EV_SW>;
+			linux,code = <SW_LID>;
+			debounce-interval = <15>;
+		};
+	};
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		tz_mem: memory@80b00000 {
+			reg = <0x0 0x80b00000 0x0 0x7100000>;
+			no-map;
+		};
+
+		mpss_mem: memory@8b000000 {
+			reg = <0x0 0x8b000000 0x0 0x8900000>;
+			no-map;
+		};
+
+		wlan_mem: memory@93900000 {
+			reg = <0x0 0x93900000 0x0 0x200000>;
+			no-map;
+		};
+
+		ipa_fw_mem: memory@93b00000 {
+			reg = <0x0 0x93b00000 0x0 0x10000>;
+			no-map;
+		};
+
+		ipa_gsi_region: memory@93b10000 {
+			reg = <0x0 0x93b10000 0x0 0x5000>;
+			no-map;
+		};
+
+		gpu_mem: memory@93b15000 {
+			reg = <0x0 0x93b15000 0x0 0x2000>;
+			no-map;
+		};
+
+		adsp_mem: memory@93c00000 {
+			reg = <0x0 0x93c00000 0x0 0x3e00000>;
+			no-map;
+		};
+
+		camera_region: memory@97a00000 {
+			reg = <0x0 0x97a00000 0x0 0x500000>;
+			no-map;
+		};
+
+		pil_npu_region: memory@97f00000 {
+			reg = <0x0 0x97f00000 0x0 0x500000>;
+			no-map;
+		};
+
+		venus_mem: memory@98400000 {
+			reg = <0x0 0x98400000 0x0 0x500000>;
+			no-map;
+		};
+
+		cdsp_mem: memory@98900000 {
+			reg = <0x0 0x98900000 0x0 0x1e00000>;
+			no-map;
+		};
+
+		cont_splash_mem: memory@9c000000 {
+			reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>;
+			no-map;
+		};
+
+		qseecom_region: memory@9e000000 {
+			reg = <0x0 0x9e000000 0x0 0x2000000>;
+			no-map;
+		};
+
+		pstore_mem: ramoops@b4600000 {
+			compatible = "ramoops";
+			reg = <0x0 0xb4600000 0x0 0x100000>;
+			record-size = <0x40000>;
+			console-size = <0x40000>;
+			ftrace-size = <0x40000>;
+			pmsg-size = <0x40000>;
+		};
+	};
+
+	vibrator {
+		compatible = "gpio-vibrator";
+		enable-gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>;
+		pinctrl-names = "default";
+	};
+};
+
+&apps_rsc {
+	pm6150-rpmh-regulators {
+		compatible = "qcom,pm6150-rpmh-regulators";
+		qcom,pmic-id = "a";
+
+		vreg_s1a_1p1: smps1 {
+			regulator-min-microvolt = <1128000>;
+			regulator-max-microvolt = <1128000>;
+		};
+
+		vreg_s4a_1p0: smps4 {
+			regulator-min-microvolt = <824000>;
+			regulator-max-microvolt = <1120000>;
+		};
+
+		vreg_s5a_2p0: smps5 {
+			regulator-min-microvolt = <1744000>;
+			regulator-max-microvolt = <2040000>;
+		};
+
+		vreg_l1a_1p2: ldo1 {
+			regulator-min-microvolt = <1178000>;
+			regulator-max-microvolt = <1256000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2a_1p0: ldo2 {
+			regulator-min-microvolt = <944000>;
+			regulator-max-microvolt = <1056000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3a_1p0: ldo3 {
+			regulator-min-microvolt = <968000>;
+			regulator-max-microvolt = <1064000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4a_0p9: ldo4 {
+			regulator-min-microvolt = <824000>;
+			regulator-max-microvolt = <928000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-allow-set-load;
+			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+						   RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l5a_2p7: ldo5 {
+			regulator-min-microvolt = <3304000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6a_0p6: ldo6 {
+			regulator-min-microvolt = <568000>;
+			regulator-max-microvolt = <648000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vdd_cx_wlan:
+		vreg_l9a_0p8: ldo9 {
+			regulator-min-microvolt = <488000>;
+			regulator-max-microvolt = <800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l10a_1p8: ldo10 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1832000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l11a_1p8: ldo11 {
+			regulator-min-microvolt = <1696000>;
+			regulator-max-microvolt = <1904000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l12a_1p8: ldo12 {
+			regulator-min-microvolt = <1696000>;
+			regulator-max-microvolt = <1952000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-allow-set-load;
+			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+						   RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l13a_1p8: ldo13 {
+			regulator-min-microvolt = <1696000>;
+			regulator-max-microvolt = <1904000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l14a_1p8: ldo14 {
+			regulator-min-microvolt = <1728000>;
+			regulator-max-microvolt = <1832000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l15a_1p8: ldo15 {
+			regulator-min-microvolt = <1696000>;
+			regulator-max-microvolt = <1904000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l16a_2p7: ldo16 {
+			regulator-min-microvolt = <2496000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l17a_3p1: ldo17 {
+			regulator-min-microvolt = <2920000>;
+			regulator-max-microvolt = <3232000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l18a_3p0: ldo18 {
+			regulator-min-microvolt = <2496000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l19a_2p85: ldo19 {
+			regulator-min-microvolt = <2696000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-allow-set-load;
+			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+						   RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	pm6150l-rpmh-regulators {
+		compatible = "qcom,pm6150l-rpmh-regulators";
+		qcom,pmic-id = "c";
+
+		vreg_s8c_1p3: smps8 {
+			regulator-min-microvolt = <1120000>;
+			regulator-max-microvolt = <1408000>;
+		};
+
+		vreg_l1c_1p8: ldo1 {
+			regulator-min-microvolt = <1616000>;
+			regulator-max-microvolt = <1984000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2c_1p3: ldo2 {
+			regulator-min-microvolt = <1168000>;
+			regulator-max-microvolt = <1304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3c_1p2: ldo3 {
+			regulator-min-microvolt = <1144000>;
+			regulator-max-microvolt = <1304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-allow-set-load;
+			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+						   RPMH_REGULATOR_MODE_HPM>;
+		};
+
+
+		vreg_l4c_1p8: ldo4 {
+			regulator-min-microvolt = <1648000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l5c_1p8: ldo5 {
+			regulator-min-microvolt = <1648000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6c_3p0: ldo6 {
+			regulator-min-microvolt = <1648000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7c_3p0: ldo7 {
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l8c_1p8: ldo8 {
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <1800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9c_2p95: ldo9 {
+			regulator-min-microvolt = <2952000>;
+			regulator-max-microvolt = <3304000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l10c_3p3: ldo10 {
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3400000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l11c_3p3: ldo11 {
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3400000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_bob: bob {
+			regulator-min-microvolt = <3008000>;
+			regulator-max-microvolt = <3960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+		};
+	};
+};
+
+&dispcc {
+	/* HACK: disable until a panel driver is ready to retain simplefb */
+	status = "disabled";
+};
+
+&pm6150l_gpios {
+	key_vol_up_default: key-vol-up-default-state {
+		pins = "gpio8";
+		function = "normal";
+		input-enable;
+		bias-pull-up;
+		power-source = <0>;
+	};
+};
+
+&pm6150_gpios {
+	hall_sensor_default: hall-sensor-default-state {
+		pins = "gpio10";
+		function = "normal";
+		output-disable;
+		bias-disable;
+		power-source = <0>;
+	};
+};
+
+&pm6150_pon {
+	/* LinuxLoader fastboot implementation has most of it's commands removed
+	 * by Samsung, making it useless. So reboot to Odin download mode instead.
+	 */
+	mode-bootloader = <0x15>;
+};
+
+&pm6150_resin {
+	linux,code = <KEY_VOLUMEDOWN>;
+	status = "okay";
+};
+
+&pm6150_rtc {
+	status = "okay";
+};
+
+&qfprom {
+	vcc-supply = <&vreg_l11a_1p8>;
+};
+
+&sdhc_2 {
+	pinctrl-names = "default", "sleep";
+	pinctrl-0 = <&sdc2_on>;
+	pinctrl-1 = <&sdc2_off>;
+	vmmc-supply = <&vreg_l9c_2p95>;
+	vqmmc-supply = <&vreg_l6c_3p0>;
+
+	cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
+	status = "okay";
+};
+
+&tlmm {
+	gpio-reserved-ranges = <59 4>;
+
+	sdc2_on: sdc2-on-state {
+		pinconf-clk {
+			pins = "sdc2_clk";
+			bias-disable;
+			drive-strength = <16>;
+		};
+
+		pinconf-cmd {
+			pins = "sdc2_cmd";
+			bias-pull-up;
+			drive-strength = <10>;
+		};
+
+		pinconf-data {
+			pins = "sdc2_data";
+			bias-pull-up;
+			drive-strength = <10>;
+		};
+
+		pinconf-sd-cd {
+			pins = "gpio69";
+			bias-pull-up;
+			drive-strength = <2>;
+		};
+	};
+
+	sdc2_off: sdc2-off-state {
+		pinconf-clk {
+			pins = "sdc2_clk";
+			bias-disable;
+			drive-strength = <2>;
+		};
+
+		pinconf-cmd {
+			pins = "sdc2_cmd";
+			bias-pull-up;
+			drive-strength = <2>;
+		};
+
+		pinconf-data {
+			pins = "sdc2_data";
+			bias-pull-up;
+			drive-strength = <2>;
+		};
+
+		pinconf-sd-cd {
+			pins = "gpio69";
+			bias-pull-up;
+			drive-strength = <2>;
+		};
+	};
+};
+
+&ufs_mem_hc {
+	vcc-supply = <&vreg_l19a_2p85>;
+	vcc-max-microamp = <600000>;
+	vccq2-supply = <&vreg_l12a_1p8>;
+	vccq2-max-microamp = <600000>;
+	status = "okay";
+};
+
+&ufs_mem_phy {
+	vdda-phy-supply = <&vreg_l4a_0p9>;
+	vdda-pll-supply = <&vreg_l3c_1p2>;
+	status = "okay";
+};
+
+&usb_1 {
+	qcom,select-utmi-as-pipe-clk;
+	status = "okay";
+};
+
+&usb_1_dwc3 {
+	dr_mode = "peripheral";
+	maximum-speed = "high-speed";
+	status = "okay";
+};
+
+&usb_1_hsphy {
+	vdd-supply = <&vreg_l4a_0p9>;
+	vdda-pll-supply = <&vreg_l11a_1p8>;
+	vdda-phy-dpdm-supply = <&vreg_l17a_3p1>;
+	status = "okay";
+};
+
+&usb_1_qmpphy {
+	vdda-phy-supply = <&vreg_l4a_0p9>;
+	vdda-pll-supply = <&vreg_l3c_1p2>;
+	status = "okay";
+};

-- 
2.55.0


^ permalink raw reply related	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree
  2026-07-03  7:59 ` [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree Erikas Bitovtas
@ 2026-07-03  8:11   ` sashiko-bot
  2026-07-03 13:31   ` Konrad Dybcio
  2026-07-04 14:05   ` David Heidelberg
  2 siblings, 0 replies; 13+ messages in thread
From: sashiko-bot @ 2026-07-03  8:11 UTC (permalink / raw)
  To: Erikas Bitovtas; +Cc: conor+dt, devicetree, robh

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [Low] The `vibrator` node specifies `pinctrl-names = "default";` but lacks the required `pinctrl-0` property to define the pin configuration for the GPIO.
- [Low] The GPIO key node `vol-up` violates the `gpio-keys.yaml` binding schema naming convention.
--

commit 4c3f46af7d91551d5cb47755e411d4869514c5fb
Author: Erikas Bitovtas <xerikasxx@gmail.com>

arm64: dts: qcom: sm7125-samsung: add initial device tree
    
This commit adds the initial device tree for the Samsung Galaxy A52 and A72
devices on the SM7125 platform. It introduces support for basic peripherals
including the framebuffer, GPIO keys, sensors, and regulators.

> diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi b/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi
> new file mode 100644
> index 0000000000000..836dc9b8b1a56
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi

[ ... ]

> +	gpio-keys {
> +		compatible = "gpio-keys";
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&key_vol_up_default>, <&hall_sensor_default>;
> +
> +		vol-up {

[Severity: Low]
Does this node name violate the gpio-keys.yaml schema?

It looks like dtbs_check expects names following the pattern button-*,
event-*, key-*, or switch-*. Could this be named "key-vol-up" or
"button-vol-up" to avoid validation warnings?

> +			label = "Volume up";
> +			gpios = <&pm6150l_gpios 8 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_VOLUMEUP>;
> +			debounce-interval = <15>;
> +		};

[ ... ]

> +	vibrator {
> +		compatible = "gpio-vibrator";
> +		enable-gpios = <&tlmm 57 GPIO_ACTIVE_HIGH>;
> +		pinctrl-names = "default";

[Severity: Low]
Is there a missing pinctrl-0 property here? 

The pinctrl-names property is defined as "default", but without a
corresponding pinctrl-0, this will trigger a dtbs_check warning and leave
the pin configuration to hardware defaults.

> +	};
> +};

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260703-sm7125-samsung-v1-0-3e5f752048c1@gmail.com?part=3

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] firmware: qcom: tzmem: disable SHM bridge for SM7125 platform
  2026-07-03  7:59 ` [PATCH 2/3] firmware: qcom: tzmem: disable SHM bridge for SM7125 platform Erikas Bitovtas
@ 2026-07-03  8:22   ` Bartosz Golaszewski
  2026-07-03 23:23   ` Dmitry Baryshkov
  1 sibling, 0 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2026-07-03  8:22 UTC (permalink / raw)
  To: Erikas Bitovtas
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel, Vitalii Skorkin,
	Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Bartosz Golaszewski, Kees Cook, Tony Luck,
	Guilherme G. Piccoli

On Fri, 3 Jul 2026 09:59:39 +0200, Erikas Bitovtas <xerikasxx@gmail.com> said:
> From: Vitalii Skorkin <nikroksm@mail.ru>
>
> Currently SHM bridge causes RCU stalls when booting. Disable it for
> SM7125 until a fix is available.
>
> Signed-off-by: Vitalii Skorkin <nikroksm@mail.ru>
> Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
> ---
>  drivers/firmware/qcom/qcom_tzmem.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/firmware/qcom/qcom_tzmem.c b/drivers/firmware/qcom/qcom_tzmem.c
> index 0635cbeacfc8..50f500834758 100644
> --- a/drivers/firmware/qcom/qcom_tzmem.c
> +++ b/drivers/firmware/qcom/qcom_tzmem.c
> @@ -81,6 +81,7 @@ static const char *const qcom_tzmem_blacklist[] = {
>  	"qcom,sc8180x",
>  	"qcom,sdm670", /* failure in GPU firmware loading */
>  	"qcom,sdm845", /* reset in rmtfs memory assignment */
> +	"qcom,sm7125", /* hang in rmtfs memory assignment */
>  	"qcom,sm7150", /* reset in rmtfs memory assignment */
>  	"qcom,sm8150", /* reset in rmtfs memory assignment */
>  	NULL
>
> --
> 2.55.0
>
>

Acked-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 1/3] dt-bindings: arm: qcom: Document Samsung Galaxy A52/A72
  2026-07-03  7:59 ` [PATCH 1/3] dt-bindings: arm: qcom: Document Samsung Galaxy A52/A72 Erikas Bitovtas
@ 2026-07-03  8:23   ` Bartosz Golaszewski
  0 siblings, 0 replies; 13+ messages in thread
From: Bartosz Golaszewski @ 2026-07-03  8:23 UTC (permalink / raw)
  To: Erikas Bitovtas
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel, Bjorn Andersson,
	Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Bartosz Golaszewski, Kees Cook, Tony Luck, Guilherme G. Piccoli

On Fri, 3 Jul 2026 09:59:38 +0200, Erikas Bitovtas <xerikasxx@gmail.com> said:
> Add compatibles for Samsung Galaxy A52 and A72.
>
> Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
> ---
>  Documentation/devicetree/bindings/arm/qcom.yaml | 2 ++
>  1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
> index 667607ae2c32..ec3d9be06dd9 100644
> --- a/Documentation/devicetree/bindings/arm/qcom.yaml
> +++ b/Documentation/devicetree/bindings/arm/qcom.yaml
> @@ -1036,6 +1036,8 @@ properties:
>
>        - items:
>            - enum:
> +              - samsung,a52q
> +              - samsung,a72q
>                - xiaomi,curtana
>                - xiaomi,joyeuse
>            - const: qcom,sm7125
>
> --
> 2.55.0
>
>

Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree
  2026-07-03  7:59 ` [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree Erikas Bitovtas
  2026-07-03  8:11   ` sashiko-bot
@ 2026-07-03 13:31   ` Konrad Dybcio
  2026-07-03 17:36     ` Erikas Bitovtas
                       ` (2 more replies)
  2026-07-04 14:05   ` David Heidelberg
  2 siblings, 3 replies; 13+ messages in thread
From: Konrad Dybcio @ 2026-07-03 13:31 UTC (permalink / raw)
  To: Erikas Bitovtas, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Kees Cook,
	Tony Luck, Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel

On 7/3/26 9:59 AM, Erikas Bitovtas wrote:
> Samsung Galaxy A52/A72 are devices released on atoll (SM7125) platform
> in 2021. Add initial device tree for SM7125 Samsung platform with
> support for:

[...]

hello, mainly just style nits

> +		rmtfs_mem: memory@f4f01000 {
> +			compatible = "qcom,rmtfs-mem";
> +			reg = <0 0xf4f01000 0 0x200000>;

0 -> 0x0 (also in all similar cases)

[...]


> +	gpio-keys {
> +		compatible = "gpio-keys";
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&key_vol_up_default>, <&hall_sensor_default>;

property-n
property-names

[...]

> +&apps_rsc {
> +	pm6150-rpmh-regulators {
> +		compatible = "qcom,pm6150-rpmh-regulators";
> +		qcom,pmic-id = "a";

have vou verified your reg settings? incorrect ones may lead to
hw damage

[...]


> +&pm6150_pon {
> +	/* LinuxLoader fastboot implementation has most of it's commands removed
> +	 * by Samsung, making it useless. So reboot to Odin download mode instead.
> +	 */

/*
 * foo
 */


> +	mode-bootloader = <0x15>;
> +};
> +
> +&pm6150_resin {
> +	linux,code = <KEY_VOLUMEDOWN>;
> +	status = "okay";

let's keep an \n before 'status'

[...]

> +&tlmm {
> +	gpio-reserved-ranges = <59 4>;

Do we know what they're connected to? If so, please add a comment, like
in glymur-crd.dtsi

[...]

> +&usb_1 {
> +	qcom,select-utmi-as-pipe-clk;
> +	status = "okay";
> +};
> +
> +&usb_1_dwc3 {
> +	dr_mode = "peripheral";
> +	maximum-speed = "high-speed";

Does super-speed not work (if you also remove the qcom,select... above)?

Konrad

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree
  2026-07-03 13:31   ` Konrad Dybcio
@ 2026-07-03 17:36     ` Erikas Bitovtas
  2026-07-04  8:55     ` Erikas Bitovtas
  2026-07-04  8:58     ` Erikas Bitovtas
  2 siblings, 0 replies; 13+ messages in thread
From: Erikas Bitovtas @ 2026-07-03 17:36 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Kees Cook,
	Tony Luck, Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel

>> +&apps_rsc {
>> +	pm6150-rpmh-regulators {
>> +		compatible = "qcom,pm6150-rpmh-regulators";
>> +		qcom,pmic-id = "a";
> 
> have vou verified your reg settings? incorrect ones may lead to
> hw damage
> 
The only deviation from downstream I have is in ldo5 in pm6150 where
Samsung set it to 3.3V exactly, but we can't pick such value in
mainline, because it happens to sit in between a step. So I set it to
3.304V instead.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/3] firmware: qcom: tzmem: disable SHM bridge for SM7125 platform
  2026-07-03  7:59 ` [PATCH 2/3] firmware: qcom: tzmem: disable SHM bridge for SM7125 platform Erikas Bitovtas
  2026-07-03  8:22   ` Bartosz Golaszewski
@ 2026-07-03 23:23   ` Dmitry Baryshkov
  1 sibling, 0 replies; 13+ messages in thread
From: Dmitry Baryshkov @ 2026-07-03 23:23 UTC (permalink / raw)
  To: Erikas Bitovtas
  Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
	Conor Dooley, Bartosz Golaszewski, Kees Cook, Tony Luck,
	Guilherme G. Piccoli, linux-arm-msm, devicetree, linux-kernel,
	Stefan Hansson, ~postmarketos/upstreaming, phone-devel,
	Vitalii Skorkin

On Fri, Jul 03, 2026 at 10:59:39AM +0300, Erikas Bitovtas wrote:
> From: Vitalii Skorkin <nikroksm@mail.ru>
> 
> Currently SHM bridge causes RCU stalls when booting. Disable it for
> SM7125 until a fix is available.
> 
> Signed-off-by: Vitalii Skorkin <nikroksm@mail.ru>
> Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
> ---
>  drivers/firmware/qcom/qcom_tzmem.c | 1 +
>  1 file changed, 1 insertion(+)
> 

Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>


-- 
With best wishes
Dmitry

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree
  2026-07-03 13:31   ` Konrad Dybcio
  2026-07-03 17:36     ` Erikas Bitovtas
@ 2026-07-04  8:55     ` Erikas Bitovtas
  2026-07-04  8:58     ` Erikas Bitovtas
  2 siblings, 0 replies; 13+ messages in thread
From: Erikas Bitovtas @ 2026-07-04  8:55 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Kees Cook,
	Tony Luck, Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel

>> +&usb_1_dwc3 {
>> +	dr_mode = "peripheral";
>> +	maximum-speed = "high-speed";
> 
> Does super-speed not work (if you also remove the qcom,select... above)?
> 
> Konrad

I can make a file transfer over scp, but the speed is inconsistent and
slower than with high-speed. Must be because this device does not
support USB 3.0 (super-speed).

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree
  2026-07-03 13:31   ` Konrad Dybcio
  2026-07-03 17:36     ` Erikas Bitovtas
  2026-07-04  8:55     ` Erikas Bitovtas
@ 2026-07-04  8:58     ` Erikas Bitovtas
  2 siblings, 0 replies; 13+ messages in thread
From: Erikas Bitovtas @ 2026-07-04  8:58 UTC (permalink / raw)
  To: Konrad Dybcio, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Kees Cook,
	Tony Luck, Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	~postmarketos/upstreaming, phone-devel

>> +&usb_1_dwc3 {
>> +	dr_mode = "peripheral";
>> +	maximum-speed = "high-speed";
> 
> Does super-speed not work (if you also remove the qcom,select... above)?
> 
> Konrad

I can make a file transfer over scp, but the speed is inconsistent and
slower than with high-speed. It must be because this device does not
support USB 3.0 (super-speed).

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree
  2026-07-03  7:59 ` [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree Erikas Bitovtas
  2026-07-03  8:11   ` sashiko-bot
  2026-07-03 13:31   ` Konrad Dybcio
@ 2026-07-04 14:05   ` David Heidelberg
  2 siblings, 0 replies; 13+ messages in thread
From: David Heidelberg @ 2026-07-04 14:05 UTC (permalink / raw)
  To: Erikas Bitovtas, Bjorn Andersson, Konrad Dybcio, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Bartosz Golaszewski, Kees Cook,
	Tony Luck, Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Stefan Hansson,
	phone-devel

On 03/07/2026 09:59, Erikas Bitovtas wrote:
> Samsung Galaxy A52/A72 are devices released on atoll (SM7125) platform
> in 2021. Add initial device tree for SM7125 Samsung platform with
> support for:
> - Framebuffer
> - GPIO keys
> - Hall sensor
> - Vibrator
> - Regulators
> - Reset input
> - Real-time clock
> - SD card
> - UFS
> - USB
> 
> Tested-by: Stefan Hansson <newbyte@postmarketos.org>
> Signed-off-by: Erikas Bitovtas <xerikasxx@gmail.com>
> ---
>   arch/arm64/boot/dts/qcom/Makefile                  |   2 +
>   arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts   |  31 ++
>   arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts   |  31 ++
>   .../arm64/boot/dts/qcom/sm7125-samsung-common.dtsi | 518 +++++++++++++++++++++
>   4 files changed, 582 insertions(+)
> 
> diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
> index 6f33c4e2f09c..d90311806e21 100644
> --- a/arch/arm64/boot/dts/qcom/Makefile
> +++ b/arch/arm64/boot/dts/qcom/Makefile
> @@ -344,6 +344,8 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sm6125-xiaomi-laurel-sprout.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sm6125-xiaomi-willow.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sm6350-sony-xperia-lena-pdx213.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sm6375-sony-xperia-murray-pdx225.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= sm7125-samsung-a52q.dtb
> +dtb-$(CONFIG_ARCH_QCOM)	+= sm7125-samsung-a72q.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sm7125-xiaomi-curtana.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sm7125-xiaomi-joyeuse.dtb
>   dtb-$(CONFIG_ARCH_QCOM)	+= sm7225-fairphone-fp4.dtb
> diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts b/arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts
> new file mode 100644
> index 000000000000..e4d005054b00
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-a52q.dts
> @@ -0,0 +1,31 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * SM7125 Samsung Galaxy A52 (a52q) specific device tree source
> + *
> + * Copyright (c) 2026, The Linux Foundation. All rights reserved.
> + */
> +
> +/dts-v1/;
> +
> +#include "sm7125-samsung-common.dtsi"
> +
> +/ {
> +	model = "Samsung Galaxy A52";
> +	compatible = "samsung,a52q", "qcom,sm7125";
> +	qcom,board-id = <0x22 0x6>;
> +
> +	reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		rmtfs_mem: memory@f4f01000 {
> +			compatible = "qcom,rmtfs-mem";
> +			reg = <0 0xf4f01000 0 0x200000>;

Hi Erikas!

the start on the 0x1000 offset sounds suspicious, doesn't it need 0xf4f0 0000 
and size 0x202000  with qcom,use-guard-pages ?

You can also share most of the properties and define it in the -common.dtsi


> +			no-map;
> +
> +			qcom,client-id = <1>;
> +			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts b/arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts
> new file mode 100644
> index 000000000000..df8d637ef16f
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-a72q.dts
> @@ -0,0 +1,31 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * SM7125 Samsung Galaxy A72 (a72q) specific device tree source
> + *
> + * Copyright (c) 2026, The Linux Foundation. All rights reserved.
> + */
> +
> +/dts-v1/;
> +
> +#include "sm7125-samsung-common.dtsi"
> +
> +/ {
> +	model = "Samsung Galaxy A72";
> +	compatible = "samsung,a72q", "qcom,sm7125";
> +	qcom,board-id = <0x22 0x5>;
> +
> +	reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		rmtfs_mem: memory@f3701000 {
> +			compatible = "qcom,rmtfs-mem";
> +			reg = <0 0xf3701000 0 0x200000>;

same rmtfs comment as above

> +			no-map;
> +
> +			qcom,client-id = <1>;
> +			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
> +		};
> +	};
> +};
> diff --git a/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi b/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi
> new file mode 100644
> index 000000000000..836dc9b8b1a5
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm7125-samsung-common.dtsi
> @@ -0,0 +1,518 @@
> +// SPDX-License-Identifier: GPL-2.0
> +/*
> + * SM7125 Samsung common device tree source
> + *
> + * Copyright (c) 2026, The Linux Foundation. All rights reserved.
> + */
> +
> +#include <dt-bindings/arm/qcom,ids.h>
> +#include <dt-bindings/gpio/gpio.h>
> +#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
> +#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
> +#include "sm7125.dtsi"
> +#include "pm6150.dtsi"
> +#include "pm6150l.dtsi"
> +
> +/delete-node/ &rmtfs_mem;
> +/delete-node/ &ipa_fw_mem;
> +/delete-node/ &tz_mem;
> +
> +/ {
> +	chassis-type = "handset";
> +
> +	qcom,msm-id = <QCOM_ID_SM7125 0>;
> +
> +	chosen {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		framebuffer@9c000000 {
> +			compatible = "simple-framebuffer";
> +			reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>;

use memory-region = <&cont_splash_mem>; instead of reg

David

> +			width = <1080>;
> +			height = <2400>;
> +			stride = <(1080 * 4)>;
> +			format = "a8r8g8b8";
> +			clocks = <&gcc GCC_DISP_HF_AXI_CLK>;
> +		};
> +	};
> +
> +	gpio-keys {
> +		compatible = "gpio-keys";
> +
> +		pinctrl-names = "default";
> +		pinctrl-0 = <&key_vol_up_default>, <&hall_sensor_default>;
> +
> +		vol-up {
> +			label = "Volume up";
> +			gpios = <&pm6150l_gpios 8 GPIO_ACTIVE_LOW>;
> +			linux,code = <KEY_VOLUMEUP>;
> +			debounce-interval = <15>;
> +		};
> +
> +		event-hall-sensor {
> +			label = "Hall Effect Sensor";
> +			gpios = <&pm6150_gpios 10 GPIO_ACTIVE_LOW>;
> +			linux,input-type = <EV_SW>;
> +			linux,code = <SW_LID>;
> +			debounce-interval = <15>;
> +		};
> +	};
> +
> +	reserved-memory {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		tz_mem: memory@80b00000 {
> +			reg = <0x0 0x80b00000 0x0 0x7100000>;
> +			no-map;
> +		};
> +
> +		mpss_mem: memory@8b000000 {
> +			reg = <0x0 0x8b000000 0x0 0x8900000>;
> +			no-map;
> +		};
> +
> +		wlan_mem: memory@93900000 {
> +			reg = <0x0 0x93900000 0x0 0x200000>;
> +			no-map;
> +		};
> +
> +		ipa_fw_mem: memory@93b00000 {
> +			reg = <0x0 0x93b00000 0x0 0x10000>;
> +			no-map;
> +		};
> +
> +		ipa_gsi_region: memory@93b10000 {
> +			reg = <0x0 0x93b10000 0x0 0x5000>;
> +			no-map;
> +		};
> +
> +		gpu_mem: memory@93b15000 {
> +			reg = <0x0 0x93b15000 0x0 0x2000>;
> +			no-map;
> +		};
> +
> +		adsp_mem: memory@93c00000 {
> +			reg = <0x0 0x93c00000 0x0 0x3e00000>;
> +			no-map;
> +		};
> +
> +		camera_region: memory@97a00000 {
> +			reg = <0x0 0x97a00000 0x0 0x500000>;
> +			no-map;
> +		};
> +
> +		pil_npu_region: memory@97f00000 {
> +			reg = <0x0 0x97f00000 0x0 0x500000>;
> +			no-map;
> +		};
> +
> +		venus_mem: memory@98400000 {
> +			reg = <0x0 0x98400000 0x0 0x500000>;
> +			no-map;
> +		};
> +
> +		cdsp_mem: memory@98900000 {
> +			reg = <0x0 0x98900000 0x0 0x1e00000>;
> +			no-map;
> +		};
> +
> +		cont_splash_mem: memory@9c000000 {
> +			reg = <0x0 0x9c000000 0x0 (1080 * 2400 * 4)>;
> +			no-map;
> +		};
> +

[...]

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2026-07-04 14:05 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-03  7:59 [PATCH 0/3] arm64: dts: qcom: sm7125-samsung: add initial device tree for SM7125 Samsung platform Erikas Bitovtas
2026-07-03  7:59 ` [PATCH 1/3] dt-bindings: arm: qcom: Document Samsung Galaxy A52/A72 Erikas Bitovtas
2026-07-03  8:23   ` Bartosz Golaszewski
2026-07-03  7:59 ` [PATCH 2/3] firmware: qcom: tzmem: disable SHM bridge for SM7125 platform Erikas Bitovtas
2026-07-03  8:22   ` Bartosz Golaszewski
2026-07-03 23:23   ` Dmitry Baryshkov
2026-07-03  7:59 ` [PATCH 3/3] arm64: dts: qcom: sm7125-samsung: add initial device tree Erikas Bitovtas
2026-07-03  8:11   ` sashiko-bot
2026-07-03 13:31   ` Konrad Dybcio
2026-07-03 17:36     ` Erikas Bitovtas
2026-07-04  8:55     ` Erikas Bitovtas
2026-07-04  8:58     ` Erikas Bitovtas
2026-07-04 14:05   ` David Heidelberg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox