[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251210003729.3909663-2-mr.nuke.me@gmail.com>
Date: Tue, 9 Dec 2025 18:37:23 -0600
From: Alexandru Gagniuc <mr.nuke.me@...il.com>
To: robh@...nel.org,
krzk+dt@...nel.org,
conor+dt@...nel.org,
devicetree@...r.kernel.org,
Bjorn Andersson <andersson@...nel.org>,
Mathieu Poirier <mathieu.poirier@...aro.org>,
Placeholder Maintainer <placeholder@...nel.org>
Cc: konradybcio@...nel.org,
linux-arm-msm@...r.kernel.org,
linux-remoteproc@...r.kernel.org,
linux-kernel@...r.kernel.org,
Alexandru Gagniuc <mr.nuke.me@...il.com>
Subject: [PATCH RFC 1/3] dt-bindings: remoteproc: qcom,ipq8074-wcss-pil: convert to DT schema
Convert the QCS404 and IPQ WCSS Peripheral Image Loader bindings to DT
schema. The text bindngs incorrectly implied that IPQ8074 needs only
one qcom,smem-states entry. This is only true for QCS404. IPQ8074
requires both "stop" and "shutdown".
Signed-off-by: Alexandru Gagniuc <mr.nuke.me@...il.com>
---
.../remoteproc/qcom,ipq9574-wcss-pil.yaml | 167 ++++++++++++++++++
.../bindings/remoteproc/qcom,q6v5.txt | 102 -----------
2 files changed, 167 insertions(+), 102 deletions(-)
create mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,ipq9574-wcss-pil.yaml
delete mode 100644 Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,ipq9574-wcss-pil.yaml b/Documentation/devicetree/bindings/remoteproc/qcom,ipq9574-wcss-pil.yaml
new file mode 100644
index 0000000000000..d28f42661d084
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/qcom,ipq9574-wcss-pil.yaml
@@ -0,0 +1,167 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/remoteproc/qcom,ipq9574-wcss-pil.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Qualcomm IPQ WCSS Peripheral Image Loader
+
+maintainers:
+ - Placeholder Maintainer <placeholder@...nel.org>
+
+description:
+ The IPQ WCSS peripheral image loader is used to load firmware on the Qualcomm
+ Q6 processor that exposes WiFi-6 devices to the OS via the AHB bus. It is
+ generally used by ath11k to start up the wireless firmware.
+
+properties:
+ compatible:
+ enum:
+ - qcom,ipq8074-wcss-pil
+ - qcom,qcs404-wcss-pil
+
+ reg:
+ minItems: 2
+ maxItems: 2
+ description:
+ The base address and size of the QDSP6, and RMB register blocks
+
+ reg-names:
+ items:
+ - const: qdsp6
+ - const: rmb
+
+ interrupts-extended:
+ minItems: 5
+ maxItems: 5
+
+ interrupt-names:
+ items:
+ - const: wdog
+ - const: fatal
+ - const: ready
+ - const: handover
+ - const: stop-ack
+
+ resets:
+ minItems: 3
+ maxItems: 3
+
+ reset-names:
+ items:
+ - const: wcss_aon_reset
+ - const: wcss_reset
+ - const: wcss_q6_reset
+
+ clocks:
+ minItems: 10
+ maxItems: 13
+
+ clock-names:
+ minItems: 10
+ maxItems: 13
+
+ cx-supply:
+ description:
+ reference to the regulators used for the booting of the Hexagon core
+
+ memory-region:
+ description: Reference to wcss reserved-memory region
+
+ qcom,halt-regs:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description:
+ A phandle reference to a syscon representing TCSR followed by the three
+ offsets within syscon for q6, wcss and nc halt registers.
+ items:
+ - items:
+ - description: phandle to TCSR_MUTEX registers
+ - description: offset to the Q6 halt register
+ - description: offset to the wcss halt register
+ - description: offset to the nc halt register
+
+ qcom,smem-states:
+ $ref: /schemas/types.yaml#/definitions/phandle-array
+ description: States used by the AP to signal the remote processor
+
+ qcom,smem-state-names:
+ description:
+ Names of the states used by the AP to signal the remote processor
+
+ 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.
+
+required:
+ - compatible
+ - reg
+ - reg-names
+ - interrupts-extended
+ - interrupt-names
+ - memory-region
+ - qcom,halt-regs
+ - qcom,smem-states
+ - qcom,smem-state-names
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,ipq8074-wcss-pil
+ then:
+ properties:
+ qcom,smem-states:
+ items:
+ - description: Shutdown Q6
+ - description: Stop Q6
+ qcom,smem-state-names:
+ items:
+ - const: shutdown
+ - const: stop
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,qcs404-wcss-pil
+ then:
+ properties:
+ qcom,smem-states:
+ maxItems: 1
+ qcom,smem-state-names:
+ items:
+ - const: stop
+
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,qcs404-wcss-pil
+ then:
+ properties:
+ clocks:
+ minItems: 10
+ maxItems: 10
+ clock-names:
+ items:
+ - const: xo
+ - const: gcc_abhs_cbcr
+ - const: gcc_axim_cbcr
+ - const: lcc_ahbfabric_cbc
+ - const: tcsr_lcc_cbc
+ - const: lcc_abhs_cbc
+ - const: lcc_tcm_slave_cbc
+ - const: lcc_abhm_cbc
+ - const: lcc_axim_cbc
+ - const: lcc_bcr_sleep
+ required:
+ - clocks
+ - clock-names
+ - cx-supply
+
+additionalProperties: false
diff --git a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt b/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt
deleted file mode 100644
index 573a88b606773..0000000000000
--- a/Documentation/devicetree/bindings/remoteproc/qcom,q6v5.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-Qualcomm Hexagon Peripheral Image Loader
-
-This document defines the binding for a component that loads and boots firmware
-on the Qualcomm Hexagon core.
-
-- compatible:
- Usage: required
- Value type: <string>
- Definition: must be one of:
- "qcom,ipq8074-wcss-pil"
- "qcom,qcs404-wcss-pil"
-
-- reg:
- Usage: required
- Value type: <prop-encoded-array>
- Definition: must specify the base address and size of the qdsp6 and
- rmb register blocks
-
-- reg-names:
- Usage: required
- Value type: <stringlist>
- Definition: must be "q6dsp" and "rmb"
-
-- interrupts-extended:
- Usage: required
- Value type: <prop-encoded-array>
- Definition: reference to the interrupts that match interrupt-names
-
-- interrupt-names:
- Usage: required
- Value type: <stringlist>
- Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
-
-- clocks:
- Usage: required
- Value type: <phandle>
- Definition: reference to the clocks that match clock-names
-
-- clock-names:
- Usage: required
- Value type: <stringlist>
- Definition: The clocks needed depend on the compatible string:
- qcom,ipq8074-wcss-pil:
- no clock names required
- qcom,qcs404-wcss-pil:
- must be "xo", "gcc_abhs_cbcr", "gcc_abhs_cbcr",
- "gcc_axim_cbcr", "lcc_ahbfabric_cbc", "tcsr_lcc_cbc",
- "lcc_abhs_cbc", "lcc_tcm_slave_cbc", "lcc_abhm_cbc",
- "lcc_axim_cbc", "lcc_bcr_sleep"
-
-- resets:
- Usage: required
- Value type: <phandle>
- Definition: reference to the list of 3 reset-controllers for the
- wcss sub-system
-
-- reset-names:
- Usage: required
- Value type: <stringlist>
- Definition: must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset"
- for the wcss sub-system
-
-- memory-region:
- Usage: required
- Value type: <phandle>
- Definition: reference to wcss reserved-memory region.
-
-For the compatible string below the following supplies are required:
- "qcom,qcs404-wcss-pil"
-- cx-supply:
- Usage: required
- Value type: <phandle>
- Definition: reference to the regulators to be held on behalf of the
- booting of the Hexagon core
-
-- qcom,smem-states:
- Usage: required
- Value type: <phandle>
- Definition: reference to the smem state for requesting the Hexagon to
- shut down
-
-- qcom,smem-state-names:
- Usage: required
- Value type: <stringlist>
- Definition: must be "stop"
-
-- qcom,halt-regs:
- Usage: required
- Value type: <prop-encoded-array>
- Definition: a phandle reference to a syscon representing TCSR followed
- by the three offsets within syscon for q6, wcss and nc
- halt registers.
-
-- memory-region:
- Usage: required
- Value type: <phandle>
- Definition: reference to the reserved-memory for the region
-
-The Hexagon node may also have an subnode named either "smd-edge" or
-"glink-edge" that describes the communication edge, channels and devices
-related to the Hexagon. See ../soc/qcom/qcom,smd.yaml and
-../soc/qcom/qcom,glink.txt for details on how to describe these.
--
2.45.1
Powered by blists - more mailing lists