Re: [PATCH RFC v2 1/3] arm64: dts: qcom: nord: Add SoCCP remoteproc DT support for Nord
From: Shawn Guo
Date: Mon Oct 19 2026 - 02:35:04 EST
On Sun, Oct 18, 2026 at 12:46:46PM +0530, Anurag Pateriya wrote:
> Add the SoCCP (System on Chip Control Processor) remoteproc node and
> its SMP2P configuration at the SoC level in nord.dtsi, and wire up
> the clock and power-domain dependencies shared by all Nord embedded
> variants in nord-embedded.dtsi.
>
> Signed-off-by: Anurag Pateriya <anurag.pateriya@xxxxxxxxxxxxxxxx>
> ---
> arch/arm64/boot/dts/qcom/nord-embedded.dtsi | 9 +++++
> arch/arm64/boot/dts/qcom/nord.dtsi | 57 +++++++++++++++++++++++++++++
> 2 files changed, 66 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
> index 6dc4c871f41e..e21b9ba480f5 100644
> --- a/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
> +++ b/arch/arm64/boot/dts/qcom/nord-embedded.dtsi
> @@ -430,6 +430,15 @@ &remoteproc_cdsp3 {
> "nsp";
> };
>
> +&remoteproc_soccp {
> + clocks = <&rpmhcc RPMH_CXO_CLK>;
> + clock-names = "xo";
> + power-domains = <&rpmhpd RPMHPD_CX>,
> + <&rpmhpd RPMHPD_MX>;
> + power-domain-names = "cx",
> + "mx";
> +};
> +
> &spi0 {
> clocks = <&segcc SE_GCC_QUPV3_WRAP0_S0_CLK>;
> clock-names = "se";
> diff --git a/arch/arm64/boot/dts/qcom/nord.dtsi b/arch/arm64/boot/dts/qcom/nord.dtsi
> index dfbbaf94a7ae..827531fc1276 100644
> --- a/arch/arm64/boot/dts/qcom/nord.dtsi
> +++ b/arch/arm64/boot/dts/qcom/nord.dtsi
> @@ -1029,6 +1029,28 @@ smp2p_cdsp3_in: slave-kernel {
> };
> };
>
> + smp2p-soccp {
> + compatible = "qcom,smp2p";
> + interrupts-extended = <&ipcc0 IPCC_MPROC_SOCCP
> + IPCC_MPROC_SIGNAL_SMP2P
> + IRQ_TYPE_EDGE_RISING>;
> + mboxes = <&ipcc0 IPCC_MPROC_SOCCP IPCC_MPROC_SIGNAL_SMP2P>;
> + qcom,smem = <617>, <616>;
> + qcom,local-pid = <0>;
> + qcom,remote-pid = <19>;
> +
> + smp2p_soccp_out: master-kernel {
> + qcom,entry-name = "master-kernel";
> + #qcom,smem-state-cells = <1>;
> + };
> +
> + smp2p_soccp_in: slave-kernel {
> + qcom,entry-name = "slave-kernel";
> + interrupt-controller;
> + #interrupt-cells = <2>;
> + };
> + };
> +
> soc: soc@0 {
> compatible = "simple-bus";
> #address-cells = <2>;
> @@ -1587,6 +1609,41 @@ uart13: serial@a98000 {
> };
> };
>
> + remoteproc_soccp: remoteproc@d00000 {
> + compatible = "qcom,nord-soccp-pas";
It causes CHECK_DTBS complaints for nord-ride.dtb, so we may want to move
the compatible to nord-embedded.dtsi.
Shawn
> + reg = <0x0 0x00d00000 0x0 0x200000>;
> +
> + interrupts-extended = <&intc GIC_SPI 167 IRQ_TYPE_EDGE_RISING>,
> + <&smp2p_soccp_in 0 IRQ_TYPE_EDGE_RISING>,
> + <&smp2p_soccp_in 1 IRQ_TYPE_EDGE_RISING>,
> + <&smp2p_soccp_in 2 IRQ_TYPE_EDGE_RISING>,
> + <&smp2p_soccp_in 3 IRQ_TYPE_EDGE_RISING>,
> + <&smp2p_soccp_in 9 IRQ_TYPE_EDGE_RISING>;
> + interrupt-names = "wdog",
> + "fatal",
> + "ready",
> + "handover",
> + "stop-ack",
> + "pong";
> +
> + memory-region = <&soccp_mem>;
> +
> + qcom,smem-states = <&smp2p_soccp_out 0>,
> + <&smp2p_soccp_out 8>;
> + qcom,smem-state-names = "stop",
> + "ping";
> +
> + glink-edge {
> + interrupts-extended = <&ipcc0 IPCC_MPROC_SOCCP
> + IPCC_MPROC_SIGNAL_GLINK_QMP
> + IRQ_TYPE_EDGE_RISING>;
> + mboxes = <&ipcc0 IPCC_MPROC_SOCCP
> + IPCC_MPROC_SIGNAL_GLINK_QMP>;
> + qcom,remote-pid = <19>;
> + label = "soccp";
> + };
> + };
> +
> rng: rng@10c3000 {
> compatible = "qcom,nord-trng",
> "qcom,trng";
>
> --
> 2.43.0
>