Re: [PATCH 09/11] arm64: dtsi: qcom: ipq5018: enable nodes required for multipd

From: Manikanta Mylavarapu
Date: Fri May 19 2023 - 01:34:45 EST




On 3/7/2023 7:52 PM, Kathiravan T wrote:

On 3/7/2023 10:11 AM, Manikanta Mylavarapu wrote:
Enable nodes required for multipd remoteproc bring up

Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@xxxxxxxxxxx>
---
  arch/arm64/boot/dts/qcom/ipq5018.dtsi | 130 ++++++++++++++++++++++++++
  1 file changed, 130 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq5018.dtsi b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
index 084fb7b30dfd..4fa0990ab543 100644
--- a/arch/arm64/boot/dts/qcom/ipq5018.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq5018.dtsi
@@ -95,6 +95,24 @@ tz: tz@4ac00000 {
              reg = <0x0 0x4ac00000 0x0 0x00400000>;
              no-map;
          };
+
+        q6_region: wcnss@4b000000 {
+            no-map;
+            reg = <0x0 0x4b000000 0x0 0x01700000>;


move the no-map after reg property to keep it consistent with other nodes. Also no need to pad the size in reg property


Sure. I will do it.
+        };
+
+        smem@4ab00000 {
+            compatible = "qcom,smem";
+            reg = <0x0 0x4ab00000 0x0 0x00100000>;
+            hwlocks = <&tcsr_mutex 0>;
+            no-map;
+        };
+    };
+
+    firmware {


nodes should be in sorted order, please take care of this throughout the changes.


Sure. I will do it.
+        scm {
+            compatible = "qcom,scm-ipq5018", "qcom,scm";
+        };
      };
      timer {
@@ -105,6 +123,30 @@ timer {
                   <GIC_PPI 1 (GIC_CPU_MASK_SIMPLE(4) | IRQ_TYPE_LEVEL_LOW)>;
      };
+    wcss: wcss-smp2p {
+        compatible = "qcom,smp2p";
+        qcom,smem = <435>, <428>;
+
+        interrupt-parent = <&intc>;
+        interrupts = <GIC_SPI 177 IRQ_TYPE_EDGE_RISING>;
+
+        mboxes = <&apcs_glb 9>;
+
+        qcom,local-pid = <0>;
+        qcom,remote-pid = <1>;
+
+        wcss_smp2p_out: master-kernel {
+            qcom,entry-name = "master-kernel";
+            #qcom,smem-state-cells = <1>;
+        };
+
+        wcss_smp2p_in: slave-kernel {
+            qcom,entry-name = "slave-kernel";
+            interrupt-controller;
+            #interrupt-cells = <2>;
+        };
+    };
+
      soc: soc@0 {
          #address-cells = <1>;
          #size-cells = <1>;
@@ -217,5 +259,93 @@ frame@b128000 {
                  status = "disabled";
              };
          };
+
+        tcsr_mutex: hwlock@1905000 {
+            compatible = "qcom,tcsr-mutex";
+            reg = <0x01905000 0x8000>;


Please cover the entire region of size 128KB


Sure. I will do it.
+            #hwlock-cells = <1>;
+        };
+
+        apcs_glb: mailbox@b111000 {
+            compatible = "qcom,ipq5018-apcs-apps-global";
+            reg = <0x0b111000 0x1000>;
+            #clock-cells = <1>;
+            #mbox-cells = <1>;
+        };
+
+        q6v5_wcss: remoteproc@cd00000 {
+            compatible = "qcom,ipq5018-q6-mpd";
+            #address-cells = <1>;
+            #size-cells = <1>;
+            ranges;
+            reg = <0x0cd00000 0x4040>;


reg can be moved after compatible


Sure. I will do it.
+            interrupts-extended = <&intc GIC_SPI 291 IRQ_TYPE_EDGE_RISING>,
+                          <&wcss_smp2p_in 0 0>,
+                          <&wcss_smp2p_in 1 0>,
+                          <&wcss_smp2p_in 2 0>,
+                          <&wcss_smp2p_in 3 0>;
+            interrupt-names = "wdog",
+                      "fatal",
+                      "ready",
+                      "handover",
+                      "stop-ack";
+
+            qcom,smem-states = <&wcss_smp2p_out 0>,
+                       <&wcss_smp2p_out 1>;
+            qcom,smem-state-names = "shutdown",
+                        "stop";
+            memory-region = <&q6_region>;
+
+            glink-edge {
+                interrupts = <GIC_SPI 179 IRQ_TYPE_EDGE_RISING>;
+                label = "rtr";
+                qcom,remote-pid = <1>;
+                mboxes = <&apcs_glb 8>;
+            };
+
+            q6_wcss_pd1: remoteproc_pd1 {
+                compatible = "qcom,ipq5018-wcss-ahb-mpd";
+            };
+
+            q6_wcss_pd2: remoteproc_pd2 {
+                compatible = "qcom,ipq5018-wcss-pcie-mpd";
+                interrupts-extended = <&wcss_smp2p_in 16 0>,
+                    <&wcss_smp2p_in 17 0>,


Please take care of the alignment


Sure. I will do it.

Thanks & Regards,
Manikanta.
+                    <&wcss_smp2p_in 20 0>,
+                    <&wcss_smp2p_in 19 0>;
+                interrupt-names = "fatal",
+                    "ready",
+                    "spawn-ack",
+                    "stop-ack";
+
+                qcom,smem-states = <&wcss_smp2p_out 16>,
+                        <&wcss_smp2p_out 17>,
+                        <&wcss_smp2p_out 18>;
+                qcom,smem-state-names = "shutdown",
+                            "stop",
+                            "spawn";
+                status = "disabled";
+            };
+
+            q6_wcss_pd3: remoteproc_pd3 {
+                compatible = "qcom,ipq5018-wcss-pcie-mpd";
+                interrupts-extended = <&wcss_smp2p_in 24 0>,
+                            <&wcss_smp2p_in 25 0>,
+                            <&wcss_smp2p_in 28 0>,
+                            <&wcss_smp2p_in 27 0>;
+                interrupt-names = "fatal",
+                        "ready",
+                        "spawn-ack",
+                        "stop-ack";
+
+                qcom,smem-states = <&wcss_smp2p_out 24>,
+                        <&wcss_smp2p_out 25>,
+                        <&wcss_smp2p_out 26>;
+                qcom,smem-state-names = "shutdown",
+                            "stop",
+                            "spawn";
+                status = "disabled";
+            };
+        };
      };
  };