From: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
To: <agross@kernel.org>, <andersson@kernel.org>,
<konrad.dybcio@linaro.org>, <robh+dt@kernel.org>,
<krzysztof.kozlowski+dt@linaro.org>, <conor+dt@kernel.org>,
<jassisinghbrar@gmail.com>, <mathieu.poirier@linaro.org>,
<mturquette@baylibre.com>, <sboyd@kernel.org>,
<quic_eberman@quicinc.com>, <quic_mojha@quicinc.com>,
<kvalo@kernel.org>, <quic_mmanikan@quicinc.com>,
<loic.poulain@linaro.org>, <linux-arm-msm@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<linux-remoteproc@vger.kernel.org>, <linux-clk@vger.kernel.org>
Cc: <quic_srichara@quicinc.com>, <quic_sjaganat@quicinc.com>,
<quic_kathirav@quicinc.com>, <quic_anusha@quicinc.com>,
<quic_poovendh@quicinc.com>, <quic_varada@quicinc.com>,
<quic_devipriy@quicinc.com>
Subject: [PATCH V2 01/13] dt-bindings: remoteproc: qcom: Add support for multipd model
Date: Mon, 22 May 2023 03:58:40 +0530 [thread overview]
Message-ID: <20230521222852.5740-2-quic_mmanikan@quicinc.com> (raw)
In-Reply-To: <20230521222852.5740-1-quic_mmanikan@quicinc.com>
Add new binding document for multipd model remoteproc.
IPQ5018, IPQ9574 follows multipd model.
Signed-off-by: Manikanta Mylavarapu <quic_mmanikan@quicinc.com>
---
Changes in V2:
- Fixed all comments and rebased for TOT.
- Changed to BSD-3-Clause based on internal open source team
suggestion.
- Added firmware-name.
.../bindings/remoteproc/qcom,multipd-pil.yaml | 265 ++++++++++++++++++
1 file changed, 265 insertions(+)
create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,multipd-pil.yaml
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,multipd-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,multipd-pil.yaml
new file mode 100644
index 000000000000..3257f27dc569
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,multipd-pil.yaml
@@ -0,0 +1,265 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-3-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/remoteproc/qcom,multipd-pil.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm Multipd Secure Peripheral Image Loader
+
+maintainers:
+ - Bjorn Andersson <andersson@kernel.org>
+ - Mathieu Poirier <mathieu.poirier@linaro.org>
+
+description:
+ Multipd Peripheral Image Loader loads firmware and boots Q6 pd, WCSS pd
+ remoteproc's on the Qualcomm IPQ5018, IPQ9574 SoC. Pd means protection
+ domain. It's similar to process in Linux. Here QDSP6 processor runs each
+ wifi radio functionality on a separate process. One process can't access
+ other process resources, so this is termed as PD i.e protection domain.
+
+properties:
+ compatible:
+ enum:
+ - qcom,ipq5018-q6-mpd
+ - qcom,ipq9574-q6-mpd
+
+ reg:
+ maxItems: 1
+
+ firmware-name:
+ $ref: /schemas/types.yaml#/definitions/string-array
+ description: Firmware name of the Hexagon core
+
+ interrupts-extended:
+ items:
+ - description: Watchdog interrupt
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Handover interrupt
+ - description: Stop acknowledge interrupt
+
+ interrupt-names:
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+
+ qcom,smem-states:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description: States used by the AP to signal the remote processor
+ items:
+ - description: Shutdown Q6
+ - description: Stop Q6
+
+ qcom,smem-state-names:
+ description:
+ Names of the states used by the AP to signal the remote processor
+ items:
+ - const: shutdown
+ - const: stop
+
+ memory-region:
+ items:
+ - description: Q6 pd reserved region
+
+ glink-edge:
+ $ref: /schemas/remoteproc/qcom,glink-edge.yaml#
+ description:
+ Qualcomm G-Link subnode which represents communication edge, channels
+ and devices related to the Modem.
+
+patternProperties:
+ "^pd-1|pd-2|pd-3":
+ type: object
+ description:
+ In Multipd model, WCSS pd depends on Q6 pd i.e Q6 pd should be up before
+ WCSS. It can be achieved by keeping wcss pd node as subnode of Q6
+ device node.
+
+ properties:
+ compatible:
+ enum:
+ - qcom,ipq5018-wcss-ahb-mpd
+ - qcom,ipq9574-wcss-ahb-mpd
+ - qcom,ipq5018-wcss-pcie-mpd
+
+ firmware-name:
+ $ref: /schemas/types.yaml#/definitions/string-array
+ items:
+ - description: Firmware name of the Hexagon core
+
+ interrupts-extended:
+ items:
+ - description: Fatal interrupt
+ - description: Ready interrupt
+ - description: Spawn acknowledge interrupt
+ - description: Stop acknowledge interrupt
+
+ interrupt-names:
+ items:
+ - const: fatal
+ - const: ready
+ - const: spawn-ack
+ - const: stop-ack
+
+ qcom,smem-states:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description: States used by the AP to signal the remote processor
+ items:
+ - description: Shutdown WCSS pd
+ - description: Stop WCSS pd
+ - description: Spawn WCSS pd
+
+ qcom,smem-state-names:
+ description:
+ Names of the states used by the AP to signal the remote processor
+ items:
+ - const: shutdown
+ - const: stop
+ - const: spawn
+
+ required:
+ - compatible
+ - firmware-name
+ - interrupts-extended
+ - interrupt-names
+ - qcom,smem-states
+ - qcom,smem-state-names
+
+ unevaluatedProperties: false
+
+required:
+ - compatible
+ - firmware-name
+ - reg
+ - interrupts-extended
+ - interrupt-names
+ - qcom,smem-states
+ - qcom,smem-state-names
+ - memory-region
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,ipq5018-q6-mpd
+ then:
+ properties:
+ firmware-name:
+ items:
+ - const: IPQ5018/q6_fw.mdt
+ - const: IPQ5018/m3_fw.mdt
+ - const: qcn6122/m3_fw.mdt
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,ipq9574-q6-mpd
+ then:
+ properties:
+ firmware-name:
+ items:
+ - const: IPQ9574/q6_fw.mdt
+ - const: IPQ9574/m3_fw.mdt
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/interrupt-controller/arm-gic.h>
+ q6v5_wcss: remoteproc@cd00000 {
+ compatible = "qcom,ipq5018-q6-mpd";
+ reg = <0x0cd00000 0x4040>;
+ firmware-name = "IPQ5018/q6_fw.mdt",
+ "IPQ5018/m3_fw.mdt",
+ "qcn6122/m3_fw.mdt";
+ 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>;
+ };
+
+ pd-1 {
+ compatible = "qcom,ipq5018-wcss-ahb-mpd";
+ firmware-name = "IPQ5018/q6_fw.mdt";
+ 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";
+ firmware-name = "IPQ5018/q6_fw.mdt";
+ interrupts-extended = <&wcss_smp2p_in 16 0>,
+ <&wcss_smp2p_in 17 0>,
+ <&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";
+ };
+
+ pd-3 {
+ compatible = "qcom,ipq5018-wcss-pcie-mpd";
+ firmware-name = "IPQ5018/q6_fw.mdt";
+ 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";
+ };
+ };
--
2.17.1
next prev parent reply other threads:[~2023-05-21 22:29 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-21 22:28 [PATCH V2 00/13] Add multipd remoteproc support Manikanta Mylavarapu
2023-05-21 22:28 ` Manikanta Mylavarapu [this message]
2023-05-30 10:46 ` [PATCH V2 01/13] dt-bindings: remoteproc: qcom: Add support for multipd model Krzysztof Kozlowski
2023-06-05 5:58 ` Manikanta Mylavarapu
2023-05-30 10:58 ` Krzysztof Kozlowski
2023-06-05 8:03 ` Manikanta Mylavarapu
2023-06-05 12:02 ` Manikanta Mylavarapu
2023-06-06 6:14 ` Krzysztof Kozlowski
2023-06-06 12:11 ` Manikanta Mylavarapu
2023-06-06 13:49 ` Kalle Valo
2023-06-07 8:10 ` Manikanta Mylavarapu
2023-06-07 8:27 ` Krzysztof Kozlowski
2023-06-14 11:43 ` Manikanta Mylavarapu
2023-06-14 12:49 ` Manikanta Mylavarapu
2023-06-14 13:59 ` Krzysztof Kozlowski
2023-06-21 11:39 ` Manikanta Mylavarapu
2023-06-24 7:19 ` Krzysztof Kozlowski
2023-06-30 7:12 ` Manikanta Mylavarapu
2023-07-01 10:51 ` Krzysztof Kozlowski
2023-07-18 12:10 ` Manikanta Mylavarapu
2023-06-08 12:59 ` Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 02/13] dt-bindings: mailbox: qcom: Add IPQ5018 APCS compatible Manikanta Mylavarapu
2023-05-30 10:59 ` Krzysztof Kozlowski
2023-05-21 22:28 ` [PATCH V2 03/13] dt-bindings: arm: qcom: Document the Qualcomm rdp432-c1 board Manikanta Mylavarapu
2023-05-30 10:59 ` Krzysztof Kozlowski
2023-06-05 5:29 ` Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 04/13] dt-bindings: clock: qcom: gcc-ipq5018: remove q6 clocks macros Manikanta Mylavarapu
2023-05-30 11:01 ` Krzysztof Kozlowski
2023-06-01 18:55 ` Robert Marko
2023-06-05 6:22 ` Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 05/13] dt-bindings: clock: qcom: gcc-ipq9574: remove q6 bring up clock macros Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 06/13] clk: qcom: ipq5018: remove q6 bring up clocks Manikanta Mylavarapu
2023-05-30 11:03 ` Krzysztof Kozlowski
2023-06-06 12:17 ` Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 07/13] clk: qcom: ipq9574: " Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 08/13] firmware: qcom_scm: ipq5018: Add WCSS AHB pd support Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 09/13] remoteproc: qcom: q6v5: Add multipd interrupts support Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 10/13] remoteproc: qcom: Add Hexagon based multipd rproc driver Manikanta Mylavarapu
2023-06-24 7:28 ` Krzysztof Kozlowski
[not found] ` <54f06704-a849-7049-5956-31cb4765a1eb@quicinc.com>
2023-06-30 10:29 ` Manikanta Mylavarapu
2023-07-01 10:55 ` Krzysztof Kozlowski
2023-07-18 12:10 ` Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 11/13] arm64: dtsi: qcom: ipq5018: enable nodes required for multipd Manikanta Mylavarapu
2023-05-30 11:05 ` Krzysztof Kozlowski
2023-06-05 5:35 ` Manikanta Mylavarapu
2023-06-05 5:38 ` Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 12/13] arm64: dts: qcom: ipq5018: Add RDP432-c1 board support Manikanta Mylavarapu
2023-05-30 11:06 ` Krzysztof Kozlowski
2023-06-08 12:33 ` Manikanta Mylavarapu
2023-05-21 22:28 ` [PATCH V2 13/13] arm64: dtsi: qcom: ipq9574: Add nodes to bring up multipd Manikanta Mylavarapu
2023-06-24 7:01 ` Krzysztof Kozlowski
[not found] ` <15bdbd23-9066-ee20-1e29-1d086340c133@quicinc.com>
2023-06-30 7:11 ` Manikanta Mylavarapu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230521222852.5740-2-quic_mmanikan@quicinc.com \
--to=quic_mmanikan@quicinc.com \
--cc=agross@kernel.org \
--cc=andersson@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jassisinghbrar@gmail.com \
--cc=konrad.dybcio@linaro.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kvalo@kernel.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=loic.poulain@linaro.org \
--cc=mathieu.poirier@linaro.org \
--cc=mturquette@baylibre.com \
--cc=quic_anusha@quicinc.com \
--cc=quic_devipriy@quicinc.com \
--cc=quic_eberman@quicinc.com \
--cc=quic_kathirav@quicinc.com \
--cc=quic_mojha@quicinc.com \
--cc=quic_poovendh@quicinc.com \
--cc=quic_sjaganat@quicinc.com \
--cc=quic_srichara@quicinc.com \
--cc=quic_varada@quicinc.com \
--cc=robh+dt@kernel.org \
--cc=sboyd@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).