Devicetree
 help / color / mirror / Atom feed
* [PATCH 0/2] (no cover subject)
@ 2023-09-12  7:16 Linus Walleij
  0 siblings, 0 replies; 5+ messages in thread
From: Linus Walleij @ 2023-09-12  7:16 UTC (permalink / raw)
  To: Rob Herring, Krzysztof Kozlowski, Conor Dooley
  Cc: linux-arm-kernel, devicetree, linux-kernel, Linus Walleij

Some Versatile family DTS updates for the v6.7 kernel
cycle.

Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
---
Linus Walleij (2):
      ARM: dts: versatile: Fix up VGA connector
      ARM: dts: integrator: Fix up VGA connector

 arch/arm/boot/dts/arm/integratorap-im-pd1.dts | 3 +--
 arch/arm/boot/dts/arm/versatile-ab.dts        | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)
---
base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d
change-id: 20230912-versatile-dts-v6-7-28497ea9b7e7

Best regards,
-- 
Linus Walleij <linus.walleij@linaro.org>


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

* [PATCH 0/2] (no cover subject)
@ 2026-11-11  4:05 Vishal Balasubramanian via B4 Relay
  2026-11-11  4:05 ` [PATCH 1/2] dt-bindings: arm: qcom: Add Samsung Galaxy Tab S7 FE LTE Vishal Balasubramanian via B4 Relay
  2026-11-11  4:05 ` [PATCH 2/2] arm64: dts: qcom: sm7225: " Vishal Balasubramanian via B4 Relay
  0 siblings, 2 replies; 5+ messages in thread
From: Vishal Balasubramanian via B4 Relay @ 2026-11-11  4:05 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kees Cook, Tony Luck,
	Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Vishal Balasubramanian

This series adds initial support for the Samsung Galaxy Tab S7 FE LTE
(SM-T735), a tablet based on the Qualcomm SM7225 SoC.

Supported in this initial version:
- Display via simple-framebuffer
- Volume keys and power button
- UFS and microSD
- USB
- Wi-Fi and Bluetooth (WCN3991)
- ADSP, CDSP and modem, including mobile data

Signed-off-by: Vishal Balasubramanian <vishal.bala.nps@gmail.com>
---
Vishal Balasubramanian (2):
      dt-bindings: arm: qcom: Add Samsung Galaxy Tab S7 FE LTE
      arm64: dts: qcom: sm7225: Add Samsung Galaxy Tab S7 FE LTE

 Documentation/devicetree/bindings/arm/qcom.yaml    |   1 +
 arch/arm64/boot/dts/qcom/Makefile                  |   1 +
 .../boot/dts/qcom/sm7225-samsung-gts7xllite.dts    | 575 +++++++++++++++++++++
 3 files changed, 577 insertions(+)
---
base-commit: 630059a5a632377b9b7b487baccde92b7ae1dd47
change-id: 20261111-master-74b35c90f44c

Best regards,
-- 
Vishal Balasubramanian <vishal.bala.nps@gmail.com>



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

* [PATCH 1/2] dt-bindings: arm: qcom: Add Samsung Galaxy Tab S7 FE LTE
  2026-11-11  4:05 [PATCH 0/2] (no cover subject) Vishal Balasubramanian via B4 Relay
@ 2026-11-11  4:05 ` Vishal Balasubramanian via B4 Relay
  2026-11-11  4:05 ` [PATCH 2/2] arm64: dts: qcom: sm7225: " Vishal Balasubramanian via B4 Relay
  1 sibling, 0 replies; 5+ messages in thread
From: Vishal Balasubramanian via B4 Relay @ 2026-11-11  4:05 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kees Cook, Tony Luck,
	Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Vishal Balasubramanian

From: Vishal Balasubramanian <vishal.bala.nps@gmail.com>

Document the compatible for the Samsung Galaxy Tab S7 FE LTE
(SM-T735, codename gts7xllite), a tablet based on the Qualcomm
SM7225 SoC.

Signed-off-by: Vishal Balasubramanian <vishal.bala.nps@gmail.com>
---
 Documentation/devicetree/bindings/arm/qcom.yaml | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/arm/qcom.yaml b/Documentation/devicetree/bindings/arm/qcom.yaml
index 121ca557ce1effdc95e9e97210bd9a63673f8ba4..abc3c0f53cc14b02d06b68aba3bfd8425ea4fb07 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -1118,6 +1118,7 @@ properties:
       - items:
           - enum:
               - fairphone,fp4
+              - samsung,gts7xllite
           - const: qcom,sm7225
 
       - items:

-- 
2.47.3



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

* [PATCH 2/2] arm64: dts: qcom: sm7225: Add Samsung Galaxy Tab S7 FE LTE
  2026-11-11  4:05 [PATCH 0/2] (no cover subject) Vishal Balasubramanian via B4 Relay
  2026-11-11  4:05 ` [PATCH 1/2] dt-bindings: arm: qcom: Add Samsung Galaxy Tab S7 FE LTE Vishal Balasubramanian via B4 Relay
@ 2026-11-11  4:05 ` Vishal Balasubramanian via B4 Relay
  2026-11-11  4:23   ` sashiko-bot
  1 sibling, 1 reply; 5+ messages in thread
From: Vishal Balasubramanian via B4 Relay @ 2026-11-11  4:05 UTC (permalink / raw)
  To: Bjorn Andersson, Konrad Dybcio, Abel Vesa, Rob Herring,
	Krzysztof Kozlowski, Conor Dooley, Kees Cook, Tony Luck,
	Guilherme G. Piccoli
  Cc: linux-arm-msm, devicetree, linux-kernel, Vishal Balasubramanian

From: Vishal Balasubramanian <vishal.bala.nps@gmail.com>

Adds initial support for the Samsung Galaxy Tab S7 FE LTE (SM-T735),
a tablet based on the Qualcomm Snapdragon 750G (SM7225) SoC.

The following is supported:
- Framebuffer
- Volume Up, Down and Power Buttons
- UFS Storage and SD Card
- USB
- Modem, ADSP and CDSP
- Wi-Fi and Bluetooth
- Cellular Data and SMS

The reserved-memory layout deviates from sm6350.dtsi. The ADSP
firmware shipped on this device requires a 64 MiB carveout, so the
ADSP, camera, NPU, video and CDSP regions are redeclared at the
addresses used by the vendor firmware. The bootloader also reserves
additional memory (removed_region enlarged to 0x5e00000, plus the
fastuh region); without these reservations the device hangs under
memory pressure.

qcom,msm-id and qcom,board-id are required for the Samsung
bootloader to boot the kernel.

Signed-off-by: Vishal Balasubramanian <vishal.bala.nps@gmail.com>
---
 arch/arm64/boot/dts/qcom/Makefile                  |   1 +
 .../boot/dts/qcom/sm7225-samsung-gts7xllite.dts    | 575 +++++++++++++++++++++
 2 files changed, 576 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 88230c4e00ea91ea2132f8d5ff2b971b5f682559..4c6fdaa14347b2d4cd569096bf4467d9ff5c2dc2 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -397,6 +397,7 @@ dtb-$(CONFIG_ARCH_QCOM)	+= sm6375-sony-xperia-murray-pdx225.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
+dtb-$(CONFIG_ARCH_QCOM)	+= sm7225-samsung-gts7xllite.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm7325-motorola-dubai.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm7325-motorola-dubai-csot.dtb
 dtb-$(CONFIG_ARCH_QCOM)	+= sm7325-motorola-dubai-tianma.dtb
diff --git a/arch/arm64/boot/dts/qcom/sm7225-samsung-gts7xllite.dts b/arch/arm64/boot/dts/qcom/sm7225-samsung-gts7xllite.dts
new file mode 100644
index 0000000000000000000000000000000000000000..f3e3529277414a9f3d72d247a121f4379cfcd91c
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/sm7225-samsung-gts7xllite.dts
@@ -0,0 +1,575 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) 2026, Vishal Balasubramanian <vishal.bala.nps@gmail.com>
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/arm/qcom,ids.h>
+#include <dt-bindings/firmware/qcom,scm.h>
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/input/input.h>
+#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+#include "sm7225.dtsi"
+#include "pm6150l.dtsi"
+#include "pm6350.dtsi"
+#include "pmk8350.dtsi"
+
+/delete-node/ &pil_adsp_mem;
+/delete-node/ &pil_camera_mem;
+/delete-node/ &pil_npu_mem;
+/delete-node/ &pil_video_mem;
+/delete-node/ &pil_cdsp_mem;
+/delete-node/ &ramoops;
+/delete-node/ &removed_region;
+
+/ {
+	model = "Samsung Galaxy Tab S7 FE LTE";
+	compatible = "samsung,gts7xllite", "qcom,sm7225";
+	chassis-type = "tablet";
+
+	qcom,msm-id = <QCOM_ID_SM7225 0x10000>;
+	qcom,board-id = <8 5>;
+
+	aliases {
+		serial0 = &uart9;
+		serial1 = &uart1;
+	};
+
+	chosen {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		stdout-path = "framebuffer0";
+
+		framebuffer0: framebuffer {
+			compatible = "simple-framebuffer";
+			memory-region = <&framebuffer_mem>;
+			width = <1600>;
+			height = <2560>;
+			stride = <(1600 * 4)>;
+			format = "a8r8g8b8";
+		};
+	};
+
+	gpio-keys {
+		compatible = "gpio-keys";
+		pinctrl-names = "default";
+		pinctrl-0 = <&gpio_keys_pin>;
+
+		key-volume-up {
+			label = "Volume Up";
+			linux,code = <KEY_VOLUMEUP>;
+			gpios = <&pm6350_gpios 2 GPIO_ACTIVE_LOW>;
+		};
+	};
+
+	reserved-memory {
+		pil_adsp_mem: memory@84800000 {
+			reg = <0x0 0x84800000 0x0 0x4000000>;
+			no-map;
+		};
+
+		pil_camera_mem: memory@88800000 {
+			reg = <0x0 0x88800000 0x0 0x500000>;
+			no-map;
+		};
+
+		pil_npu_mem: memory@88d00000 {
+			reg = <0x0 0x88d00000 0x0 0x500000>;
+			no-map;
+		};
+
+		pil_video_mem: memory@89200000 {
+			reg = <0x0 0x89200000 0x0 0x500000>;
+			no-map;
+		};
+
+		pil_cdsp_mem: memory@89700000 {
+			reg = <0x0 0x89700000 0x0 0x1e00000>;
+			no-map;
+		};
+
+		framebuffer_mem: memory@a0000000 {
+			reg = <0 0xa0000000 0 (2560 * 1600 * 4)>;
+			no-map;
+		};
+
+		knox_reserved: memory@b0200000 {
+			reg = <0x0 0xb0200000 0x0 0x200000>;
+			no-map;
+		};
+
+		ramoops@b1b00000 {
+			compatible = "ramoops";
+			reg = <0x0 0xb1b00000 0x0 0x100000>;
+			record-size = <0x40000>;
+			console-size = <0x40000>;
+			ftrace-size = <0x40000>;
+			pmsg-size = <0x40000>;
+		};
+
+		removed_region: memory@c0000000 {
+			reg = <0x0 0xc0000000 0x0 0x5e00000>;
+			no-map;
+		};
+
+		memory@efe01000 {
+			compatible = "qcom,rmtfs-mem";
+			reg = <0 0xefe01000 0 0x600000>;
+			no-map;
+
+			qcom,client-id = <1>;
+			qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>;
+		};
+	};
+};
+
+&adsp {
+	firmware-name = "qcom/sm7225/Samsung/gts7xllite/adsp.mbn";
+
+	status = "okay";
+};
+
+&apps_rsc {
+	regulators-0 {
+		compatible = "qcom,pm6350-rpmh-regulators";
+		qcom,pmic-id = "a";
+
+		vreg_s1a: smps1 {
+			regulator-name = "vreg_s1a";
+			regulator-min-microvolt = <1000000>;
+			regulator-max-microvolt = <1200000>;
+		};
+
+		vreg_s2a: smps2 {
+			regulator-name = "vreg_s2a";
+			regulator-min-microvolt = <1503000>;
+			regulator-max-microvolt = <2048000>;
+		};
+
+		vreg_l2a: ldo2 {
+			regulator-name = "vreg_l2a";
+			regulator-min-microvolt = <1503000>;
+			regulator-max-microvolt = <1980000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3a: ldo3 {
+			regulator-name = "vreg_l3a";
+			regulator-min-microvolt = <2700000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4a: ldo4 {
+			regulator-name = "vreg_l4a";
+			regulator-min-microvolt = <352000>;
+			regulator-max-microvolt = <801000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l5a: ldo5 {
+			regulator-name = "vreg_l5a";
+			regulator-min-microvolt = <1503000>;
+			regulator-max-microvolt = <1980000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6a: ldo6 {
+			regulator-name = "vreg_l6a";
+			regulator-min-microvolt = <1710000>;
+			regulator-max-microvolt = <3544000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7a: ldo7 {
+			regulator-name = "vreg_l7a";
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <1980000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l8a: ldo8 {
+			regulator-name = "vreg_l8a";
+			regulator-min-microvolt = <2800000>;
+			regulator-max-microvolt = <2800000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9a: ldo9 {
+			regulator-name = "vreg_l9a";
+			regulator-min-microvolt = <1650000>;
+			regulator-max-microvolt = <3401000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l11a: ldo11 {
+			regulator-name = "vreg_l11a";
+			regulator-min-microvolt = <1800000>;
+			regulator-max-microvolt = <2000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l12a: ldo12 {
+			regulator-name = "vreg_l12a";
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <1980000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l13a: ldo13 {
+			regulator-name = "vreg_l13a";
+			regulator-min-microvolt = <570000>;
+			regulator-max-microvolt = <650000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l14a: ldo14 {
+			regulator-name = "vreg_l14a";
+			regulator-min-microvolt = <1700000>;
+			regulator-max-microvolt = <1900000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l15a: ldo15 {
+			regulator-name = "vreg_l15a";
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1305000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l16a: ldo16 {
+			regulator-name = "vreg_l16a";
+			regulator-min-microvolt = <830000>;
+			regulator-max-microvolt = <921000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l18a: ldo18 {
+			regulator-name = "vreg_l18a";
+			regulator-min-microvolt = <788000>;
+			regulator-max-microvolt = <1049000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l19a: ldo19 {
+			regulator-name = "vreg_l19a";
+			regulator-min-microvolt = <1080000>;
+			regulator-max-microvolt = <1305000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l20a: ldo20 {
+			regulator-name = "vreg_l20a";
+			regulator-min-microvolt = <530000>;
+			regulator-max-microvolt = <801000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l21a: ldo21 {
+			regulator-name = "vreg_l21a";
+			regulator-min-microvolt = <751000>;
+			regulator-max-microvolt = <825000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l22a: ldo22 {
+			regulator-name = "vreg_l22a";
+			regulator-min-microvolt = <1080000>;
+			regulator-max-microvolt = <1305000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+	};
+
+	regulators-1 {
+		compatible = "qcom,pm6150l-rpmh-regulators";
+		qcom,pmic-id = "e";
+
+		vreg_s8e: smps8 {
+			regulator-name = "vreg_s8e";
+			regulator-min-microvolt = <313000>;
+			regulator-max-microvolt = <1395000>;
+		};
+
+		vreg_l1e: ldo1 {
+			regulator-name = "vreg_l1e";
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <1980000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l2e: ldo2 {
+			regulator-name = "vreg_l2e";
+			regulator-min-microvolt = <1170000>;
+			regulator-max-microvolt = <1305000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l3e: ldo3 {
+			regulator-name = "vreg_l3e";
+			regulator-min-microvolt = <1100000>;
+			regulator-max-microvolt = <1299000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l4e: ldo4 {
+			regulator-name = "vreg_l4e";
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l5e: ldo5 {
+			regulator-name = "vreg_l5e";
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <3300000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l6e: ldo6 {
+			regulator-name = "vreg_l6e";
+			regulator-min-microvolt = <1700000>;
+			regulator-max-microvolt = <2950000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-allow-set-load;
+			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+						   RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l7e: ldo7 {
+			regulator-name = "vreg_l7e";
+			regulator-min-microvolt = <2700000>;
+			regulator-max-microvolt = <3544000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l8e: ldo8 {
+			regulator-name = "vreg_l8e";
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <2000000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l9e: ldo9 {
+			regulator-name = "vreg_l9e";
+			regulator-min-microvolt = <2700000>;
+			regulator-max-microvolt = <2960000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+			regulator-allow-set-load;
+			regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+						   RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l10e: ldo10 {
+			regulator-name = "vreg_l10e";
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3401000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_l11e: ldo11 {
+			regulator-name = "vreg_l11e";
+			regulator-min-microvolt = <3000000>;
+			regulator-max-microvolt = <3401000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+		};
+
+		vreg_bob: bob {
+			regulator-name = "vreg_bob";
+			regulator-min-microvolt = <1620000>;
+			regulator-max-microvolt = <5492000>;
+			regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
+			regulator-allow-bypass;
+		};
+	};
+};
+
+&cdsp {
+	firmware-name = "qcom/sm7225/Samsung/gts7xllite/cdsp.mbn";
+
+	status = "okay";
+};
+
+&dispcc {
+	/* Disable for now to keep framebuffer alive */
+	status = "disabled";
+};
+
+&ipa {
+	qcom,gsi-loader = "self";
+	memory-region = <&pil_ipa_fw_mem>;
+	firmware-name = "qcom/sm7225/Samsung/gts7xllite/lagoon_ipa_fws.mbn";
+
+	status = "okay";
+};
+
+&mpss {
+	firmware-name = "qcom/sm7225/Samsung/gts7xllite/modem.mbn";
+
+	status = "okay";
+};
+
+&pm6350_gpios {
+	gpio_keys_pin: gpio-keys-state {
+		pins = "gpio2";
+		function = PMIC_GPIO_FUNC_NORMAL;
+		bias-pull-up;
+		input-enable;
+		power-source = <0>;
+	};
+};
+
+&pm6350_resin {
+	linux,code = <KEY_VOLUMEDOWN>;
+
+	status = "okay";
+};
+
+&pmk8350_rtc {
+	status = "okay";
+};
+
+&qup_uart1_cts {
+	/delete-property/ bias-disable;
+	bias-bus-hold;
+};
+
+&qup_uart1_rts {
+	drive-strength = <2>;
+	/delete-property/ bias-pull-down;
+	bias-disable;
+};
+
+&qup_uart1_rx {
+	/delete-property/ bias-disable;
+	bias-pull-up;
+};
+
+&qup_uart1_tx {
+	drive-strength = <2>;
+	/delete-property/ bias-pull-up;
+	bias-disable;
+};
+
+&qupv3_id_0 {
+	status = "okay";
+};
+
+&qupv3_id_1 {
+	status = "okay";
+};
+
+&sdhc_2 {
+	vmmc-supply = <&vreg_l9e>;
+	vqmmc-supply = <&vreg_l6e>;
+
+	cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
+
+	status = "okay";
+};
+
+&tlmm {
+	qup_uart1_sleep_cts: qup-uart1-sleep-cts-state {
+		pins = "gpio61";
+		function = "gpio";
+		bias-bus-hold;
+	};
+
+	qup_uart1_sleep_rts: qup-uart1-sleep-rts-state {
+		pins = "gpio62";
+		function = "gpio";
+		bias-pull-down;
+	};
+
+	qup_uart1_sleep_tx: qup-uart1-sleep-tx-state {
+		pins = "gpio63";
+		function = "gpio";
+		bias-pull-up;
+	};
+
+	qup_uart1_sleep_rx: qup-uart1-sleep-rx-state {
+		pins = "gpio64";
+		function = "gpio";
+		bias-pull-up;
+	};
+};
+
+&uart1 {
+	/delete-property/ interrupts;
+	interrupts-extended = <&intc GIC_SPI 602 IRQ_TYPE_LEVEL_HIGH>,
+			      <&tlmm 64 IRQ_TYPE_EDGE_FALLING>;
+
+	pinctrl-names = "default", "sleep";
+	pinctrl-1 = <&qup_uart1_sleep_cts>, <&qup_uart1_sleep_rts>,
+		    <&qup_uart1_sleep_tx>, <&qup_uart1_sleep_rx>;
+
+	status = "okay";
+
+	bluetooth {
+		compatible = "qcom,wcn3991-bt";
+
+		vddio-supply = <&vreg_l11a>;
+		vddxo-supply = <&vreg_l7a>;
+		vddrf-supply = <&vreg_l2e>;
+		vddch0-supply = <&vreg_l10e>;
+
+		max-speed = <3200000>;
+	};
+};
+
+&uart9 {
+	status = "okay";
+};
+
+&ufs_mem_hc {
+	vcc-supply = <&vreg_l7e>;
+	vcc-max-microamp = <800000>;
+	vccq2-supply = <&vreg_l12a>;
+	vccq2-max-microamp = <800000>;
+
+	status = "okay";
+};
+
+&ufs_mem_phy {
+	vdda-phy-supply = <&vreg_l18a>;
+	vdda-pll-supply = <&vreg_l22a>;
+
+	status = "okay";
+};
+
+&usb_1 {
+	status = "okay";
+};
+
+&usb_1_dwc3 {
+	maximum-speed = "super-speed";
+	dr_mode = "otg";
+};
+
+&usb_1_hsphy {
+	vdd-supply = <&vreg_l18a>;
+	vdda-pll-supply = <&vreg_l2a>;
+	vdda-phy-dpdm-supply = <&vreg_l3a>;
+
+	status = "okay";
+};
+
+&usb_1_qmpphy {
+	vdda-phy-supply = <&vreg_l22a>;
+	vdda-pll-supply = <&vreg_l16a>;
+
+	status = "okay";
+};
+
+&wifi {
+	vdd-0.8-cx-mx-supply = <&vreg_l4a>;
+	vdd-1.8-xo-supply = <&vreg_l7a>;
+	vdd-1.3-rfa-supply = <&vreg_l2e>;
+	vdd-3.3-ch0-supply = <&vreg_l10e>;
+	vdd-3.3-ch1-supply = <&vreg_l11e>;
+
+	status = "okay";
+};

-- 
2.47.3



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

* Re: [PATCH 2/2] arm64: dts: qcom: sm7225: Add Samsung Galaxy Tab S7 FE LTE
  2026-11-11  4:05 ` [PATCH 2/2] arm64: dts: qcom: sm7225: " Vishal Balasubramanian via B4 Relay
@ 2026-11-11  4:23   ` sashiko-bot
  0 siblings, 0 replies; 5+ messages in thread
From: sashiko-bot @ 2026-11-11  4:23 UTC (permalink / raw)
  To: Vishal Balasubramanian; +Cc: devicetree, robh, conor+dt

Thank you for your contribution! Sashiko AI review found 5 potential
issues to consider:
- [High] arm64: dts: qcom: missing PMK8350_SID causes SPMI SID 0
  collision
- [Medium] arm64: dts: qcom: swapped vdda-phy and vdda-pll supplies on
  usb_1_qmpphy
- [Medium] arm64: dts: qcom: broken chosen stdout-path and missing
  display AXI clock
- [Low] arm64: dts: qcom: missing sdc2 card-detect pinctrl and duplicate
  ipa props
- [Low] arm64: dts: qcom: undeleted cont_splash_memory and knox_reserved
  mismatch
--

commit 40269d8494daca48cf8a14a66c04f07d121893ba
Author: Vishal Balasubramanian <vishal.bala.nps@gmail.com>

arm64: dts: qcom: sm7225: Add Samsung Galaxy Tab S7 FE LTE

This commit adds the initial device tree for the Samsung Galaxy Tab S7 FE
LTE (SM-T735) tablet based on the Qualcomm SM7225 SoC.

> diff --git a/arch/arm64/boot/dts/qcom/sm7225-samsung-gts7xllite.dts b/arch/arm64/boot/dts/qcom/sm7225-samsung-gts7xllite.dts
> new file mode 100644
> index 0000000000000..f3e3529277414
> --- /dev/null
> +++ b/arch/arm64/boot/dts/qcom/sm7225-samsung-gts7xllite.dts
> @@ -0,0 +1,575 @@

[ ... ]

> +#include "sm7225.dtsi"
> +#include "pm6150l.dtsi"
> +#include "pm6350.dtsi"
> +#include "pmk8350.dtsi"

[Severity: High]
Does including pmk8350.dtsi without defining PMK8350_SID to 6 cause pmk8350
to collide with pm6350 on SPMI USID 0?

pmk8350.dtsi defaults PMK8350_SID to 0, so pmk8350: pmic@PMK8350_SID expands
to pmic@0 and merges into the PM6350 node from pm6350.dtsi.  That overwrites
pmic@0's compatible string with "qcom,pmk8350", places all PMK8350
sub-devices (such as pmk8350_rtc, pmk8350_vadc, and the reboot-reason nvmem
cell in pmk8350_sdam_2) on USID 0 instead of USID 6, and leaves pmk8350_pon
enabled alongside pm6350_pon at 0x800.  Should this define PMK8350_SID to 6
before including pmk8350.dtsi and disable or delete &pmk8350_pon, as done in
sm7225-fairphone-fp4.dts?

[ ... ]

> +	aliases {
> +		serial0 = &uart9;
> +		serial1 = &uart1;
> +	};
> +
> +	chosen {
> +		#address-cells = <2>;
> +		#size-cells = <2>;
> +		ranges;
> +
> +		stdout-path = "framebuffer0";
> +
> +		framebuffer0: framebuffer {
> +			compatible = "simple-framebuffer";
> +			memory-region = <&framebuffer_mem>;
> +			width = <1600>;
> +			height = <2560>;
> +			stride = <(1600 * 4)>;
> +			format = "a8r8g8b8";
> +		};
> +	};

[Severity: Medium]
Can early_init_dt_scan_chosen_stdout() resolve stdout-path = "framebuffer0",
and will clk_disable_unused() gate the display AXI clock?

Because "framebuffer0" does not start with '/', of_find_node_opts_by_path()
looks it up as a property in /aliases, which only defines serial0 and
serial1, leaving of_stdout NULL; using stdout-path = &framebuffer0; (or
"/chosen/framebuffer") resolves to the node path.  Also, because &mdss is
disabled and gcc_disp_axi_clk is not marked CLK_IS_CRITICAL in gcc-sm6350.c,
omitting clocks = <&gcc GCC_DISP_AXI_CLK> from the simple-framebuffer node
leaves the display AXI clock unclaimed when unused clocks are disabled.
Finally, #address-cells, #size-cells, and ranges in /chosen are unused since
the framebuffer node uses memory-region rather than reg.

[ ... ]

> +		framebuffer_mem: memory@a0000000 {
> +			reg = <0 0xa0000000 0 (2560 * 1600 * 4)>;
> +			no-map;
> +		};
> +
> +		knox_reserved: memory@b0200000 {
> +			reg = <0x0 0xb0200000 0x0 0x200000>;
> +			no-map;
> +		};

[Severity: Low]
Should cont_splash_memory be deleted with /delete-node/ before redeclaring
memory@a0000000 as framebuffer_mem, as done for the other replaced
reserved-memory nodes at the top of the file?  Also, the commit message
describes the extra bootloader reservation as the fastuh region, whereas this
node is labeled knox_reserved.

[ ... ]

> +&ipa {
> +	qcom,gsi-loader = "self";
> +	memory-region = <&pil_ipa_fw_mem>;
> +	firmware-name = "qcom/sm7225/Samsung/gts7xllite/lagoon_ipa_fws.mbn";
> +
> +	status = "okay";
> +};

[ ... ]

> +&sdhc_2 {
> +	vmmc-supply = <&vreg_l9e>;
> +	vqmmc-supply = <&vreg_l6e>;
> +
> +	cd-gpios = <&tlmm 94 GPIO_ACTIVE_LOW>;
> +
> +	status = "okay";
> +};

[Severity: Low]
Does sdhc_2 need pin configuration for the gpio94 card-detect line in
&sdc2_on_state and &sdc2_off_state?

sm6350.dtsi only configures clk, cmd, and data in sdc2_on_state and
sdc2_off_state, leaving gpio94 without pull-up and sleep bias settings (see
sd-cd-pins in sm7225-fairphone-fp4.dts).  Also, qcom,gsi-loader and
memory-region in &ipa duplicate the properties already set in sm6350.dtsi.

[ ... ]

> +&usb_1_qmpphy {
> +	vdda-phy-supply = <&vreg_l22a>;
> +	vdda-pll-supply = <&vreg_l16a>;
> +
> +	status = "okay";
> +};

[Severity: Medium]
Are vdda-phy-supply and vdda-pll-supply swapped on usb_1_qmpphy?

vreg_l16a is the ~0.88V rail and vreg_l22a is the ~1.2V rail (used for
vdda-pll-supply on ufs_mem_phy above).  On SM6350/SM7225 QMP PHYs (such as
sm7225-fairphone-fp4.dts and sm6350-sony-xperia-lena-pdx213.dts),
vdda-phy-supply is <&vreg_l16a> and vdda-pll-supply is <&vreg_l22a>; swapping
them applies the PHY core load vote to the 1.2V rail and the PLL load vote to
the 0.88V rail.

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20261111-master-v1-0-07b4f06a9dd5@gmail.com?part=2

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

end of thread, other threads:[~2026-11-11  4:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-11-11  4:05 [PATCH 0/2] (no cover subject) Vishal Balasubramanian via B4 Relay
2026-11-11  4:05 ` [PATCH 1/2] dt-bindings: arm: qcom: Add Samsung Galaxy Tab S7 FE LTE Vishal Balasubramanian via B4 Relay
2026-11-11  4:05 ` [PATCH 2/2] arm64: dts: qcom: sm7225: " Vishal Balasubramanian via B4 Relay
2026-11-11  4:23   ` sashiko-bot
  -- strict thread matches above, loose matches on Subject: below --
2023-09-12  7:16 [PATCH 0/2] (no cover subject) Linus Walleij

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