* [PATCH 0/6] arm64: dts: qcom: nord: Add remoteproc and PMIC support
@ 2026-08-31 3:20 Shawn Guo
2026-08-31 3:20 ` [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs Shawn Guo
` (5 more replies)
0 siblings, 6 replies; 23+ messages in thread
From: Shawn Guo @ 2026-08-31 3:20 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel, Shawn Guo
This series adds ADSP and CDSP remoteproc support, the SPMI PMIC arbiter
and the PMIC descriptions for the Qualcomm Nord platform, and adds the
initial device tree for the Nord Ride Embedded board.
Dependencies:
- Base DTS: https://lore.kernel.org/all/20260828034958.3165-1-shengchao.guo@oss.qualcomm.com/
- NMXC power domain: https://lore.kernel.org/all/20260826135454.658615-1-shengchao.guo@oss.qualcomm.com/
- PMAU0102 MFD: https://lore.kernel.org/all/20260830034719.140213-1-shengchao.guo@oss.qualcomm.com/
- PMAU0102 GPIO: https://lore.kernel.org/all/20260830042939.144376-1-shengchao.guo@oss.qualcomm.com/
- PMAU0102 thermal: https://lore.kernel.org/all/20260830101025.191697-1-shengchao.guo@oss.qualcomm.com/
Bartosz Golaszewski (3):
arm64: dts: qcom: nord: Add the SPMI PMIC arbiter
dt-bindings: arm: qcom: Document Nord Ride Embedded board
arm64: dts: qcom: Add initial support for Nord Ride Embedded board
Dhruvin Rajpura (1):
arm64: dts: qcom: nord: Add PMAU0102 and PMM8650AU PMIC support
Shawn Guo (2):
arm64: dts: qcom: nord: Add support for ADSP and CDSPs
arm64: dts: qcom: nord-rrd: Enable ADSP and CDSPs
.../devicetree/bindings/arm/qcom.yaml | 1 +
arch/arm64/boot/dts/qcom/Makefile | 1 +
arch/arm64/boot/dts/qcom/nord-embedded.dtsi | 63 ++
arch/arm64/boot/dts/qcom/nord-ipcc.h | 144 +++
.../boot/dts/qcom/nord-ride-embedded.dts | 590 ++++++++++++
arch/arm64/boot/dts/qcom/nord-rrd.dts | 37 +
arch/arm64/boot/dts/qcom/nord.dtsi | 906 ++++++++++++++++++
arch/arm64/boot/dts/qcom/pmau0102-nord.dtsi | 543 +++++++++++
arch/arm64/boot/dts/qcom/pmm8650au-nord.dtsi | 54 ++
9 files changed, 2339 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/nord-ipcc.h
create mode 100644 arch/arm64/boot/dts/qcom/nord-ride-embedded.dts
create mode 100644 arch/arm64/boot/dts/qcom/pmau0102-nord.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/pmm8650au-nord.dtsi
--
2.43.0
^ permalink raw reply [flat|nested] 23+ messages in thread
* [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs
2026-08-31 3:20 [PATCH 0/6] arm64: dts: qcom: nord: Add remoteproc and PMIC support Shawn Guo
@ 2026-08-31 3:20 ` Shawn Guo
2026-09-02 13:52 ` Konrad Dybcio
2026-09-03 9:16 ` Konrad Dybcio
2026-08-31 3:20 ` [PATCH 2/6] arm64: dts: qcom: nord-rrd: Enable " Shawn Guo
` (4 subsequent siblings)
5 siblings, 2 replies; 23+ messages in thread
From: Shawn Guo @ 2026-08-31 3:20 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel, Shawn Guo
Add device tree nodes to support ADSP (HPASS DSP) and CDSPs remoteproc
on Nord SoC.
This includes:
- SMEM memory reservation used by the inter-processor communication
infrastructure
- IPCC mailbox controller for inter-processor signalling
- AOSS QMP node for load state power management
- SMP2P nodes providing stop control and fault/crash interrupt signals
- Remoteproc nodes with a GLINK edge and FastRPC compute contexts for
userspace offload
The embedded variant specific power domains, XO clock, and interconnect
paths are filled in nord-embedded.dtsi.
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/nord-embedded.dtsi | 63 ++
arch/arm64/boot/dts/qcom/nord-ipcc.h | 144 ++++
arch/arm64/boot/dts/qcom/nord.dtsi | 884 ++++++++++++++++++++
3 files changed, 1091 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/nord-ipcc.h
diff --git a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
index 1a2f61a2c952..a03ee16c9cff 100644
--- a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
+++ b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
@@ -363,6 +363,69 @@ &qupv3_2 {
"s-ahb";
};
+&remoteproc_adsp {
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+ interconnects = <&hpass_ag_noc MASTER_HPASS_PROC_0 QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ power-domains = <&rpmhpd RPMHPD_CX>,
+ <&rpmhpd RPMHPD_MX>;
+ power-domain-names = "cx",
+ "mx";
+};
+
+&remoteproc_cdsp0 {
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+ interconnects = <&nsp_data_noc_0 MASTER_NSP0_PROC QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ power-domains = <&rpmhpd RPMHPD_CX>,
+ <&rpmhpd RPMHPD_NMXC>,
+ <&rpmhpd RPMHPD_NSP0>;
+ power-domain-names = "cx",
+ "mx",
+ "nsp";
+};
+
+&remoteproc_cdsp1 {
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+ interconnects = <&nsp_data_noc_1 MASTER_NSP1_PROC QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ power-domains = <&rpmhpd RPMHPD_CX>,
+ <&rpmhpd RPMHPD_NMXC>,
+ <&rpmhpd RPMHPD_NSP1>;
+ power-domain-names = "cx",
+ "mx",
+ "nsp";
+};
+
+&remoteproc_cdsp2 {
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+ interconnects = <&nsp_data_noc_2 MASTER_NSP2_PROC QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ power-domains = <&rpmhpd RPMHPD_CX>,
+ <&rpmhpd RPMHPD_NMXC>,
+ <&rpmhpd RPMHPD_NSP2>;
+ power-domain-names = "cx",
+ "mx",
+ "nsp";
+};
+
+&remoteproc_cdsp3 {
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-names = "xo";
+ interconnects = <&nsp_data_noc_3 MASTER_NSP3_PROC QCOM_ICC_TAG_ALWAYS
+ &mc_virt SLAVE_EBI1 QCOM_ICC_TAG_ALWAYS>;
+ power-domains = <&rpmhpd RPMHPD_CX>,
+ <&rpmhpd RPMHPD_NMXC>,
+ <&rpmhpd RPMHPD_NSP3>;
+ power-domain-names = "cx",
+ "mx",
+ "nsp";
+};
+
&spi0 {
clocks = <&segcc SE_GCC_QUPV3_WRAP0_S0_CLK>;
clock-names = "se";
diff --git a/arch/arm64/boot/dts/qcom/nord-ipcc.h b/arch/arm64/boot/dts/qcom/nord-ipcc.h
new file mode 100644
index 000000000000..8bf9b0875b6d
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/nord-ipcc.h
@@ -0,0 +1,144 @@
+/* SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause */
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#ifndef __DTS_NORD_IPCC_H
+#define __DTS_NORD_IPCC_H
+
+/* Physical client IDs */
+#define IPCC_MPROC_AOP 0
+#define IPCC_MPROC_TZ 1
+#define IPCC_MPROC_ADSP0 2
+#define IPCC_MPROC_NSP0 3
+#define IPCC_MPROC_NSP1 4
+#define IPCC_MPROC_NSP2 5
+#define IPCC_MPROC_NSP3 6
+#define IPCC_MPROC_APSS_NS0 7
+#define IPCC_MPROC_APSS_NS1 8
+#define IPCC_MPROC_APSS_NS2 9
+#define IPCC_MPROC_APSS_NS3 10
+#define IPCC_MPROC_ADSP1 11
+#define IPCC_MPROC_ADSP2 12
+#define IPCC_MPROC_APSS_NS4 13
+#define IPCC_MPROC_SOCCP 15
+#define IPCC_MPROC_CPUCP 16
+#define IPCC_MPROC_A78CSS 17
+#define IPCC_MPROC_TMESS 18
+#define IPCC_MPROC_SAIL0 19
+#define IPCC_MPROC_SAIL1 20
+#define IPCC_MPROC_SAIL2 21
+#define IPCC_MPROC_SAIL3 22
+#define IPCC_MPROC_SAIL4 23
+#define IPCC_MPROC_SAIL5 24
+
+#define IPCC_COMPUTE_L0_ADSP0 0
+#define IPCC_COMPUTE_L0_NSP0 1
+#define IPCC_COMPUTE_L0_NSP1 2
+#define IPCC_COMPUTE_L0_NSP2 3
+#define IPCC_COMPUTE_L0_NSP3 4
+#define IPCC_COMPUTE_L0_APSS_NS0 5
+#define IPCC_COMPUTE_L0_GPU0 6
+#define IPCC_COMPUTE_L0_APSS_NS1 7
+#define IPCC_COMPUTE_L0_APSS_NS2 8
+#define IPCC_COMPUTE_L0_APSS_NS3 9
+#define IPCC_COMPUTE_L0_CVP 10
+#define IPCC_COMPUTE_L0_ICP0 11
+#define IPCC_COMPUTE_L0_ICP1 12
+#define IPCC_COMPUTE_L0_VPU 13
+#define IPCC_COMPUTE_L0_DPU0 14
+#define IPCC_COMPUTE_L0_DPU1 15
+#define IPCC_COMPUTE_L0_ADSP1 16
+#define IPCC_COMPUTE_L0_ADSP2 17
+#define IPCC_COMPUTE_L0_APSS_NS4 18
+#define IPCC_COMPUTE_L0_SOCCP 20
+#define IPCC_COMPUTE_L0_SAIL0 21
+#define IPCC_COMPUTE_L0_SAIL1 22
+#define IPCC_COMPUTE_L0_SAIL2 23
+#define IPCC_COMPUTE_L0_SAIL3 24
+#define IPCC_COMPUTE_L0_SAIL4 25
+#define IPCC_COMPUTE_L0_SAIL5 26
+#define IPCC_COMPUTE_L0_IPA 27
+#define IPCC_COMPUTE_L0_GPU1 28
+
+#define IPCC_COMPUTE_L1_ADSP0 0
+#define IPCC_COMPUTE_L1_NSP0 1
+#define IPCC_COMPUTE_L1_NSP1 2
+#define IPCC_COMPUTE_L1_NSP2 3
+#define IPCC_COMPUTE_L1_NSP3 4
+#define IPCC_COMPUTE_L1_APSS_NS0 5
+#define IPCC_COMPUTE_L1_GPU0 6
+#define IPCC_COMPUTE_L1_APSS_NS1 7
+#define IPCC_COMPUTE_L1_APSS_NS2 8
+#define IPCC_COMPUTE_L1_APSS_NS3 9
+#define IPCC_COMPUTE_L1_CVP 10
+#define IPCC_COMPUTE_L1_ICP0 11
+#define IPCC_COMPUTE_L1_ICP1 12
+#define IPCC_COMPUTE_L1_VPU 13
+#define IPCC_COMPUTE_L1_DPU0 14
+#define IPCC_COMPUTE_L1_DPU1 15
+#define IPCC_COMPUTE_L1_ADSP1 16
+#define IPCC_COMPUTE_L1_ADSP2 17
+#define IPCC_COMPUTE_L1_APSS_NS4 18
+#define IPCC_COMPUTE_L1_SOCCP 20
+#define IPCC_COMPUTE_L1_SAIL0 21
+#define IPCC_COMPUTE_L1_SAIL1 22
+#define IPCC_COMPUTE_L1_SAIL2 23
+#define IPCC_COMPUTE_L1_SAIL3 24
+#define IPCC_COMPUTE_L1_SAIL4 25
+#define IPCC_COMPUTE_L1_SAIL5 26
+#define IPCC_COMPUTE_L1_IPA 27
+#define IPCC_COMPUTE_L1_GPU1 28
+
+#define IPCC_PERIPH_ADSP0 0
+#define IPCC_PERIPH_NSP0 1
+#define IPCC_PERIPH_NSP1 2
+#define IPCC_PERIPH_NSP2 3
+#define IPCC_PERIPH_NSP3 4
+#define IPCC_PERIPH_APSS_NS0 5
+#define IPCC_PERIPH_PCIE0 6
+#define IPCC_PERIPH_PCIE1 7
+#define IPCC_PERIPH_APSS_NS1 8
+#define IPCC_PERIPH_APSS_NS2 9
+#define IPCC_PERIPH_APSS_NS3 10
+#define IPCC_PERIPH_ADSP1 11
+#define IPCC_PERIPH_ADSP2 12
+#define IPCC_PERIPH_APSS_NS4 13
+
+#define IPCC_FENCE_ADSP0 0
+#define IPCC_FENCE_NSP0 1
+#define IPCC_FENCE_NSP1 2
+#define IPCC_FENCE_NSP2 3
+#define IPCC_FENCE_NSP3 4
+#define IPCC_FENCE_APSS_NS0 5
+#define IPCC_FENCE_GPU0 6
+#define IPCC_FENCE_APSS_NS1 7
+#define IPCC_FENCE_APSS_NS2 8
+#define IPCC_FENCE_APSS_NS3 9
+#define IPCC_FENCE_CVP 10
+#define IPCC_FENCE_ICP0 11
+#define IPCC_FENCE_ICP1 12
+#define IPCC_FENCE_CAM_ENG0 13
+#define IPCC_FENCE_CAM_ENG1 14
+#define IPCC_FENCE_CAM_ENG2 15
+#define IPCC_FENCE_CAM_ENG3 16
+#define IPCC_FENCE_CAM_ENG4 17
+#define IPCC_FENCE_CAM_ENG5 18
+#define IPCC_FENCE_CAM_ENG6 19
+#define IPCC_FENCE_CAM_ENG7 20
+#define IPCC_FENCE_CAM_ENG8 21
+#define IPCC_FENCE_CAM_ENG9 22
+#define IPCC_FENCE_CAM_ENG10 23
+#define IPCC_FENCE_CAM_ENG11 24
+#define IPCC_FENCE_CAM_ENG12 25
+#define IPCC_FENCE_VPU 26
+#define IPCC_FENCE_DPU0 27
+#define IPCC_FENCE_DPU1 28
+#define IPCC_FENCE_ADSP1 29
+#define IPCC_FENCE_ADSP2 30
+#define IPCC_FENCE_APSS_NS4 31
+#define IPCC_FENCE_SOCCP 33
+#define IPCC_FENCE_IPA 34
+#define IPCC_FENCE_GPU1 35
+
+#endif
diff --git a/arch/arm64/boot/dts/qcom/nord.dtsi b/arch/arm64/boot/dts/qcom/nord.dtsi
index e0496fd40c30..03703324f487 100644
--- a/arch/arm64/boot/dts/qcom/nord.dtsi
+++ b/arch/arm64/boot/dts/qcom/nord.dtsi
@@ -4,6 +4,9 @@
*/
#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/mailbox/qcom-ipcc.h>
+
+#include "nord-ipcc.h"
/ {
interrupt-parent = <&intc>;
@@ -685,6 +688,13 @@ qdss_apps_mem: qdss-apps-region@87b00000 {
no-map;
};
+ smem_mem: smem@89b00000 {
+ compatible = "qcom,smem";
+ reg = <0x0 0x89b00000 0x0 0x400000>;
+ no-map;
+ hwlocks = <&tcsr_mutex 3>;
+ };
+
global_sync_mem: global-sync-region@89f00000 {
reg = <0x0 0x89f00000 0x0 0x400000>;
no-map;
@@ -902,6 +912,117 @@ dump_mem: mem-dump-region {
};
};
+ smp2p-adsp {
+ compatible = "qcom,smp2p";
+ interrupts-extended = <&ipcc0 IPCC_MPROC_ADSP0
+ IPCC_MPROC_SIGNAL_SMP2P
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_ADSP0
+ IPCC_MPROC_SIGNAL_SMP2P>;
+ qcom,smem = <443>, <429>;
+ qcom,local-pid = <0>;
+ qcom,remote-pid = <2>;
+
+ smp2p_adsp_out: master-kernel {
+ qcom,entry-name = "master-kernel";
+ #qcom,smem-state-cells = <1>;
+ };
+
+ smp2p_adsp_in: slave-kernel {
+ qcom,entry-name = "slave-kernel";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ smp2p-cdsp0 {
+ compatible = "qcom,smp2p";
+ interrupts-extended = <&ipcc0 IPCC_MPROC_NSP0
+ IPCC_MPROC_SIGNAL_SMP2P
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_NSP0 IPCC_MPROC_SIGNAL_SMP2P>;
+ qcom,smem = <94>, <432>;
+ qcom,local-pid = <0>;
+ qcom,remote-pid = <5>;
+
+ smp2p_cdsp0_out: master-kernel {
+ qcom,entry-name = "master-kernel";
+ #qcom,smem-state-cells = <1>;
+ };
+
+ smp2p_cdsp0_in: slave-kernel {
+ qcom,entry-name = "slave-kernel";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ smp2p-cdsp1 {
+ compatible = "qcom,smp2p";
+ interrupts-extended = <&ipcc0 IPCC_MPROC_NSP1
+ IPCC_MPROC_SIGNAL_SMP2P
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_NSP1 IPCC_MPROC_SIGNAL_SMP2P>;
+ qcom,smem = <617>, <616>;
+ qcom,local-pid = <0>;
+ qcom,remote-pid = <69>;
+
+ smp2p_cdsp1_out: master-kernel {
+ qcom,entry-name = "master-kernel";
+ #qcom,smem-state-cells = <1>;
+ };
+
+ smp2p_cdsp1_in: slave-kernel {
+ qcom,entry-name = "slave-kernel";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ smp2p-cdsp2 {
+ compatible = "qcom,smp2p";
+ interrupts-extended = <&ipcc0 IPCC_MPROC_NSP2
+ IPCC_MPROC_SIGNAL_SMP2P
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_NSP2 IPCC_MPROC_SIGNAL_SMP2P>;
+ qcom,smem = <617>, <616>;
+ qcom,local-pid = <0>;
+ qcom,remote-pid = <133>;
+
+ smp2p_cdsp2_out: master-kernel {
+ qcom,entry-name = "master-kernel";
+ #qcom,smem-state-cells = <1>;
+ };
+
+ smp2p_cdsp2_in: slave-kernel {
+ qcom,entry-name = "slave-kernel";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ smp2p-cdsp3 {
+ compatible = "qcom,smp2p";
+ interrupts-extended = <&ipcc0 IPCC_MPROC_NSP3
+ IPCC_MPROC_SIGNAL_SMP2P
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_NSP3 IPCC_MPROC_SIGNAL_SMP2P>;
+ qcom,smem = <617>, <616>;
+ qcom,local-pid = <0>;
+ qcom,remote-pid = <197>;
+
+ smp2p_cdsp3_out: master-kernel {
+ qcom,entry-name = "master-kernel";
+ #qcom,smem-state-cells = <1>;
+ };
+
+ smp2p_cdsp3_in: slave-kernel {
+ qcom,entry-name = "slave-kernel";
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
soc: soc@0 {
compatible = "simple-bus";
#address-cells = <2>;
@@ -1518,6 +1639,103 @@ tcsr: syscon@1f60000 {
reg = <0x0 0x01f60000 0x0 0xa0000>;
};
+ remoteproc_adsp: remoteproc@4c00000 {
+ compatible = "qcom,nord-adsp-pas";
+ reg = <0x0 0x04c00000 0x0 0x10000>;
+
+ interrupts-extended = <&intc GIC_SPI 159 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "wdog",
+ "fatal",
+ "ready",
+ "handover",
+ "stop-ack",
+ "shutdown-ack";
+
+ memory-region = <&hpass_dsp0_mem>,
+ <&hpass_dsp0_dtb_mem>;
+
+ qcom,qmp = <&aoss_qmp>;
+
+ qcom,smem-states = <&smp2p_adsp_out 0>;
+ qcom,smem-state-names = "stop";
+
+ status = "disabled";
+
+ glink-edge {
+ interrupts-extended = <&ipcc0 IPCC_MPROC_ADSP0
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_ADSP0
+ IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ qcom,remote-pid = <2>;
+ label = "adsp";
+
+ fastrpc {
+ compatible = "qcom,nord-fastrpc",
+ "qcom,kaanapali-fastrpc";
+ qcom,glink-channels = "fastrpcglink-apps-dsp";
+ label = "adsp";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ compute-cb@3 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <3>;
+ iommus = <&apps_smmu_0 0x09e3 0x0000>,
+ <&apps_smmu_0 0x0a43 0x0020>,
+ <&apps_smmu_0 0x0a63 0x0020>,
+ <&apps_smmu_0 0x0a83 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@4 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <4>;
+ iommus = <&apps_smmu_0 0x09e4 0x0000>,
+ <&apps_smmu_0 0x0a44 0x0020>,
+ <&apps_smmu_0 0x0a64 0x0020>,
+ <&apps_smmu_0 0x0a84 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@5 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <5>;
+ iommus = <&apps_smmu_0 0x09e5 0x0000>,
+ <&apps_smmu_0 0x0a45 0x0020>,
+ <&apps_smmu_0 0x0a65 0x0020>,
+ <&apps_smmu_0 0x0a85 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@6 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <6>;
+ iommus = <&apps_smmu_0 0x09e6 0x0000>,
+ <&apps_smmu_0 0x0a46 0x0020>,
+ <&apps_smmu_0 0x0a66 0x0020>,
+ <&apps_smmu_0 0x0a86 0x0000>;
+ dma-coherent;
+ };
+ };
+ };
+ };
+
+ ipcc0: mailbox@9007000 {
+ compatible = "qcom,nord-ipcc",
+ "qcom,ipcc";
+ reg = <0x0 0x09007000 0x0 0x1000>;
+ interrupts = <GIC_SPI 247 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-controller;
+ #interrupt-cells = <3>;
+ #mbox-cells = <2>;
+ };
+
pdc: interrupt-controller@b220000 {
compatible = "qcom,nord-pdc",
"qcom,pdc";
@@ -1637,6 +1855,16 @@ tsens7: thermal-sensor@c233000 {
#thermal-sensor-cells = <1>;
};
+ aoss_qmp: power-management@c300000 {
+ compatible = "qcom,nord-aoss-qmp", "qcom,aoss-qmp";
+ reg = <0x0 0x0c300000 0x0 0x400>;
+ interrupts-extended = <&ipcc0 IPCC_MPROC_AOP
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_AOP IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ #clock-cells = <0>;
+ };
+
tlmm: pinctrl@f100000 {
compatible = "qcom,nord-tlmm";
reg = <0x0 0x0f100000 0x0 0xc0000>;
@@ -2071,6 +2299,662 @@ watchdog@17826000 {
clocks = <&sleep_clk>;
interrupts = <GIC_ESPI 848 IRQ_TYPE_EDGE_RISING>;
};
+
+ remoteproc_cdsp0: remoteproc@1f300000 {
+ compatible = "qcom,nord-cdsp0-pas";
+ reg = <0x0 0x1f300000 0x0 0x10000>;
+
+ interrupts-extended = <&intc GIC_SPI 499 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp0_in 0 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp0_in 1 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp0_in 2 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp0_in 3 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp0_in 7 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "wdog",
+ "fatal",
+ "ready",
+ "handover",
+ "stop-ack",
+ "shutdown-ack";
+
+ memory-region = <&cdsp0_mem>,
+ <&q6_cdsp0_dtb_mem>;
+
+ qcom,qmp = <&aoss_qmp>;
+
+ qcom,smem-states = <&smp2p_cdsp0_out 0>;
+ qcom,smem-state-names = "stop";
+
+ status = "disabled";
+
+ glink-edge {
+ interrupts-extended = <&ipcc0 IPCC_MPROC_NSP0
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_NSP0
+ IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ qcom,remote-pid = <5>;
+ label = "cdsp";
+
+ fastrpc {
+ compatible = "qcom,nord-fastrpc",
+ "qcom,kaanapali-fastrpc";
+ qcom,glink-channels = "fastrpcglink-apps-dsp";
+ label = "cdsp";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ compute-cb@1 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <1>;
+ iommus = <&apps_smmu_2 0x0301 0x0040>,
+ <&apps_smmu_2 0x0341 0x0040>,
+ <&apps_smmu_2 0x0361 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@2 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <2>;
+ iommus = <&apps_smmu_2 0x0302 0x0040>,
+ <&apps_smmu_2 0x0342 0x0040>,
+ <&apps_smmu_2 0x0362 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@3 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <3>;
+ iommus = <&apps_smmu_2 0x0303 0x0040>,
+ <&apps_smmu_2 0x0343 0x0040>,
+ <&apps_smmu_2 0x0363 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@4 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <4>;
+ iommus = <&apps_smmu_2 0x0304 0x0040>,
+ <&apps_smmu_2 0x0344 0x0040>,
+ <&apps_smmu_2 0x0364 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@5 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <5>;
+ iommus = <&apps_smmu_2 0x0305 0x0000>,
+ <&apps_smmu_2 0x0345 0x0020>,
+ <&apps_smmu_2 0x0365 0x0020>;
+ dma-coherent;
+ };
+
+ compute-cb@6 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <6>;
+ iommus = <&apps_smmu_2 0x0306 0x0040>,
+ <&apps_smmu_2 0x0346 0x0040>,
+ <&apps_smmu_2 0x0366 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@7 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <7>;
+ iommus = <&apps_smmu_2 0x0307 0x0040>,
+ <&apps_smmu_2 0x0347 0x0040>,
+ <&apps_smmu_2 0x0367 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@8 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <8>;
+ iommus = <&apps_smmu_2 0x0308 0x0040>,
+ <&apps_smmu_2 0x0348 0x0040>,
+ <&apps_smmu_2 0x0368 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@9 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <9>;
+ iommus = <&apps_smmu_2 0x0309 0x0040>,
+ <&apps_smmu_2 0x0349 0x0040>,
+ <&apps_smmu_2 0x0369 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@10 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <10>;
+ iommus = <&apps_smmu_2 0x030a 0x0040>,
+ <&apps_smmu_2 0x034a 0x0040>,
+ <&apps_smmu_2 0x036a 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@11 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <11>;
+ iommus = <&apps_smmu_2 0x030b 0x0040>,
+ <&apps_smmu_2 0x034b 0x0040>,
+ <&apps_smmu_2 0x036b 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@12 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <12>;
+ iommus = <&apps_smmu_2 0x030c 0x0040>,
+ <&apps_smmu_2 0x034c 0x0040>,
+ <&apps_smmu_2 0x036c 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@13 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <13>;
+ iommus = <&apps_smmu_2 0x030d 0x0000>,
+ <&apps_smmu_2 0x034d 0x0020>,
+ <&apps_smmu_2 0x036d 0x0020>;
+ dma-coherent;
+ };
+ };
+ };
+ };
+
+ remoteproc_cdsp1: remoteproc@1f700000 {
+ compatible = "qcom,nord-cdsp1-pas";
+ reg = <0x0 0x1f700000 0x0 0x10000>;
+
+ interrupts-extended = <&intc GIC_SPI 500 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp1_in 0 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp1_in 1 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp1_in 2 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp1_in 3 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp1_in 7 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "wdog",
+ "fatal",
+ "ready",
+ "handover",
+ "stop-ack",
+ "shutdown-ack";
+
+ memory-region = <&cdsp1_mem>,
+ <&q6_cdsp1_dtb_mem>;
+
+ qcom,qmp = <&aoss_qmp>;
+
+ qcom,smem-states = <&smp2p_cdsp1_out 0>;
+ qcom,smem-state-names = "stop";
+
+ status = "disabled";
+
+ glink-edge {
+ interrupts-extended = <&ipcc0 IPCC_MPROC_NSP1
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_NSP1
+ IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ qcom,remote-pid = <69>;
+ label = "cdsp";
+
+ fastrpc {
+ compatible = "qcom,nord-fastrpc",
+ "qcom,kaanapali-fastrpc";
+ qcom,glink-channels = "fastrpcglink-apps-dsp";
+ label = "cdsp1";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ compute-cb@1 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <1>;
+ iommus = <&apps_smmu_2 0x0701 0x0040>,
+ <&apps_smmu_2 0x0741 0x0040>,
+ <&apps_smmu_2 0x0761 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@2 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <2>;
+ iommus = <&apps_smmu_2 0x0702 0x0040>,
+ <&apps_smmu_2 0x0742 0x0040>,
+ <&apps_smmu_2 0x0762 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@3 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <3>;
+ iommus = <&apps_smmu_2 0x0703 0x0040>,
+ <&apps_smmu_2 0x0743 0x0040>,
+ <&apps_smmu_2 0x0763 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@4 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <4>;
+ iommus = <&apps_smmu_2 0x0704 0x0040>,
+ <&apps_smmu_2 0x0744 0x0040>,
+ <&apps_smmu_2 0x0764 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@5 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <5>;
+ iommus = <&apps_smmu_2 0x0705 0x0000>,
+ <&apps_smmu_2 0x0745 0x0020>,
+ <&apps_smmu_2 0x0765 0x0020>;
+ dma-coherent;
+ };
+
+ compute-cb@6 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <6>;
+ iommus = <&apps_smmu_2 0x0706 0x0040>,
+ <&apps_smmu_2 0x0746 0x0040>,
+ <&apps_smmu_2 0x0766 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@7 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <7>;
+ iommus = <&apps_smmu_2 0x0707 0x0040>,
+ <&apps_smmu_2 0x0747 0x0040>,
+ <&apps_smmu_2 0x0767 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@8 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <8>;
+ iommus = <&apps_smmu_2 0x0708 0x0040>,
+ <&apps_smmu_2 0x0748 0x0040>,
+ <&apps_smmu_2 0x0768 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@9 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <9>;
+ iommus = <&apps_smmu_2 0x0709 0x0040>,
+ <&apps_smmu_2 0x0749 0x0040>,
+ <&apps_smmu_2 0x0769 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@10 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <10>;
+ iommus = <&apps_smmu_2 0x070a 0x0040>,
+ <&apps_smmu_2 0x074a 0x0040>,
+ <&apps_smmu_2 0x076a 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@11 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <11>;
+ iommus = <&apps_smmu_2 0x070b 0x0040>,
+ <&apps_smmu_2 0x074b 0x0040>,
+ <&apps_smmu_2 0x076b 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@12 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <12>;
+ iommus = <&apps_smmu_2 0x070c 0x0040>,
+ <&apps_smmu_2 0x074c 0x0040>,
+ <&apps_smmu_2 0x076c 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@13 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <13>;
+ iommus = <&apps_smmu_2 0x070d 0x0000>,
+ <&apps_smmu_2 0x074d 0x0020>,
+ <&apps_smmu_2 0x076d 0x0020>;
+ dma-coherent;
+ };
+ };
+ };
+ };
+
+ remoteproc_cdsp2: remoteproc@1fb00000 {
+ compatible = "qcom,nord-cdsp2-pas";
+ reg = <0x0 0x1fb00000 0x0 0x10000>;
+
+ interrupts-extended = <&intc GIC_SPI 501 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp2_in 0 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp2_in 1 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp2_in 2 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp2_in 3 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp2_in 7 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "wdog",
+ "fatal",
+ "ready",
+ "handover",
+ "stop-ack",
+ "shutdown-ack";
+
+ memory-region = <&cdsp2_mem>,
+ <&q6_cdsp2_dtb_mem>;
+
+ qcom,qmp = <&aoss_qmp>;
+
+ qcom,smem-states = <&smp2p_cdsp2_out 0>;
+ qcom,smem-state-names = "stop";
+
+ status = "disabled";
+
+ glink-edge {
+ interrupts-extended = <&ipcc0 IPCC_MPROC_NSP2
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_NSP2
+ IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ qcom,remote-pid = <133>;
+ label = "cdsp";
+
+ fastrpc {
+ compatible = "qcom,nord-fastrpc",
+ "qcom,kaanapali-fastrpc";
+ qcom,glink-channels = "fastrpcglink-apps-dsp";
+ label = "cdsp2";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ compute-cb@1 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <1>;
+ iommus = <&apps_smmu_2 0x0b01 0x0040>,
+ <&apps_smmu_2 0x0b41 0x0040>,
+ <&apps_smmu_2 0x0b61 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@2 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <2>;
+ iommus = <&apps_smmu_2 0x0b02 0x0040>,
+ <&apps_smmu_2 0x0b42 0x0040>,
+ <&apps_smmu_2 0x0b62 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@3 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <3>;
+ iommus = <&apps_smmu_2 0x0b03 0x0040>,
+ <&apps_smmu_2 0x0b43 0x0040>,
+ <&apps_smmu_2 0x0b63 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@4 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <4>;
+ iommus = <&apps_smmu_2 0x0b04 0x0040>,
+ <&apps_smmu_2 0x0b44 0x0040>,
+ <&apps_smmu_2 0x0b64 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@5 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <5>;
+ iommus = <&apps_smmu_2 0x0b05 0x0000>,
+ <&apps_smmu_2 0x0b45 0x0020>,
+ <&apps_smmu_2 0x0b65 0x0020>;
+ dma-coherent;
+ };
+
+ compute-cb@6 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <6>;
+ iommus = <&apps_smmu_2 0x0b06 0x0040>,
+ <&apps_smmu_2 0x0b46 0x0040>,
+ <&apps_smmu_2 0x0b66 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@7 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <7>;
+ iommus = <&apps_smmu_2 0x0b07 0x0040>,
+ <&apps_smmu_2 0x0b47 0x0040>,
+ <&apps_smmu_2 0x0b67 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@8 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <8>;
+ iommus = <&apps_smmu_2 0x0b08 0x0040>,
+ <&apps_smmu_2 0x0b48 0x0040>,
+ <&apps_smmu_2 0x0b68 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@9 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <9>;
+ iommus = <&apps_smmu_2 0x0b09 0x0040>,
+ <&apps_smmu_2 0x0b49 0x0040>,
+ <&apps_smmu_2 0x0b69 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@10 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <10>;
+ iommus = <&apps_smmu_2 0x0b0a 0x0040>,
+ <&apps_smmu_2 0x0b4a 0x0040>,
+ <&apps_smmu_2 0x0b6a 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@11 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <11>;
+ iommus = <&apps_smmu_2 0x0b0b 0x0040>,
+ <&apps_smmu_2 0x0b4b 0x0040>,
+ <&apps_smmu_2 0x0b6b 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@12 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <12>;
+ iommus = <&apps_smmu_2 0x0b0c 0x0040>,
+ <&apps_smmu_2 0x0b4c 0x0040>,
+ <&apps_smmu_2 0x0b6c 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@13 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <13>;
+ iommus = <&apps_smmu_2 0x0b0d 0x0000>,
+ <&apps_smmu_2 0x0b4d 0x0020>,
+ <&apps_smmu_2 0x0b6d 0x0020>;
+ dma-coherent;
+ };
+ };
+ };
+ };
+
+ remoteproc_cdsp3: remoteproc@1ff00000 {
+ compatible = "qcom,nord-cdsp3-pas";
+ reg = <0x0 0x1ff00000 0x0 0x10000>;
+
+ interrupts-extended = <&intc GIC_SPI 505 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp3_in 0 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp3_in 1 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp3_in 2 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp3_in 3 IRQ_TYPE_EDGE_RISING>,
+ <&smp2p_cdsp3_in 7 IRQ_TYPE_EDGE_RISING>;
+ interrupt-names = "wdog",
+ "fatal",
+ "ready",
+ "handover",
+ "stop-ack",
+ "shutdown-ack";
+
+ memory-region = <&cdsp3_mem>,
+ <&q6_cdsp3_dtb_mem>;
+
+ qcom,qmp = <&aoss_qmp>;
+
+ qcom,smem-states = <&smp2p_cdsp3_out 0>;
+ qcom,smem-state-names = "stop";
+
+ status = "disabled";
+
+ glink-edge {
+ interrupts-extended = <&ipcc0 IPCC_MPROC_NSP3
+ IPCC_MPROC_SIGNAL_GLINK_QMP
+ IRQ_TYPE_EDGE_RISING>;
+ mboxes = <&ipcc0 IPCC_MPROC_NSP3
+ IPCC_MPROC_SIGNAL_GLINK_QMP>;
+ qcom,remote-pid = <197>;
+ label = "cdsp";
+
+ fastrpc {
+ compatible = "qcom,nord-fastrpc",
+ "qcom,kaanapali-fastrpc";
+ qcom,glink-channels = "fastrpcglink-apps-dsp";
+ label = "cdsp3";
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ compute-cb@1 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <1>;
+ iommus = <&apps_smmu_2 0x0f01 0x0040>,
+ <&apps_smmu_2 0x0f41 0x0040>,
+ <&apps_smmu_2 0x0f61 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@2 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <2>;
+ iommus = <&apps_smmu_2 0x0f02 0x0040>,
+ <&apps_smmu_2 0x0f42 0x0040>,
+ <&apps_smmu_2 0x0f62 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@3 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <3>;
+ iommus = <&apps_smmu_2 0x0f03 0x0040>,
+ <&apps_smmu_2 0x0f43 0x0040>,
+ <&apps_smmu_2 0x0f63 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@4 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <4>;
+ iommus = <&apps_smmu_2 0x0f04 0x0040>,
+ <&apps_smmu_2 0x0f44 0x0040>,
+ <&apps_smmu_2 0x0f64 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@5 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <5>;
+ iommus = <&apps_smmu_2 0x0f05 0x0000>,
+ <&apps_smmu_2 0x0f45 0x0020>,
+ <&apps_smmu_2 0x0f65 0x0020>;
+ dma-coherent;
+ };
+
+ compute-cb@6 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <6>;
+ iommus = <&apps_smmu_2 0x0f06 0x0040>,
+ <&apps_smmu_2 0x0f46 0x0040>,
+ <&apps_smmu_2 0x0f66 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@7 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <7>;
+ iommus = <&apps_smmu_2 0x0f07 0x0040>,
+ <&apps_smmu_2 0x0f47 0x0040>,
+ <&apps_smmu_2 0x0f67 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@8 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <8>;
+ iommus = <&apps_smmu_2 0x0f08 0x0040>,
+ <&apps_smmu_2 0x0f48 0x0040>,
+ <&apps_smmu_2 0x0f68 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@9 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <9>;
+ iommus = <&apps_smmu_2 0x0f09 0x0040>,
+ <&apps_smmu_2 0x0f49 0x0040>,
+ <&apps_smmu_2 0x0f69 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@10 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <10>;
+ iommus = <&apps_smmu_2 0x0f0a 0x0040>,
+ <&apps_smmu_2 0x0f4a 0x0040>,
+ <&apps_smmu_2 0x0f6a 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@11 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <11>;
+ iommus = <&apps_smmu_2 0x0f0b 0x0040>,
+ <&apps_smmu_2 0x0f4b 0x0040>,
+ <&apps_smmu_2 0x0f6b 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@12 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <12>;
+ iommus = <&apps_smmu_2 0x0f0c 0x0040>,
+ <&apps_smmu_2 0x0f4c 0x0040>,
+ <&apps_smmu_2 0x0f6c 0x0000>;
+ dma-coherent;
+ };
+
+ compute-cb@13 {
+ compatible = "qcom,fastrpc-compute-cb";
+ reg = <13>;
+ iommus = <&apps_smmu_2 0x0f0d 0x0000>,
+ <&apps_smmu_2 0x0f4d 0x0020>,
+ <&apps_smmu_2 0x0f6d 0x0020>;
+ dma-coherent;
+ };
+ };
+ };
+ };
};
arch_timer: timer {
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 2/6] arm64: dts: qcom: nord-rrd: Enable ADSP and CDSPs
2026-08-31 3:20 [PATCH 0/6] arm64: dts: qcom: nord: Add remoteproc and PMIC support Shawn Guo
2026-08-31 3:20 ` [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs Shawn Guo
@ 2026-08-31 3:20 ` Shawn Guo
2026-08-31 8:17 ` Abel Vesa
2026-08-31 3:21 ` [PATCH 3/6] arm64: dts: qcom: nord: Add the SPMI PMIC arbiter Shawn Guo
` (3 subsequent siblings)
5 siblings, 1 reply; 23+ messages in thread
From: Shawn Guo @ 2026-08-31 3:20 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel, Shawn Guo
Enable ADSP (HPASS DSP) and CDSPs remoteproc on the Nord RRD board.
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/nord-rrd.dts | 35 +++++++++++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/nord-rrd.dts b/arch/arm64/boot/dts/qcom/nord-rrd.dts
index a2a19f2304fa..c25113676008 100644
--- a/arch/arm64/boot/dts/qcom/nord-rrd.dts
+++ b/arch/arm64/boot/dts/qcom/nord-rrd.dts
@@ -517,6 +517,41 @@ &qupv3_2 {
status = "okay";
};
+&remoteproc_adsp {
+ firmware-name = "qcom/nord/adsp.mbn",
+ "qcom/nord/adsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp0 {
+ firmware-name = "qcom/nord/cdsp.mbn",
+ "qcom/nord/cdsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp1 {
+ firmware-name = "qcom/nord/cdsp1.mbn",
+ "qcom/nord/cdsp1_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp2 {
+ firmware-name = "qcom/nord/cdsp2.mbn",
+ "qcom/nord/cdsp2_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp3 {
+ firmware-name = "qcom/nord/cdsp3.mbn",
+ "qcom/nord/cdsp3_dtbs.elf";
+
+ status = "okay";
+};
+
&spi16 {
status = "okay";
};
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 3/6] arm64: dts: qcom: nord: Add the SPMI PMIC arbiter
2026-08-31 3:20 [PATCH 0/6] arm64: dts: qcom: nord: Add remoteproc and PMIC support Shawn Guo
2026-08-31 3:20 ` [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs Shawn Guo
2026-08-31 3:20 ` [PATCH 2/6] arm64: dts: qcom: nord-rrd: Enable " Shawn Guo
@ 2026-08-31 3:21 ` Shawn Guo
2026-08-31 8:16 ` Abel Vesa
2026-09-02 13:57 ` Konrad Dybcio
2026-08-31 3:21 ` [PATCH 4/6] arm64: dts: qcom: nord: Add PMAU0102 and PMM8650AU PMIC support Shawn Guo
` (2 subsequent siblings)
5 siblings, 2 replies; 23+ messages in thread
From: Shawn Guo @ 2026-08-31 3:21 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski,
Shawn Guo
From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Add the SPMI PMIC Arbiter node for the Nord platforms.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/nord.dtsi | 22 ++++++++++++++++++++++
1 file changed, 22 insertions(+)
diff --git a/arch/arm64/boot/dts/qcom/nord.dtsi b/arch/arm64/boot/dts/qcom/nord.dtsi
index 03703324f487..83760341456b 100644
--- a/arch/arm64/boot/dts/qcom/nord.dtsi
+++ b/arch/arm64/boot/dts/qcom/nord.dtsi
@@ -1865,6 +1865,28 @@ IPCC_MPROC_SIGNAL_GLINK_QMP
#clock-cells = <0>;
};
+ spmi_bus: spmi@c400000 {
+ compatible = "qcom,spmi-pmic-arb";
+ reg = <0x0 0x0c400000 0x0 0x3000>,
+ <0x0 0x0c500000 0x0 0x400000>,
+ <0x0 0x0c440000 0x0 0x80000>,
+ <0x0 0x0c4c0000 0x0 0x10000>,
+ <0x0 0x0c42d000 0x0 0x4000>;
+ reg-names = "core",
+ "chnls",
+ "obsrvr",
+ "intr",
+ "cnfg";
+ interrupts-extended = <&pdc 1 IRQ_TYPE_LEVEL_HIGH>;
+ interrupt-names = "periph_irq";
+ interrupt-controller;
+ #interrupt-cells = <4>;
+ #address-cells = <2>;
+ #size-cells = <0>;
+ qcom,channel = <0>;
+ qcom,ee = <0>;
+ };
+
tlmm: pinctrl@f100000 {
compatible = "qcom,nord-tlmm";
reg = <0x0 0x0f100000 0x0 0xc0000>;
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 4/6] arm64: dts: qcom: nord: Add PMAU0102 and PMM8650AU PMIC support
2026-08-31 3:20 [PATCH 0/6] arm64: dts: qcom: nord: Add remoteproc and PMIC support Shawn Guo
` (2 preceding siblings ...)
2026-08-31 3:21 ` [PATCH 3/6] arm64: dts: qcom: nord: Add the SPMI PMIC arbiter Shawn Guo
@ 2026-08-31 3:21 ` Shawn Guo
2026-09-02 14:17 ` Konrad Dybcio
2026-08-31 3:21 ` [PATCH 5/6] dt-bindings: arm: qcom: Document Nord Ride Embedded board Shawn Guo
2026-08-31 3:21 ` [PATCH 6/6] arm64: dts: qcom: Add initial support for " Shawn Guo
5 siblings, 1 reply; 23+ messages in thread
From: Shawn Guo @ 2026-08-31 3:21 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel, Shawn Guo
From: Dhruvin Rajpura <drajpura@qti.qualcomm.com>
The Nord platform is supplied by two families of PMICs on the SPMI bus:
eight PMAU0102 devices on USIDs 4 to 11, and one PMM8650AU on USID 0.
Add one dtsi per PMIC type, following the established one-file-per-PMIC
convention, and include both of them from nord-rrd.dts.
The eight PMAU0102 instances are labelled pmau0102_e through pmau0102_l
after their board designators. Each one provides a GPIO controller, an
ADC, and an MBG (Master Bandgap) temperature monitor that reads its die
temperature through a DIE_TEMP ADC channel. The monitors use the
qcom,pmau0102-mbg-tm compatible with qcom,pm8775-mbg-tm as fallback, and
each is hooked up to a thermal zone.
PMM8650AU is the same die as PMM8654AU, so pmm8650au_a reuses the
existing qcom,pmm8654au and qcom,pmm8654au-gpio compatibles while the
file is named after the part actually populated on the board. It provides
PON with a power key, an RTC, and a GPIO controller. The resin
is described but left disabled, for boards that wire it up to enable.
Signed-off-by: Dhruvin Rajpura <drajpura@qti.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/nord-rrd.dts | 2 +
arch/arm64/boot/dts/qcom/pmau0102-nord.dtsi | 543 +++++++++++++++++++
arch/arm64/boot/dts/qcom/pmm8650au-nord.dtsi | 54 ++
3 files changed, 599 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/pmau0102-nord.dtsi
create mode 100644 arch/arm64/boot/dts/qcom/pmm8650au-nord.dtsi
diff --git a/arch/arm64/boot/dts/qcom/nord-rrd.dts b/arch/arm64/boot/dts/qcom/nord-rrd.dts
index c25113676008..c4891ff71340 100644
--- a/arch/arm64/boot/dts/qcom/nord-rrd.dts
+++ b/arch/arm64/boot/dts/qcom/nord-rrd.dts
@@ -9,6 +9,8 @@
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "nord-embedded.dtsi"
+#include "pmau0102-nord.dtsi"
+#include "pmm8650au-nord.dtsi"
/ {
model = "Qualcomm Technologies, Inc. IQ10 RRD";
diff --git a/arch/arm64/boot/dts/qcom/pmau0102-nord.dtsi b/arch/arm64/boot/dts/qcom/pmau0102-nord.dtsi
new file mode 100644
index 000000000000..47ea145f4abb
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/pmau0102-nord.dtsi
@@ -0,0 +1,543 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/spmi/spmi.h>
+
+#include "qcom-adc5-gen3.h"
+
+&spmi_bus {
+ pmau0102_e: pmic@4 {
+ compatible = "qcom,pmau0102", "qcom,spmi-pmic";
+ reg = <0x4 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmau0102_e_mbg_temp: temperature-sensor@d700 {
+ compatible = "qcom,pmau0102-mbg-tm", "qcom,pm8775-mbg-tm";
+ reg = <0xd700>;
+ interrupts-extended = <&spmi_bus 0x4 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+ io-channels = <&pmau0102_e_adc ADC5_GEN3_DIE_TEMP(4)>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmau0102_e_adc: adc@7200 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x7200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts-extended = <&spmi_bus 0x4 0x72 0x1 IRQ_TYPE_EDGE_RISING>;
+ #io-channel-cells = <1>;
+
+ channel@400 {
+ reg = <ADC5_GEN3_REF_GND(4)>;
+ label = "pmau0102_e_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@401 {
+ reg = <ADC5_GEN3_1P25VREF(4)>;
+ label = "pmau0102_e_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@403 {
+ reg = <ADC5_GEN3_DIE_TEMP(4)>;
+ label = "pmau0102_e_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pmau0102_e_gpios: gpio@8800 {
+ compatible = "qcom,pmau0102-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmau0102_e_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ pmau0102_f: pmic@5 {
+ compatible = "qcom,pmau0102", "qcom,spmi-pmic";
+ reg = <0x5 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmau0102_f_mbg_temp: temperature-sensor@d700 {
+ compatible = "qcom,pmau0102-mbg-tm", "qcom,pm8775-mbg-tm";
+ reg = <0xd700>;
+ interrupts-extended = <&spmi_bus 0x5 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+ io-channels = <&pmau0102_f_adc ADC5_GEN3_DIE_TEMP(5)>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmau0102_f_adc: adc@7200 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x7200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts-extended = <&spmi_bus 0x5 0x72 0x1 IRQ_TYPE_EDGE_RISING>;
+ #io-channel-cells = <1>;
+
+ channel@500 {
+ reg = <ADC5_GEN3_REF_GND(5)>;
+ label = "pmau0102_f_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@501 {
+ reg = <ADC5_GEN3_1P25VREF(5)>;
+ label = "pmau0102_f_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@503 {
+ reg = <ADC5_GEN3_DIE_TEMP(5)>;
+ label = "pmau0102_f_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pmau0102_f_gpios: gpio@8800 {
+ compatible = "qcom,pmau0102-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmau0102_f_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ pmau0102_g: pmic@6 {
+ compatible = "qcom,pmau0102", "qcom,spmi-pmic";
+ reg = <0x6 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmau0102_g_mbg_temp: temperature-sensor@d700 {
+ compatible = "qcom,pmau0102-mbg-tm", "qcom,pm8775-mbg-tm";
+ reg = <0xd700>;
+ interrupts-extended = <&spmi_bus 0x6 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+ io-channels = <&pmau0102_g_adc ADC5_GEN3_DIE_TEMP(6)>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmau0102_g_adc: adc@7200 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x7200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts-extended = <&spmi_bus 0x6 0x72 0x1 IRQ_TYPE_EDGE_RISING>;
+ #io-channel-cells = <1>;
+
+ channel@600 {
+ reg = <ADC5_GEN3_REF_GND(6)>;
+ label = "pmau0102_g_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@601 {
+ reg = <ADC5_GEN3_1P25VREF(6)>;
+ label = "pmau0102_g_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@603 {
+ reg = <ADC5_GEN3_DIE_TEMP(6)>;
+ label = "pmau0102_g_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pmau0102_g_gpios: gpio@8800 {
+ compatible = "qcom,pmau0102-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmau0102_g_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ pmau0102_h: pmic@7 {
+ compatible = "qcom,pmau0102", "qcom,spmi-pmic";
+ reg = <0x7 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmau0102_h_mbg_temp: temperature-sensor@d700 {
+ compatible = "qcom,pmau0102-mbg-tm", "qcom,pm8775-mbg-tm";
+ reg = <0xd700>;
+ interrupts-extended = <&spmi_bus 0x7 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+ io-channels = <&pmau0102_h_adc ADC5_GEN3_DIE_TEMP(7)>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmau0102_h_adc: adc@7200 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x7200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts-extended = <&spmi_bus 0x7 0x72 0x1 IRQ_TYPE_EDGE_RISING>;
+ #io-channel-cells = <1>;
+
+ channel@700 {
+ reg = <ADC5_GEN3_REF_GND(7)>;
+ label = "pmau0102_h_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@701 {
+ reg = <ADC5_GEN3_1P25VREF(7)>;
+ label = "pmau0102_h_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@703 {
+ reg = <ADC5_GEN3_DIE_TEMP(7)>;
+ label = "pmau0102_h_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pmau0102_h_gpios: gpio@8800 {
+ compatible = "qcom,pmau0102-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmau0102_h_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ pmau0102_i: pmic@8 {
+ compatible = "qcom,pmau0102", "qcom,spmi-pmic";
+ reg = <0x8 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmau0102_i_mbg_temp: temperature-sensor@d700 {
+ compatible = "qcom,pmau0102-mbg-tm", "qcom,pm8775-mbg-tm";
+ reg = <0xd700>;
+ interrupts-extended = <&spmi_bus 0x8 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+ io-channels = <&pmau0102_i_adc ADC5_GEN3_DIE_TEMP(8)>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmau0102_i_adc: adc@7200 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x7200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts-extended = <&spmi_bus 0x8 0x72 0x1 IRQ_TYPE_EDGE_RISING>;
+ #io-channel-cells = <1>;
+
+ channel@800 {
+ reg = <ADC5_GEN3_REF_GND(8)>;
+ label = "pmau0102_i_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@801 {
+ reg = <ADC5_GEN3_1P25VREF(8)>;
+ label = "pmau0102_i_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@803 {
+ reg = <ADC5_GEN3_DIE_TEMP(8)>;
+ label = "pmau0102_i_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pmau0102_i_gpios: gpio@8800 {
+ compatible = "qcom,pmau0102-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmau0102_i_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ pmau0102_j: pmic@9 {
+ compatible = "qcom,pmau0102", "qcom,spmi-pmic";
+ reg = <0x9 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmau0102_j_mbg_temp: temperature-sensor@d700 {
+ compatible = "qcom,pmau0102-mbg-tm", "qcom,pm8775-mbg-tm";
+ reg = <0xd700>;
+ interrupts-extended = <&spmi_bus 0x9 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+ io-channels = <&pmau0102_j_adc ADC5_GEN3_DIE_TEMP(9)>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmau0102_j_adc: adc@7200 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x7200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts-extended = <&spmi_bus 0x9 0x72 0x1 IRQ_TYPE_EDGE_RISING>;
+ #io-channel-cells = <1>;
+
+ channel@900 {
+ reg = <ADC5_GEN3_REF_GND(9)>;
+ label = "pmau0102_j_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@901 {
+ reg = <ADC5_GEN3_1P25VREF(9)>;
+ label = "pmau0102_j_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@903 {
+ reg = <ADC5_GEN3_DIE_TEMP(9)>;
+ label = "pmau0102_j_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pmau0102_j_gpios: gpio@8800 {
+ compatible = "qcom,pmau0102-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmau0102_j_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ pmau0102_k: pmic@a {
+ compatible = "qcom,pmau0102", "qcom,spmi-pmic";
+ reg = <0xa SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmau0102_k_mbg_temp: temperature-sensor@d700 {
+ compatible = "qcom,pmau0102-mbg-tm", "qcom,pm8775-mbg-tm";
+ reg = <0xd700>;
+ interrupts-extended = <&spmi_bus 0xa 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+ io-channels = <&pmau0102_k_adc ADC5_GEN3_DIE_TEMP(0xa)>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmau0102_k_adc: adc@7200 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x7200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts-extended = <&spmi_bus 0xa 0x72 0x1 IRQ_TYPE_EDGE_RISING>;
+ #io-channel-cells = <1>;
+
+ channel@a00 {
+ reg = <ADC5_GEN3_REF_GND(0xa)>;
+ label = "pmau0102_k_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@a01 {
+ reg = <ADC5_GEN3_1P25VREF(0xa)>;
+ label = "pmau0102_k_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@a03 {
+ reg = <ADC5_GEN3_DIE_TEMP(0xa)>;
+ label = "pmau0102_k_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pmau0102_k_gpios: gpio@8800 {
+ compatible = "qcom,pmau0102-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmau0102_k_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+
+ pmau0102_l: pmic@b {
+ compatible = "qcom,pmau0102", "qcom,spmi-pmic";
+ reg = <0xb SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmau0102_l_mbg_temp: temperature-sensor@d700 {
+ compatible = "qcom,pmau0102-mbg-tm", "qcom,pm8775-mbg-tm";
+ reg = <0xd700>;
+ interrupts-extended = <&spmi_bus 0xb 0xd7 0x0 IRQ_TYPE_EDGE_RISING>;
+ io-channels = <&pmau0102_l_adc ADC5_GEN3_DIE_TEMP(0xb)>;
+ io-channel-names = "thermal";
+ #thermal-sensor-cells = <0>;
+ };
+
+ pmau0102_l_adc: adc@7200 {
+ compatible = "qcom,spmi-adc5-gen3";
+ reg = <0x7200>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+ interrupts-extended = <&spmi_bus 0xb 0x72 0x1 IRQ_TYPE_EDGE_RISING>;
+ #io-channel-cells = <1>;
+
+ channel@b00 {
+ reg = <ADC5_GEN3_REF_GND(0xb)>;
+ label = "pmau0102_l_ref_gnd";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@b01 {
+ reg = <ADC5_GEN3_1P25VREF(0xb)>;
+ label = "pmau0102_l_vref_1p25";
+ qcom,pre-scaling = <1 1>;
+ };
+
+ channel@b03 {
+ reg = <ADC5_GEN3_DIE_TEMP(0xb)>;
+ label = "pmau0102_l_die_temp";
+ qcom,pre-scaling = <1 1>;
+ };
+ };
+
+ pmau0102_l_gpios: gpio@8800 {
+ compatible = "qcom,pmau0102-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmau0102_l_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+};
+
+/ {
+ thermal-zones {
+ pmau0102_e_thermal: pmau0102-e-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&pmau0102_e_mbg_temp>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmau0102_f_thermal: pmau0102-f-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&pmau0102_f_mbg_temp>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmau0102_g_thermal: pmau0102-g-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&pmau0102_g_mbg_temp>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmau0102_h_thermal: pmau0102-h-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&pmau0102_h_mbg_temp>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmau0102_i_thermal: pmau0102-i-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&pmau0102_i_mbg_temp>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmau0102_j_thermal: pmau0102-j-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&pmau0102_j_mbg_temp>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmau0102_k_thermal: pmau0102-k-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&pmau0102_k_mbg_temp>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+
+ pmau0102_l_thermal: pmau0102-l-thermal {
+ polling-delay-passive = <100>;
+ thermal-sensors = <&pmau0102_l_mbg_temp>;
+
+ trips {
+ trip0 {
+ temperature = <115000>;
+ hysteresis = <5000>;
+ type = "passive";
+ };
+ };
+ };
+ };
+};
diff --git a/arch/arm64/boot/dts/qcom/pmm8650au-nord.dtsi b/arch/arm64/boot/dts/qcom/pmm8650au-nord.dtsi
new file mode 100644
index 000000000000..960ed81e74e0
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/pmm8650au-nord.dtsi
@@ -0,0 +1,54 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+#include <dt-bindings/input/linux-event-codes.h>
+#include <dt-bindings/interrupt-controller/irq.h>
+#include <dt-bindings/spmi/spmi.h>
+
+&spmi_bus {
+ pmm8650au_a: pmic@0 {
+ compatible = "qcom,pmm8654au", "qcom,spmi-pmic";
+ reg = <0x0 SPMI_USID>;
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ pmm8650au_a_pon: pon@1200 {
+ compatible = "qcom,pmk8350-pon";
+ reg = <0x1200>, <0x800>;
+ reg-names = "hlos", "pbs";
+
+ pmm8650au_a_pon_pwrkey: pwrkey {
+ compatible = "qcom,pmk8350-pwrkey";
+ interrupts-extended = <&spmi_bus 0x0 0x12 0x7 IRQ_TYPE_EDGE_BOTH>;
+ linux,code = <KEY_POWER>;
+ debounce = <15625>;
+ };
+
+ pmm8650au_a_pon_resin: resin {
+ compatible = "qcom,pmk8350-resin";
+ interrupts-extended = <&spmi_bus 0x0 0x12 0x6 IRQ_TYPE_EDGE_BOTH>;
+ debounce = <15625>;
+ status = "disabled";
+ };
+ };
+
+ pmm8650au_a_rtc: rtc@6100 {
+ compatible = "qcom,pmk8350-rtc";
+ reg = <0x6100>, <0x6200>;
+ reg-names = "rtc", "alarm";
+ interrupts-extended = <&spmi_bus 0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>;
+ };
+
+ pmm8650au_a_gpios: gpio@8800 {
+ compatible = "qcom,pmm8654au-gpio", "qcom,spmi-gpio";
+ reg = <0x8800>;
+ gpio-controller;
+ gpio-ranges = <&pmm8650au_a_gpios 0 0 12>;
+ #gpio-cells = <2>;
+ interrupt-controller;
+ #interrupt-cells = <2>;
+ };
+ };
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 5/6] dt-bindings: arm: qcom: Document Nord Ride Embedded board
2026-08-31 3:20 [PATCH 0/6] arm64: dts: qcom: nord: Add remoteproc and PMIC support Shawn Guo
` (3 preceding siblings ...)
2026-08-31 3:21 ` [PATCH 4/6] arm64: dts: qcom: nord: Add PMAU0102 and PMM8650AU PMIC support Shawn Guo
@ 2026-08-31 3:21 ` Shawn Guo
2026-09-01 8:31 ` Krzysztof Kozlowski
2026-08-31 3:21 ` [PATCH 6/6] arm64: dts: qcom: Add initial support for " Shawn Guo
5 siblings, 1 reply; 23+ messages in thread
From: Shawn Guo @ 2026-08-31 3:21 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski,
Shawn Guo
From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Add qcom,sa8797p-ride-embedded to the list of compatibles for boards
based on the Nord SoC. This is the Embedded variant of the automotive
SA8797P Ride board.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.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 198314ddaa84..d2f17bc36f8a 100644
--- a/Documentation/devicetree/bindings/arm/qcom.yaml
+++ b/Documentation/devicetree/bindings/arm/qcom.yaml
@@ -406,6 +406,7 @@ properties:
- enum:
- qcom,iq10-rrd
- qcom,sa8797p-ride
+ - qcom,sa8797p-ride-embedded
- const: qcom,nord
- description: Qualcomm Technologies, Inc. Robotics RB1
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* [PATCH 6/6] arm64: dts: qcom: Add initial support for Nord Ride Embedded board
2026-08-31 3:20 [PATCH 0/6] arm64: dts: qcom: nord: Add remoteproc and PMIC support Shawn Guo
` (4 preceding siblings ...)
2026-08-31 3:21 ` [PATCH 5/6] dt-bindings: arm: qcom: Document Nord Ride Embedded board Shawn Guo
@ 2026-08-31 3:21 ` Shawn Guo
2026-08-31 8:16 ` Abel Vesa
2026-09-02 14:00 ` Konrad Dybcio
5 siblings, 2 replies; 23+ messages in thread
From: Shawn Guo @ 2026-08-31 3:21 UTC (permalink / raw)
To: Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski,
Shawn Guo
From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Add the initial device tree for the Nord Ride Embedded board, the
non-SCMI variant of the SA8797P automotive Ride board.
Enable the debug UART, UFS storage, the ADSP and CDSP remote processors,
and describe the board regulators supplied by the on-board PMICs.
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/Makefile | 1 +
.../boot/dts/qcom/nord-ride-embedded.dts | 590 ++++++++++++++++++
2 files changed, 591 insertions(+)
create mode 100644 arch/arm64/boot/dts/qcom/nord-ride-embedded.dts
diff --git a/arch/arm64/boot/dts/qcom/Makefile b/arch/arm64/boot/dts/qcom/Makefile
index 38d326644146..5d7ae3a817ce 100644
--- a/arch/arm64/boot/dts/qcom/Makefile
+++ b/arch/arm64/boot/dts/qcom/Makefile
@@ -161,6 +161,7 @@ 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) += nord-ride-embedded.dtb
dtb-$(CONFIG_ARCH_QCOM) += nord-rrd.dtb
dtb-$(CONFIG_ARCH_QCOM) += purwa-iot-evk.dtb
diff --git a/arch/arm64/boot/dts/qcom/nord-ride-embedded.dts b/arch/arm64/boot/dts/qcom/nord-ride-embedded.dts
new file mode 100644
index 000000000000..8e5a43c18de9
--- /dev/null
+++ b/arch/arm64/boot/dts/qcom/nord-ride-embedded.dts
@@ -0,0 +1,590 @@
+// SPDX-License-Identifier: BSD-3-Clause
+/*
+ * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
+ */
+
+/dts-v1/;
+
+#include <dt-bindings/gpio/gpio.h>
+#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
+
+#include "nord-embedded.dtsi"
+#include "pmau0102-nord.dtsi"
+#include "pmm8650au-nord.dtsi"
+
+/ {
+ model = "Qualcomm Technologies, Inc. SA8797P Ride Embedded";
+ compatible = "qcom,sa8797p-ride-embedded", "qcom,nord";
+
+ aliases {
+ serial0 = &uart15;
+ };
+
+ chosen {
+ stdout-path = "serial0:115200n8";
+ };
+
+ clocks {
+ xo_board: 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>;
+ };
+
+ bi_tcxo_div2: bi-tcxo-div2-clk {
+ compatible = "fixed-factor-clock";
+ #clock-cells = <0>;
+ clocks = <&rpmhcc RPMH_CXO_CLK>;
+ clock-mult = <1>;
+ clock-div = <2>;
+ };
+
+ bi_tcxo_ao_div2: bi-tcxo-ao-div2-clk {
+ compatible = "fixed-factor-clock";
+ #clock-cells = <0>;
+ clocks = <&rpmhcc RPMH_CXO_CLK_A>;
+ clock-mult = <1>;
+ clock-div = <2>;
+ };
+ };
+
+ ufs_vccq2: regulator-ufs-vccq2 {
+ compatible = "regulator-fixed";
+ regulator-name = "ufs_vccq2";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-always-on;
+ };
+
+ ufs_vdd_hba: regulator-ufs-vdd-hba {
+ compatible = "regulator-fixed";
+ regulator-name = "ufs_vdd_hba";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-always-on;
+ };
+};
+
+&apps_rsc {
+ regulators-0 {
+ compatible = "qcom,pmm8654au-rpmh-regulators";
+ qcom,pmic-id = "A_E0";
+
+ vreg_l4a_1p2: ldo4 {
+ regulator-name = "vreg_l4a_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l6a_1p2: ldo6 {
+ regulator-name = "vreg_l6a_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l7a_1p2: ldo7 {
+ regulator-name = "vreg_l7a_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l8a_1p8: ldo8 {
+ regulator-name = "vreg_l8a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s1a_vdd2h_l: smps1 {
+ regulator-name = "vreg_s1a_vdd2h_l";
+ regulator-min-microvolt = <900000>;
+ regulator-max-microvolt = <1100000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vreg_s3a_1p8: smps3 {
+ regulator-name = "vreg_s3a_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vreg_s5a_mv: smps5 {
+ regulator-name = "vreg_s5a_mv";
+ regulator-min-microvolt = <1328000>;
+ regulator-max-microvolt = <1370000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vreg_s6a_vddq_l: smps6 {
+ regulator-name = "vreg_s6a_vddq_l";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <570000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s8a_vdda_ebi: smps8 {
+ regulator-name = "vreg_s8a_vdda_ebi";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+ };
+
+ regulators-1 {
+ compatible = "qcom,pmau0102-rpmh-regulators";
+ qcom,pmic-id = "E_E0";
+
+ vreg_l1e_0p9: ldo1 {
+ regulator-name = "vreg_l1e_0p9";
+ regulator-min-microvolt = <936000>;
+ regulator-max-microvolt = <936000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2e_0p9: ldo2 {
+ regulator-name = "vreg_l2e_0p9";
+ regulator-min-microvolt = <936000>;
+ regulator-max-microvolt = <936000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3e_1p8: ldo3 {
+ regulator-name = "vreg_l3e_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s1e_nsp3: smps1 {
+ regulator-name = "vreg_s1e_nsp3";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s7e_mxa: smps7 {
+ regulator-name = "vreg_s7e_mxa";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+ };
+
+ regulators-2 {
+ compatible = "qcom,pmau0102-rpmh-regulators";
+ qcom,pmic-id = "F_E0";
+
+ vreg_l1f_vdd2l: ldo1 {
+ regulator-name = "vreg_l1f_vdd2l";
+ regulator-min-microvolt = <904000>;
+ regulator-max-microvolt = <904000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3f_vdd1: ldo3 {
+ regulator-name = "vreg_l3f_vdd1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s1f_nsp1: smps1 {
+ regulator-name = "vreg_s1f_nsp1";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s7f_lv_sub: smps7 {
+ regulator-name = "vreg_s7f_lv_sub";
+ regulator-min-microvolt = <1036000>;
+ regulator-max-microvolt = <1136000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+
+ vreg_s8f_vddq_h: smps8 {
+ regulator-name = "vreg_s8f_vddq_h";
+ regulator-min-microvolt = <500000>;
+ regulator-max-microvolt = <570000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ regulators-3 {
+ compatible = "qcom,pmau0102-rpmh-regulators";
+ qcom,pmic-id = "G_E0";
+
+ vreg_l2g_0p7: ldo2 {
+ regulator-name = "vreg_l2g_0p7";
+ regulator-min-microvolt = <752000>;
+ regulator-max-microvolt = <752000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s1g_nsp0: smps1 {
+ regulator-name = "vreg_s1g_nsp0";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s5g_vdd2h_h: smps5 {
+ regulator-name = "vreg_s5g_vdd2h_h";
+ regulator-min-microvolt = <1080000>;
+ regulator-max-microvolt = <1150000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ };
+ };
+
+ /* PMIC H - "UPMH" satellite (CD90-73961-1) - SID 0x7, Bus E0 */
+ regulators-4 {
+ compatible = "qcom,pmau0102-rpmh-regulators";
+ qcom,pmic-id = "H_E0";
+
+ vreg_l1h_0p9: ldo1 {
+ regulator-name = "vreg_l1h_0p9";
+ regulator-min-microvolt = <904000>;
+ regulator-max-microvolt = <904000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2h_1p2: ldo2 {
+ regulator-name = "vreg_l2h_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s1h_nsp2: smps1 {
+ regulator-name = "vreg_s1h_nsp2";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s5h_mxc: smps5 {
+ regulator-name = "vreg_s5h_mxc";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ /* PMIC I - "UPMI" satellite (CD90-73961-1) - SID 0x8, Bus E0 */
+ regulators-5 {
+ compatible = "qcom,pmau0102-rpmh-regulators";
+ qcom,pmic-id = "I_E0";
+
+ vreg_l1i_0p9: ldo1 {
+ regulator-name = "vreg_l1i_0p9";
+ regulator-min-microvolt = <912000>;
+ regulator-max-microvolt = <912000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2i_1p2: ldo2 {
+ regulator-name = "vreg_l2i_1p2";
+ regulator-min-microvolt = <1200000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3i_2p5: ldo3 {
+ regulator-name = "vreg_l3i_2p5";
+ regulator-min-microvolt = <2504000>;
+ regulator-max-microvolt = <2504000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s2i_gfx0: smps2 {
+ regulator-name = "vreg_s2i_gfx0";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s7i_mm: smps7 {
+ regulator-name = "vreg_s7i_mm";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ /* PMIC J - "UPMJ" satellite (CD90-73961-1) - SID 0x9, Bus E0 */
+ regulators-6 {
+ compatible = "qcom,pmau0102-rpmh-regulators";
+ qcom,pmic-id = "J_E0";
+
+ vreg_s7j_gfx1: smps7 {
+ regulator-name = "vreg_s7j_gfx1";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ /* PMIC K - "UPMK" satellite (CD90-73961-1) - SID 0xA, Bus E0 */
+ regulators-7 {
+ compatible = "qcom,pmau0102-rpmh-regulators";
+ qcom,pmic-id = "K_E0";
+
+ vreg_l1k_vdd2l: ldo1 {
+ regulator-name = "vreg_l1k_vdd2l";
+ regulator-min-microvolt = <904000>;
+ regulator-max-microvolt = <904000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l2k_0p9: ldo2 {
+ regulator-name = "vreg_l2k_0p9";
+ regulator-min-microvolt = <880000>;
+ regulator-max-microvolt = <880000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_l3k_vdd1: ldo3 {
+ regulator-name = "vreg_l3k_vdd1";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-always-on;
+ regulator-boot-on;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+
+ /* PMIC L - "UPML" satellite (CD90-73961-1) - SID 0xB, Bus E0 */
+ regulators-8 {
+ compatible = "qcom,pmau0102-rpmh-regulators";
+ qcom,pmic-id = "L_E0";
+
+ vreg_l3l_1p8: ldo3 {
+ regulator-name = "vreg_l3l_1p8";
+ regulator-min-microvolt = <1800000>;
+ regulator-max-microvolt = <1800000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s1l_nsp_mxc: smps1 {
+ regulator-name = "vreg_s1l_nsp_mxc";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+
+ vreg_s2l_cx: smps2 {
+ regulator-name = "vreg_s2l_cx";
+ regulator-min-microvolt = <300000>;
+ regulator-max-microvolt = <1200000>;
+ regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
+ regulator-allow-set-load;
+ regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
+ RPMH_REGULATOR_MODE_HPM>;
+ };
+ };
+};
+
+&qupv3_0 {
+ firmware-name = "qcom/nord/qupv3fw.elf";
+
+ status = "okay";
+};
+
+&qupv3_1 {
+ firmware-name = "qcom/nord/qupv3fw.elf";
+
+ status = "okay";
+};
+
+&qupv3_2 {
+ firmware-name = "qcom/nord/qupv3fw.elf";
+
+ status = "okay";
+};
+
+&remoteproc_adsp {
+ firmware-name = "qcom/nord/adsp.mbn",
+ "qcom/nord/adsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp0 {
+ firmware-name = "qcom/nord/cdsp.mbn",
+ "qcom/nord/cdsp_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp1 {
+ firmware-name = "qcom/nord/cdsp1.mbn",
+ "qcom/nord/cdsp1_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp2 {
+ firmware-name = "qcom/nord/cdsp2.mbn",
+ "qcom/nord/cdsp2_dtbs.elf";
+
+ status = "okay";
+};
+
+&remoteproc_cdsp3 {
+ firmware-name = "qcom/nord/cdsp3.mbn",
+ "qcom/nord/cdsp3_dtbs.elf";
+
+ status = "okay";
+};
+
+&uart15 {
+ status = "okay";
+};
+
+&ufs_mem_hc {
+ reset-gpios = <&tlmm 181 GPIO_ACTIVE_LOW>;
+
+ vcc-supply = <&vreg_l3i_2p5>;
+ vcc-max-microamp = <1300000>;
+ vccq-supply = <&vreg_l2i_1p2>;
+ vccq-max-microamp = <1200000>;
+ vccq2-supply = <&ufs_vccq2>;
+ vdd-hba-supply = <&ufs_vdd_hba>;
+
+ status = "okay";
+};
+
+&ufs_mem_phy {
+ vdda-phy-supply = <&vreg_l1i_0p9>;
+ vdda-pll-supply = <&vreg_l2h_1p2>;
+
+ status = "okay";
+};
--
2.43.0
^ permalink raw reply related [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] arm64: dts: qcom: Add initial support for Nord Ride Embedded board
2026-08-31 3:21 ` [PATCH 6/6] arm64: dts: qcom: Add initial support for " Shawn Guo
@ 2026-08-31 8:16 ` Abel Vesa
2026-09-02 14:00 ` Konrad Dybcio
1 sibling, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-31 8:16 UTC (permalink / raw)
To: Shawn Guo
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel,
Bartosz Golaszewski
On 26-08-31 11:21:03, Shawn Guo wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>
> Add the initial device tree for the Nord Ride Embedded board, the
> non-SCMI variant of the SA8797P automotive Ride board.
>
> Enable the debug UART, UFS storage, the ADSP and CDSP remote processors,
> and describe the board regulators supplied by the on-board PMICs.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 3/6] arm64: dts: qcom: nord: Add the SPMI PMIC arbiter
2026-08-31 3:21 ` [PATCH 3/6] arm64: dts: qcom: nord: Add the SPMI PMIC arbiter Shawn Guo
@ 2026-08-31 8:16 ` Abel Vesa
2026-09-02 13:57 ` Konrad Dybcio
1 sibling, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-31 8:16 UTC (permalink / raw)
To: Shawn Guo
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel,
Bartosz Golaszewski
On 26-08-31 11:21:00, Shawn Guo wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>
> Add the SPMI PMIC Arbiter node for the Nord platforms.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 2/6] arm64: dts: qcom: nord-rrd: Enable ADSP and CDSPs
2026-08-31 3:20 ` [PATCH 2/6] arm64: dts: qcom: nord-rrd: Enable " Shawn Guo
@ 2026-08-31 8:17 ` Abel Vesa
0 siblings, 0 replies; 23+ messages in thread
From: Abel Vesa @ 2026-08-31 8:17 UTC (permalink / raw)
To: Shawn Guo
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel
On 26-08-31 11:20:59, Shawn Guo wrote:
> Enable ADSP (HPASS DSP) and CDSPs remoteproc on the Nord RRD board.
>
> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
Reviewed-by: Abel Vesa <abel.vesa@oss.qualcomm.com>
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/6] dt-bindings: arm: qcom: Document Nord Ride Embedded board
2026-08-31 3:21 ` [PATCH 5/6] dt-bindings: arm: qcom: Document Nord Ride Embedded board Shawn Guo
@ 2026-09-01 8:31 ` Krzysztof Kozlowski
2026-09-03 3:10 ` Shawn Guo
0 siblings, 1 reply; 23+ messages in thread
From: Krzysztof Kozlowski @ 2026-09-01 8:31 UTC (permalink / raw)
To: Shawn Guo
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel,
Bartosz Golaszewski
On Mon, Aug 31, 2026 at 11:21:02AM +0800, Shawn Guo wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>
> Add qcom,sa8797p-ride-embedded to the list of compatibles for boards
"Document foo bar, embedded variant ..."
No need to repeat the exact diff contents in the commit msg.
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs
2026-08-31 3:20 ` [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs Shawn Guo
@ 2026-09-02 13:52 ` Konrad Dybcio
2026-09-03 3:03 ` Shawn Guo
2026-09-03 9:16 ` Konrad Dybcio
1 sibling, 1 reply; 23+ messages in thread
From: Konrad Dybcio @ 2026-09-02 13:52 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel
On 8/31/26 5:20 AM, Shawn Guo wrote:
> Add device tree nodes to support ADSP (HPASS DSP) and CDSPs remoteproc
> on Nord SoC.
>
> This includes:
> - SMEM memory reservation used by the inter-processor communication
> infrastructure
> - IPCC mailbox controller for inter-processor signalling
> - AOSS QMP node for load state power management
> - SMP2P nodes providing stop control and fault/crash interrupt signals
> - Remoteproc nodes with a GLINK edge and FastRPC compute contexts for
> userspace offload
>
> The embedded variant specific power domains, XO clock, and interconnect
> paths are filled in nord-embedded.dtsi.
>
> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
> ---
With our previous discussion at <ao5Vh_d_dAlJknpl@QCOM-aGQu4IUr3Y>
in mind, can we reasonably assume the ADSP description is fine as-is?
Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 3/6] arm64: dts: qcom: nord: Add the SPMI PMIC arbiter
2026-08-31 3:21 ` [PATCH 3/6] arm64: dts: qcom: nord: Add the SPMI PMIC arbiter Shawn Guo
2026-08-31 8:16 ` Abel Vesa
@ 2026-09-02 13:57 ` Konrad Dybcio
1 sibling, 0 replies; 23+ messages in thread
From: Konrad Dybcio @ 2026-09-02 13:57 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski
On 8/31/26 5:21 AM, Shawn Guo wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>
> Add the SPMI PMIC Arbiter node for the Nord platforms.
>
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
> ---
Indeed there's only a single channel
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] arm64: dts: qcom: Add initial support for Nord Ride Embedded board
2026-08-31 3:21 ` [PATCH 6/6] arm64: dts: qcom: Add initial support for " Shawn Guo
2026-08-31 8:16 ` Abel Vesa
@ 2026-09-02 14:00 ` Konrad Dybcio
2026-09-03 7:40 ` Shawn Guo
1 sibling, 1 reply; 23+ messages in thread
From: Konrad Dybcio @ 2026-09-02 14:00 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel, Bartosz Golaszewski
On 8/31/26 5:21 AM, Shawn Guo wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>
> Add the initial device tree for the Nord Ride Embedded board, the
> non-SCMI variant of the SA8797P automotive Ride board.
[...]
> + vreg_l7a_1p2: ldo7 {
> + regulator-name = "vreg_l7a_1p2";
> + regulator-min-microvolt = <1200000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-always-on;
> + regulator-boot-on;
You mark _a lot_ of regulators as always- and boot-on - is that
necessary for all of them?
[...]
> + /* PMIC H - "UPMH" satellite (CD90-73961-1) - SID 0x7, Bus E0 */
leftover?
[...]
> + /* PMIC I - "UPMI" satellite (CD90-73961-1) - SID 0x8, Bus E0 */
likewise, a couple times
[...]
> + vreg_s2i_gfx0: smps2 {
> + regulator-name = "vreg_s2i_gfx0";
> + regulator-min-microvolt = <300000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
> + };
> +
> + vreg_s7i_mm: smps7 {
> + regulator-name = "vreg_s7i_mm";
> + regulator-min-microvolt = <300000>;
> + regulator-max-microvolt = <1200000>;
> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> + regulator-allow-set-load;
> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> + RPMH_REGULATOR_MODE_HPM>;
Are these actually exposed as regulators and not RPMHPDs?
Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/6] arm64: dts: qcom: nord: Add PMAU0102 and PMM8650AU PMIC support
2026-08-31 3:21 ` [PATCH 4/6] arm64: dts: qcom: nord: Add PMAU0102 and PMM8650AU PMIC support Shawn Guo
@ 2026-09-02 14:17 ` Konrad Dybcio
2026-09-03 6:36 ` Shawn Guo
0 siblings, 1 reply; 23+ messages in thread
From: Konrad Dybcio @ 2026-09-02 14:17 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel
On 8/31/26 5:21 AM, Shawn Guo wrote:
> From: Dhruvin Rajpura <drajpura@qti.qualcomm.com>
>
> The Nord platform is supplied by two families of PMICs on the SPMI bus:
> eight PMAU0102 devices on USIDs 4 to 11, and one PMM8650AU on USID 0.
> Add one dtsi per PMIC type, following the established one-file-per-PMIC
> convention, and include both of them from nord-rrd.dts.
>
> The eight PMAU0102 instances are labelled pmau0102_e through pmau0102_l
> after their board designators. Each one provides a GPIO controller, an
> ADC, and an MBG (Master Bandgap) temperature monitor that reads its die
> temperature through a DIE_TEMP ADC channel. The monitors use the
> qcom,pmau0102-mbg-tm compatible with qcom,pm8775-mbg-tm as fallback, and
> each is hooked up to a thermal zone.
>
> PMM8650AU is the same die as PMM8654AU, so pmm8650au_a reuses the
> existing qcom,pmm8654au and qcom,pmm8654au-gpio compatibles while the
> file is named after the part actually populated on the board. It provides
> PON with a power key, an RTC, and a GPIO controller. The resin
> is described but left disabled, for boards that wire it up to enable.
>
> Signed-off-by: Dhruvin Rajpura <drajpura@qti.qualcomm.com>
> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
> ---
[...]
> + pmm8650au_a_pon: pon@1200 {
> + compatible = "qcom,pmk8350-pon";
I think this may fall into the same bucket
https://lore.kernel.org/all/20260724-b4-add_pwrkey_and_resin-v6-1-41acc214d93a@oss.qualcomm.com/
Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs
2026-09-02 13:52 ` Konrad Dybcio
@ 2026-09-03 3:03 ` Shawn Guo
0 siblings, 0 replies; 23+ messages in thread
From: Shawn Guo @ 2026-09-03 3:03 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel
On Wed, Sep 02, 2026 at 03:52:37PM +0200, Konrad Dybcio wrote:
> On 8/31/26 5:20 AM, Shawn Guo wrote:
> > Add device tree nodes to support ADSP (HPASS DSP) and CDSPs remoteproc
> > on Nord SoC.
> >
> > This includes:
> > - SMEM memory reservation used by the inter-processor communication
> > infrastructure
> > - IPCC mailbox controller for inter-processor signalling
> > - AOSS QMP node for load state power management
> > - SMP2P nodes providing stop control and fault/crash interrupt signals
> > - Remoteproc nodes with a GLINK edge and FastRPC compute contexts for
> > userspace offload
> >
> > The embedded variant specific power domains, XO clock, and interconnect
> > paths are filled in nord-embedded.dtsi.
> >
> > Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
> > ---
>
> With our previous discussion at <ao5Vh_d_dAlJknpl@QCOM-aGQu4IUr3Y>
> in mind, can we reasonably assume the ADSP description is fine as-is?
Yes, ADSP0 can work independently just like the single ADSP on other
SoCs. As audio support depends on ADSP0, we would like to get it land
first and leave the cluster support as an incremental change later.
Shawn
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 5/6] dt-bindings: arm: qcom: Document Nord Ride Embedded board
2026-09-01 8:31 ` Krzysztof Kozlowski
@ 2026-09-03 3:10 ` Shawn Guo
0 siblings, 0 replies; 23+ messages in thread
From: Shawn Guo @ 2026-09-03 3:10 UTC (permalink / raw)
To: Krzysztof Kozlowski
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel,
Bartosz Golaszewski
On Tue, Sep 01, 2026 at 10:31:30AM +0200, Krzysztof Kozlowski wrote:
> On Mon, Aug 31, 2026 at 11:21:02AM +0800, Shawn Guo wrote:
> > From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> >
> > Add qcom,sa8797p-ride-embedded to the list of compatibles for boards
>
> "Document foo bar, embedded variant ..."
> No need to repeat the exact diff contents in the commit msg.
Sure! Will update.
>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Thanks Krzysztof!
Shawn
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 4/6] arm64: dts: qcom: nord: Add PMAU0102 and PMM8650AU PMIC support
2026-09-02 14:17 ` Konrad Dybcio
@ 2026-09-03 6:36 ` Shawn Guo
0 siblings, 0 replies; 23+ messages in thread
From: Shawn Guo @ 2026-09-03 6:36 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel
On Wed, Sep 02, 2026 at 04:17:26PM +0200, Konrad Dybcio wrote:
> On 8/31/26 5:21 AM, Shawn Guo wrote:
> > From: Dhruvin Rajpura <drajpura@qti.qualcomm.com>
> >
> > The Nord platform is supplied by two families of PMICs on the SPMI bus:
> > eight PMAU0102 devices on USIDs 4 to 11, and one PMM8650AU on USID 0.
> > Add one dtsi per PMIC type, following the established one-file-per-PMIC
> > convention, and include both of them from nord-rrd.dts.
> >
> > The eight PMAU0102 instances are labelled pmau0102_e through pmau0102_l
> > after their board designators. Each one provides a GPIO controller, an
> > ADC, and an MBG (Master Bandgap) temperature monitor that reads its die
> > temperature through a DIE_TEMP ADC channel. The monitors use the
> > qcom,pmau0102-mbg-tm compatible with qcom,pm8775-mbg-tm as fallback, and
> > each is hooked up to a thermal zone.
> >
> > PMM8650AU is the same die as PMM8654AU, so pmm8650au_a reuses the
> > existing qcom,pmm8654au and qcom,pmm8654au-gpio compatibles while the
> > file is named after the part actually populated on the board. It provides
> > PON with a power key, an RTC, and a GPIO controller. The resin
> > is described but left disabled, for boards that wire it up to enable.
> >
> > Signed-off-by: Dhruvin Rajpura <drajpura@qti.qualcomm.com>
> > Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
> > ---
>
> [...]
>
> > + pmm8650au_a_pon: pon@1200 {
> > + compatible = "qcom,pmk8350-pon";
>
> I think this may fall into the same bucket
>
> https://lore.kernel.org/all/20260724-b4-add_pwrkey_and_resin-v6-1-41acc214d93a@oss.qualcomm.com/
Ah, thanks for the pointer! I missed that.
Since PMM8650AU is the same die as PMM8654AU, I would reuse pmm8654au
compatibles, e.g.
compatible = "qcom,pmm8654au-pon", "qcom,pmk8350-pon";
Shawn
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] arm64: dts: qcom: Add initial support for Nord Ride Embedded board
2026-09-02 14:00 ` Konrad Dybcio
@ 2026-09-03 7:40 ` Shawn Guo
2026-09-03 7:56 ` Konrad Dybcio
0 siblings, 1 reply; 23+ messages in thread
From: Shawn Guo @ 2026-09-03 7:40 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel,
Bartosz Golaszewski
On Wed, Sep 02, 2026 at 04:00:52PM +0200, Konrad Dybcio wrote:
> On 8/31/26 5:21 AM, Shawn Guo wrote:
> > From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> >
> > Add the initial device tree for the Nord Ride Embedded board, the
> > non-SCMI variant of the SA8797P automotive Ride board.
>
> [...]
>
> > + vreg_l7a_1p2: ldo7 {
> > + regulator-name = "vreg_l7a_1p2";
> > + regulator-min-microvolt = <1200000>;
> > + regulator-max-microvolt = <1200000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + regulator-always-on;
> > + regulator-boot-on;
>
> You mark _a lot_ of regulators as always- and boot-on - is that
> necessary for all of them?
Ah, sorry! You already had the comment on nord-rrd.dts. I forgot to apply
it on nord-ride-embedded.dts. Will fix.
>
> [...]
>
> > + /* PMIC H - "UPMH" satellite (CD90-73961-1) - SID 0x7, Bus E0 */
>
> leftover?
Since we agreed that a bit comment is useful [1], I guess you are saying
the "satellite (CD90-73961-1)" part shouldn't be there. I will get the
comment aligned with nord-rrd.dts.
>
> [...]
>
> > + /* PMIC I - "UPMI" satellite (CD90-73961-1) - SID 0x8, Bus E0 */
>
> likewise, a couple times
>
> [...]
>
> > + vreg_s2i_gfx0: smps2 {
> > + regulator-name = "vreg_s2i_gfx0";
> > + regulator-min-microvolt = <300000>;
> > + regulator-max-microvolt = <1200000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + regulator-allow-set-load;
> > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> > + RPMH_REGULATOR_MODE_HPM>;
> > + };
> > +
> > + vreg_s7i_mm: smps7 {
> > + regulator-name = "vreg_s7i_mm";
> > + regulator-min-microvolt = <300000>;
> > + regulator-max-microvolt = <1200000>;
> > + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> > + regulator-allow-set-load;
> > + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> > + RPMH_REGULATOR_MODE_HPM>;
>
> Are these actually exposed as regulators and not RPMHPDs?
Great catch, Konrad! These are rpmhpd-managed resources and shouldn't be
here. I will drop them.
Shawn
[1] https://lore.kernel.org/all/b522c9b4-4944-4fb2-94f9-bd2553690901@oss.qualcomm.com/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] arm64: dts: qcom: Add initial support for Nord Ride Embedded board
2026-09-03 7:40 ` Shawn Guo
@ 2026-09-03 7:56 ` Konrad Dybcio
2026-09-03 8:13 ` Shawn Guo
0 siblings, 1 reply; 23+ messages in thread
From: Konrad Dybcio @ 2026-09-03 7:56 UTC (permalink / raw)
To: Shawn Guo
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel,
Bartosz Golaszewski
On 9/3/26 9:40 AM, Shawn Guo wrote:
> On Wed, Sep 02, 2026 at 04:00:52PM +0200, Konrad Dybcio wrote:
>> On 8/31/26 5:21 AM, Shawn Guo wrote:
>>> From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>>>
>>> Add the initial device tree for the Nord Ride Embedded board, the
>>> non-SCMI variant of the SA8797P automotive Ride board.
[...]
> Since we agreed that a bit comment is useful [1], I guess you are saying
> the "satellite (CD90-73961-1)" part shouldn't be there. I will get the
> comment aligned with nord-rrd.dts.
Ah I forgot I said that :)
[...]
>>> + vreg_s7i_mm: smps7 {
>>> + regulator-name = "vreg_s7i_mm";
>>> + regulator-min-microvolt = <300000>;
>>> + regulator-max-microvolt = <1200000>;
>>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>>> + regulator-allow-set-load;
>>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>>> + RPMH_REGULATOR_MODE_HPM>;
>>
>> Are these actually exposed as regulators and not RPMHPDs?
>
> Great catch, Konrad! These are rpmhpd-managed resources and shouldn't be
> here. I will drop them.
Don't you get a huge log of errors with these in place?
Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] arm64: dts: qcom: Add initial support for Nord Ride Embedded board
2026-09-03 7:56 ` Konrad Dybcio
@ 2026-09-03 8:13 ` Shawn Guo
2026-09-03 8:19 ` Konrad Dybcio
0 siblings, 1 reply; 23+ messages in thread
From: Shawn Guo @ 2026-09-03 8:13 UTC (permalink / raw)
To: Konrad Dybcio
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel,
Bartosz Golaszewski
On Thu, Sep 03, 2026 at 09:56:16AM +0200, Konrad Dybcio wrote:
> On 9/3/26 9:40 AM, Shawn Guo wrote:
> > On Wed, Sep 02, 2026 at 04:00:52PM +0200, Konrad Dybcio wrote:
> >> On 8/31/26 5:21 AM, Shawn Guo wrote:
> >>> From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
> >>>
> >>> Add the initial device tree for the Nord Ride Embedded board, the
> >>> non-SCMI variant of the SA8797P automotive Ride board.
>
> [...]
>
> > Since we agreed that a bit comment is useful [1], I guess you are saying
> > the "satellite (CD90-73961-1)" part shouldn't be there. I will get the
> > comment aligned with nord-rrd.dts.
>
> Ah I forgot I said that :)
>
> [...]
>
> >>> + vreg_s7i_mm: smps7 {
> >>> + regulator-name = "vreg_s7i_mm";
> >>> + regulator-min-microvolt = <300000>;
> >>> + regulator-max-microvolt = <1200000>;
> >>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
> >>> + regulator-allow-set-load;
> >>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
> >>> + RPMH_REGULATOR_MODE_HPM>;
> >>
> >> Are these actually exposed as regulators and not RPMHPDs?
> >
> > Great catch, Konrad! These are rpmhpd-managed resources and shouldn't be
> > here. I will drop them.
>
> Don't you get a huge log of errors with these in place?
Nope. If we do, we must have already fixed the problem :)
Shawn
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 6/6] arm64: dts: qcom: Add initial support for Nord Ride Embedded board
2026-09-03 8:13 ` Shawn Guo
@ 2026-09-03 8:19 ` Konrad Dybcio
0 siblings, 0 replies; 23+ messages in thread
From: Konrad Dybcio @ 2026-09-03 8:19 UTC (permalink / raw)
To: Shawn Guo
Cc: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Bartosz Golaszewski, Dhruvin Rajpura,
Anandu Krishnan E, linux-arm-msm, devicetree, linux-kernel,
Bartosz Golaszewski
On 9/3/26 10:13 AM, Shawn Guo wrote:
> On Thu, Sep 03, 2026 at 09:56:16AM +0200, Konrad Dybcio wrote:
>> On 9/3/26 9:40 AM, Shawn Guo wrote:
>>> On Wed, Sep 02, 2026 at 04:00:52PM +0200, Konrad Dybcio wrote:
>>>> On 8/31/26 5:21 AM, Shawn Guo wrote:
>>>>> From: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
>>>>>
>>>>> Add the initial device tree for the Nord Ride Embedded board, the
>>>>> non-SCMI variant of the SA8797P automotive Ride board.
>>
>> [...]
>>
>>> Since we agreed that a bit comment is useful [1], I guess you are saying
>>> the "satellite (CD90-73961-1)" part shouldn't be there. I will get the
>>> comment aligned with nord-rrd.dts.
>>
>> Ah I forgot I said that :)
>>
>> [...]
>>
>>>>> + vreg_s7i_mm: smps7 {
>>>>> + regulator-name = "vreg_s7i_mm";
>>>>> + regulator-min-microvolt = <300000>;
>>>>> + regulator-max-microvolt = <1200000>;
>>>>> + regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
>>>>> + regulator-allow-set-load;
>>>>> + regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM
>>>>> + RPMH_REGULATOR_MODE_HPM>;
>>>>
>>>> Are these actually exposed as regulators and not RPMHPDs?
>>>
>>> Great catch, Konrad! These are rpmhpd-managed resources and shouldn't be
>>> here. I will drop them.
>>
>> Don't you get a huge log of errors with these in place?
>
> Nope. If we do, we must have already fixed the problem :)
Indeed, the cmd-db you posted [1] allows accessing both at once.. I'm
not sure this is intended..
Konrad
[1] https://lore.kernel.org/linux-arm-msm/ao7mrrW_ob77EAIp@QCOM-aGQu4IUr3Y/
^ permalink raw reply [flat|nested] 23+ messages in thread
* Re: [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs
2026-08-31 3:20 ` [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs Shawn Guo
2026-09-02 13:52 ` Konrad Dybcio
@ 2026-09-03 9:16 ` Konrad Dybcio
1 sibling, 0 replies; 23+ messages in thread
From: Konrad Dybcio @ 2026-09-03 9:16 UTC (permalink / raw)
To: Shawn Guo, Bjorn Andersson
Cc: Konrad Dybcio, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
Bartosz Golaszewski, Dhruvin Rajpura, Anandu Krishnan E,
linux-arm-msm, devicetree, linux-kernel
On 8/31/26 5:20 AM, Shawn Guo wrote:
> Add device tree nodes to support ADSP (HPASS DSP) and CDSPs remoteproc
> on Nord SoC.
>
> This includes:
> - SMEM memory reservation used by the inter-processor communication
> infrastructure
> - IPCC mailbox controller for inter-processor signalling
> - AOSS QMP node for load state power management
> - SMP2P nodes providing stop control and fault/crash interrupt signals
> - Remoteproc nodes with a GLINK edge and FastRPC compute contexts for
> userspace offload
>
> The embedded variant specific power domains, XO clock, and interconnect
> paths are filled in nord-embedded.dtsi.
>
> Signed-off-by: Shawn Guo <shengchao.guo@oss.qualcomm.com>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Konrad
^ permalink raw reply [flat|nested] 23+ messages in thread
end of thread, other threads:[~2026-09-03 9:16 UTC | newest]
Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-31 3:20 [PATCH 0/6] arm64: dts: qcom: nord: Add remoteproc and PMIC support Shawn Guo
2026-08-31 3:20 ` [PATCH 1/6] arm64: dts: qcom: nord: Add support for ADSP and CDSPs Shawn Guo
2026-09-02 13:52 ` Konrad Dybcio
2026-09-03 3:03 ` Shawn Guo
2026-09-03 9:16 ` Konrad Dybcio
2026-08-31 3:20 ` [PATCH 2/6] arm64: dts: qcom: nord-rrd: Enable " Shawn Guo
2026-08-31 8:17 ` Abel Vesa
2026-08-31 3:21 ` [PATCH 3/6] arm64: dts: qcom: nord: Add the SPMI PMIC arbiter Shawn Guo
2026-08-31 8:16 ` Abel Vesa
2026-09-02 13:57 ` Konrad Dybcio
2026-08-31 3:21 ` [PATCH 4/6] arm64: dts: qcom: nord: Add PMAU0102 and PMM8650AU PMIC support Shawn Guo
2026-09-02 14:17 ` Konrad Dybcio
2026-09-03 6:36 ` Shawn Guo
2026-08-31 3:21 ` [PATCH 5/6] dt-bindings: arm: qcom: Document Nord Ride Embedded board Shawn Guo
2026-09-01 8:31 ` Krzysztof Kozlowski
2026-09-03 3:10 ` Shawn Guo
2026-08-31 3:21 ` [PATCH 6/6] arm64: dts: qcom: Add initial support for " Shawn Guo
2026-08-31 8:16 ` Abel Vesa
2026-09-02 14:00 ` Konrad Dybcio
2026-09-03 7:40 ` Shawn Guo
2026-09-03 7:56 ` Konrad Dybcio
2026-09-03 8:13 ` Shawn Guo
2026-09-03 8:19 ` Konrad Dybcio
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox