[PATCH v6 5/6] arm64: dts: qcom: Add device tree for Nord Ride board

From: Shawn Guo

Date: Thu Jul 16 2026 - 10:37:28 EST


From: Deepti Jaggi <deepti.jaggi@xxxxxxxxxxxxxxxx>

Add initial device tree for the Qualcomm SA8797P Ride reference board,
which is built on Nord GearVM variant.

- Configure UART15 as the primary console and UART4 as the secondary
serial port
- Enable UFS storage support
- Define thermal zones for PMIC dies, UFS, and two SDRAM sensors,
all sourced from SCMI sensor protocol on channel 23

Signed-off-by: Deepti Jaggi <deepti.jaggi@xxxxxxxxxxxxxxxx>
Signed-off-by: Shawn Guo <shengchao.guo@xxxxxxxxxxxxxxxx>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/nord-ride.dts | 240 +++++++++++++++++++++++++
2 files changed, 241 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/nord-ride.dts

diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index e05414290d8e..28bd17c1e2f2 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -159,6 +159,7 @@ dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-lilac.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-maple.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-sony-xperia-yoshino-poplar.dtb
dtb-$(CONFIG_ARCH_QCOM) += msm8998-xiaomi-sagit.dtb
+dtb-$(CONFIG_ARCH_QCOM) += nord-ride.dtb
dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk.dtb

purwa-iot-evk-el2-dtbs := purwa-iot-evk.dtb x1-el2.dtbo
diff --git a/arch/arm64/boot/dts/qcom/nord-ride.dts b/arch/arm64/boot/dts/qcom/nord-ride.dts
new file mode 100644
index 000000000000..4ced77e3482e
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/nord-ride.dts
@@ -0,0 +1,240 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include "nord-gearvm.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. SA8797P Ride";
+ compatible = "qcom,sa8797p-ride", "qcom,nord";
+
+ aliases {
+ serial0 = &uart15;
+ serial1 = &uart4;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ clocks {
+ xo_board_clk: xo-board-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <38400000>;
+ #clock-cells = <0>;
+ };
+
+ sleep_clk: sleep-clk {
+ compatible = "fixed-clock";
+ clock-frequency = <32000>;
+ #clock-cells = <0>;
+ };
+ };
+};
+
+&scmi3 {
+ status = "okay";
+};
+
+&scmi11 {
+ status = "okay";
+};
+
+&scmi15 {
+ status = "okay";
+};
+
+&scmi23 {
+ status = "okay";
+};
+
+&thermal_zones {
+ pmic_kobra_thermal: pmic-a-die-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&scmi23_sensor 3>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmic_kai_0_thermal: pmic-e-die-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&scmi23_sensor 4>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmic_kai_1_thermal: pmic-f-die-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&scmi23_sensor 5>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmic_kai_2_thermal: pmic-g-die-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&scmi23_sensor 6>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmic_kai_3_thermal: pmic-h-die-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&scmi23_sensor 7>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmic_kai_4_thermal: pmic-i-die-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&scmi23_sensor 8>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmic_kai_5_thermal: pmic-j-die-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&scmi23_sensor 9>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmic_kai_6_thermal: pmic-k-die-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&scmi23_sensor 10>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmic_kai_7_thermal: pmic-l-die-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&scmi23_sensor 11>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmic_kai_ufs_thermal: ufs-thermal {
+ polling-delay-passive = <0>;
+ thermal-sensors = <&scmi23_sensor 0>;
+
+ trips {
+ trip0 {
+ temperature = <105000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ trip1 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "critical";
+ };
+ };
+ };
+
+ pmic_kai_sdram0_thermal: sdram0-thermal {
+ polling-delay-passive = <0>;
+ thermal-sensors = <&scmi23_sensor 1>;
+
+ trips {
+ trip0 {
+ temperature = <105000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ trip1 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "critical";
+ };
+ };
+ };
+
+ pmic_kai_sdram1_thermal: sdram1-thermal {
+ polling-delay-passive = <0>;
+ thermal-sensors = <&scmi23_sensor 2>;
+
+ trips {
+ trip0 {
+ temperature = <105000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+
+ trip1 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "critical";
+ };
+ };
+ };
+};
+
+&uart4 {
+ status = "okay";
+};
+
+&uart15 {
+ status = "okay";
+};
+
+&ufs_mem_hc {
+ status = "okay";
+};
--
2.43.0