Re: [PATCH V2 13/13] arm64: dtsi: qcom: ipq9574: Add nodes to bring up multipd

From: Manikanta Mylavarapu
Date: Fri Jun 30 2023 - 03:11:46 EST




On 6/27/2023 1:14 PM, Manikanta Mylavarapu wrote:


On 6/24/2023 12:31 PM, Krzysztof Kozlowski wrote:
On 22/05/2023 00:28, Manikanta Mylavarapu wrote:
Enable nodes required for multipd remoteproc bring up.

Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@xxxxxxxxxxx>
---
Changes in V2:
    - Corrected syntax like alignmnet and kept nodes in sorted order.
    - Added 'firmware-name' property.

  arch/arm64/boot/dts/qcom/ipq9574.dtsi | 118 ++++++++++++++++++++++++++
  1 file changed, 118 insertions(+)

diff --git a/arch/arm64/boot/dts/qcom/ipq9574.dtsi b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
index 0e04549c69a5..ff0da53ba05f 100644
--- a/arch/arm64/boot/dts/qcom/ipq9574.dtsi
+++ b/arch/arm64/boot/dts/qcom/ipq9574.dtsi
@@ -160,6 +160,11 @@
              no-map;
          };

+        q6_region: wcnss@4ab00000 {
+            reg = <0x0 0x4ab00000 0x0 0x2b00000>;
+            no-map;
+        };
+
          smem@4aa00000 {
              compatible = "qcom,smem";
              reg = <0x0 0x4aa00000 0x0 0x00100000>;
@@ -697,6 +702,95 @@
              };
          };

+        q6v5_wcss: remoteproc@cd00000 {
+            compatible = "qcom,ipq9574-q6-mpd";
+            reg = <0x0cd00000 0x4040>;
+            firmware-name = "IPQ9574/q6_fw.mdt",
+                    "IPQ9574/m3_fw.mdt";

Here and...

+            interrupts-extended = <&intc GIC_SPI 325 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 321 IRQ_TYPE_EDGE_RISING>;
+                label = "rtr";
+                qcom,remote-pid = <1>;
+                mboxes = <&apcs_glb 8>;
+            };
+
+            pd-1 {
+                compatible = "qcom,ipq9574-wcss-ahb-mpd";
+                firmware-name = "IPQ9574/q6_fw.mdt";

... here - why do you have firmware in both places?


In multipd model, Q6 & WCSS uses different firmware.
I will correct the firmware-name. Thanks for catching.

+                interrupts-extended = <&wcss_smp2p_in 8 0>,
+                              <&wcss_smp2p_in 9 0>,
+                              <&wcss_smp2p_in 12 0>,
+                              <&wcss_smp2p_in 11 0>;
+                interrupt-names = "fatal",
+                          "ready",
+                          "spawn-ack",
+                          "stop-ack";
+                qcom,smem-states = <&wcss_smp2p_out 8>,
+                           <&wcss_smp2p_out 9>,
+                           <&wcss_smp2p_out 10>;
+                qcom,smem-state-names = "shutdown",
+                            "stop",
+                            "spawn";
+            };
+
+            pd-2 {
+                compatible = "qcom,ipq5018-wcss-pcie-mpd";

This compatible is confusing for this device.

I will clean up all SOC specific compatibles and have
only device specific compatibles for Q6 & WCSS radio's
as i mentioned on other thread.

Thanks & Regards,
Manikanta.