From 2c90cffc8f1af67d7281c12968a26e3f9fb9e796 Mon Sep 17 00:00:00 2001 From: Yijie Yang Date: Thu, 15 Jan 2026 10:30:10 +0800 Subject: [PATCH 1/5] QCLINUX: arm64: dts: qcom: workaround for TPM pins Purwa will crash if HLOS attempts to access or configure the TPM pins, as these operations require higher privilege levels. Therefore, the TPM pins should be reserved in the DTS until NHLOS provides proper support. Signed-off-by: Yijie Yang --- arch/arm64/boot/dts/qcom/purwa-iot-som.dtsi | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/arm64/boot/dts/qcom/purwa-iot-som.dtsi b/arch/arm64/boot/dts/qcom/purwa-iot-som.dtsi index 71770a8504cf..238e38b5dd73 100644 --- a/arch/arm64/boot/dts/qcom/purwa-iot-som.dtsi +++ b/arch/arm64/boot/dts/qcom/purwa-iot-som.dtsi @@ -483,7 +483,8 @@ }; &tlmm { - gpio-reserved-ranges = <34 2>; /* TPM LP & INT */ + gpio-reserved-ranges = <34 2>, /* TPM LP & INT */ + <44 4>; /* SPI (TPM) */ pcie3_default: pcie3-default-state { clkreq-n-pins { From 8047416a488c20f11ece75bc90e916afd8dd0189 Mon Sep 17 00:00:00 2001 From: Abel Vesa Date: Wed, 24 Dec 2025 12:45:20 +0200 Subject: [PATCH 2/5] FROMLIST: dt-bindings: watchdog: Document X1E80100 compatible Document the compatible for the X1E80100 platform to the Qualcomm watchdog binding. The HW implementation is compatible with the KPSS WDT. Acked-by: Rob Herring (Arm) Reviewed-by: Guenter Roeck Signed-off-by: Abel Vesa Signed-off-by: Xin Liu Link: https://lore.kernel.org/all/20251224-arm64-dts-qcom-x1e80100-el2-add-apss-wdt-v3-1-1801c55d2883@oss.qualcomm.com/ --- Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml index 54f5311ed016..f2c4bc900e5f 100644 --- a/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml +++ b/Documentation/devicetree/bindings/watchdog/qcom-wdt.yaml @@ -43,6 +43,7 @@ properties: - qcom,apss-wdt-sm6350 - qcom,apss-wdt-sm8150 - qcom,apss-wdt-sm8250 + - qcom,apss-wdt-x1e80100 - const: qcom,kpss-wdt - const: qcom,kpss-wdt deprecated: true From ab27f403d8b5e5d2e5c006ec4e4c3525bd6879cd Mon Sep 17 00:00:00 2001 From: Abel Vesa Date: Wed, 24 Dec 2025 12:45:21 +0200 Subject: [PATCH 3/5] FROMLIST: arm64: dts: qcom: hamoa: Add the APSS watchdog The watchdog support in EL1 is SBSA compliant, handled by Gunyah hypervisor, but in EL2. the watchdog is an instance of the APSS WDT HW block, same as older platforms. So describe the APSS WDT node and mark it as reserved, as it will only be enabled in EL2 overlay. Signed-off-by: Abel Vesa Signed-off-by: Xin Liu Link: https://lore.kernel.org/all/20251224-arm64-dts-qcom-x1e80100-el2-add-apss-wdt-v3-2-1801c55d2883@oss.qualcomm.com/ --- arch/arm64/boot/dts/qcom/hamoa.dtsi | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/hamoa.dtsi b/arch/arm64/boot/dts/qcom/hamoa.dtsi index 8e9f2220dac0..8c867f06a9f8 100644 --- a/arch/arm64/boot/dts/qcom/hamoa.dtsi +++ b/arch/arm64/boot/dts/qcom/hamoa.dtsi @@ -9374,6 +9374,14 @@ }; }; + apss_watchdog: watchdog@17410000 { + compatible = "qcom,apss-wdt-x1e80100", "qcom,kpss-wdt"; + reg = <0x0 0x17410000 0x0 0x1000>; + clocks = <&sleep_clk>; + interrupts = ; + status = "reserved"; /* Reserved by Gunyah */ + }; + cpucp_mbox: mailbox@17430000 { compatible = "qcom,x1e80100-cpucp-mbox"; reg = <0 0x17430000 0 0x10000>, <0 0x18830000 0 0x10000>; From 531d1ca9f8f681c066a5d51f4150853e3200b853 Mon Sep 17 00:00:00 2001 From: Xin Liu Date: Mon, 9 Feb 2026 18:36:44 +0800 Subject: [PATCH 4/5] FROMLIST: arm64: dts: qcom: x1-el2: Enable the APSS watchdog In EL2, the APSS watchdog is available. So enable it in the overlay. Reviewed-by: Dmitry Baryshkov Signed-off-by: Abel Vesa Signed-off-by: Xin Liu Link: https://lore.kernel.org/all/20251224-arm64-dts-qcom-x1e80100-el2-add-apss-wdt-v3-3-1801c55d2883@oss.qualcomm.com/ --- arch/arm64/boot/dts/qcom/x1-el2.dtso | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/x1-el2.dtso b/arch/arm64/boot/dts/qcom/x1-el2.dtso index 2d1c9151cf1b..175679be01eb 100644 --- a/arch/arm64/boot/dts/qcom/x1-el2.dtso +++ b/arch/arm64/boot/dts/qcom/x1-el2.dtso @@ -7,6 +7,10 @@ /dts-v1/; /plugin/; +&apss_watchdog { + status = "okay"; +}; + /* We can't and don't need to use zap shader in EL2 as linux can zap the gpu on it's own. */ &gpu_zap_shader { status = "disabled"; From 7722144764c2c99650e7b4f597d8e4bf8773b080 Mon Sep 17 00:00:00 2001 From: Xin Liu Date: Mon, 9 Feb 2026 18:43:48 +0800 Subject: [PATCH 5/5] FROMLIST: arm64: dts: qcom: hamoa: Add EL2 overlay for hamoa-evk Add support for building an EL2 combined DTB for the hamoa-evk in the Qualcomm DTS Makefile. The new hamoa-iot-evk-el2.dtb is generated by combining the base hamoa-iot-evk.dtb with the x1-el2.dtbo overlay, enabling EL2-specific configurations required by the platform. Reviewed-by: Konrad Dybcio Signed-off-by: Xin Liu Link: https://lore.kernel.org/all/20260127062425.1084673-1-xin.liu@oss.qualcomm.com/ --- arch/arm64/boot/dts/qcom/Makefile | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile index 803a525093e7..b0c9042456f1 100644 --- a/arch/arm64/boot/dts/qcom/Makefile +++ b/arch/arm64/boot/dts/qcom/Makefile @@ -13,6 +13,10 @@ dtb-$(CONFIG_ARCH_QCOM) += apq8039-t2.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8094-sony-xperia-kitakami-karin_windy.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-db820c.dtb dtb-$(CONFIG_ARCH_QCOM) += apq8096-ifc6640.dtb + +hamoa-iot-evk-el2-dtbs := hamoa-iot-evk.dtb x1-el2.dtbo + +dtb-$(CONFIG_ARCH_QCOM) += hamoa-iot-evk-el2.dtb dtb-$(CONFIG_ARCH_QCOM) += hamoa-iot-evk.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5018-rdp432-c2.dtb dtb-$(CONFIG_ARCH_QCOM) += ipq5018-tplink-archer-ax55-v1.dtb