From nobody Thu Dec 18 19:04:09 2025 Received: from mail-oo1-f50.google.com (mail-oo1-f50.google.com [209.85.161.50]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2417F1D7E42 for ; Wed, 10 Dec 2025 00:37:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.161.50 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765327063; cv=none; b=P901mr/q3MAzkCK7l51r6iF4OkD2iv6CarmsxonRRSZ4uWfycXBLw/LB2F9yDoGaJHuEes1gsVYoU8jvL1POFqbJS0m0NyqwieZeoimxsC6sNq7nDK+bhmXB8792Q5KB2Z/0uFzh+E71aRh55oOdsgA/Fe/25VSN4s9QueZ6TJY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765327063; c=relaxed/simple; bh=MkNz6YqHsBSFvsaxHTigfveKtaQAkdkwyH1gzRZO2Wk=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ZMgWffzOmWHpkfNZN9xMM/WdXw7L+MWqEIr6W6VuwvWoizJ0nPeGcRmJtu0wWnwHipnW+Cui7N2wX+gBPXJa0fA8C7ko3Be9zcdK5jDm+BcTK1zwa246RT0aR+98Fuk6c3E3P4TijHrvnsiyOuwNPJm7s/RRSWGQZQsN51QbEDg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=Db2ZIqMB; arc=none smtp.client-ip=209.85.161.50 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Db2ZIqMB" Received: by mail-oo1-f50.google.com with SMTP id 006d021491bc7-6592f1f55a8so1871937eaf.2 for ; Tue, 09 Dec 2025 16:37:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765327060; x=1765931860; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=z+PYBSiJp/d+9az4w/HJpjkv67V4ACob7nnsTPY6B7o=; b=Db2ZIqMBsuRCQzCcf10BznD5P8LWHoZ08kxUgnERlfgikX3bQ1czrma0lFeSoQj3rk 63uzZFJF1QsN/I8vH9OeHhc86HWIRkqKZ/zk8kvltYs9RRXrmIopF2ZQtLf3GQ5wZGzM rtmznEyRe+KV42dXKml8T2Re6alGYQEQTdniRXV9gYEyJc7S6V1i8RTd55eKYdpryxD9 5JDL5OsHyRncmy0XRUE5QpGmA+oGlad5LdylP9riVaoU6UhFzqcFr8SBmY3ksh4PRm45 rrHlKPl9zk7wWneYiNAucO7jGl2HIyFxGRcSI8QjcAh6/3AfmTNszqt4jWEvN0JnS4x0 Otqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765327060; x=1765931860; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=z+PYBSiJp/d+9az4w/HJpjkv67V4ACob7nnsTPY6B7o=; b=AFx1i1Y9gkz3A8fxRwNJnsZmbuuzKIHugIFaV464H0FBfngYEDz3xjh2F1mVpOWStc WCo0b9n5FctUjwUrQUJeeYhZfhy1sYEE8gL9whrlAvOYTGRCuJ6eHj4K4EwT/Lcb31li kKO28uVAjQmWHEXhiLFznAdyHMLn5Jh5eYjLZ4iIkaUHRmkCC1xUKuu9cPPyZV+31gy/ YNYRTC9o7eRXPcSRRGmsFuD8hDOvE9ExOcuXanQ+khOzIVGlvOmfSoFeKvhyKme96WH4 MEX/V/yOgKmzSn954PgvGQOZHliZuaVq3aqxh0mwfRt8QA6I7Re1/F1Bgeuqwx8IJgat TMWA== X-Forwarded-Encrypted: i=1; AJvYcCVX34Df6j0O3xiUSk168/5O4UXlB7nK/4XHt+iAvkBXDsCVwcg+ySFOlobNdlQuDTV65FhWviL/GZ3xfw4=@vger.kernel.org X-Gm-Message-State: AOJu0YwyN6cO7xHG9Ut6JdgrRTTPp3BnyqW3ixk7Z30ATxvREdXXvwDt SAcMUmMimdf+6PWcLio/36D/8cSI6QehSObOSVp65yePLgtV/M0qhIlnvf3VOs6/ X-Gm-Gg: ASbGncuG6NNYlb9eDuyQ+JEUEhgaPDCLKDiHso1c1qWZtYYQoQzX7sof/HJdsupaqlt vF0sCU1hVXLLT8ev0QJiwvyKNgPX7W+d49E2PASfuVjZ8XIhRvtXJkdZo0j7HuYKyzp5mZRs+/b n+kcmvmyLABiMDDdrlBHGLRx1APIHiHT8ie6MQPt79QCg6q78ZNMtaZZ7pO9RkdoBHS25aRtu1f 5Mc8dVtpBNzM/0eAhUPnkiz0MhuZ0QQeVdH+4Hhwjg0qU39lRqMQf55hp0iCAYC9GHaOtwBbE9C T42naSb6yPS3Dn50OIIJmqluRBjHQhEcJft9Xrwxa2DA7EWX6RMPQVtfzTu36qPDMxuw39KGXLN b8rXNW63H4OdWwZVPz/2j/xMHL/SMwMlUEHjlyMhyz+f1rnxqfLzScksNIPweR3Pvt5m70iRj8B l93YiTSPqh8+Y8g6Ev7YzaUXsBSwoNMlBQNNmHgWGUDl6lCXeTIvXa9xIwzQsaC7hBFrZr2eEVT EOkmvAedrEeahZ79NvSXQbi4Y67 X-Google-Smtp-Source: AGHT+IFmHaV8CXvM01LwOOyl6BMhdBjJsxkT1IkIhIQRnuDkPGFOEOlSZ4eSnruo/u54dcHyKVEoOQ== X-Received: by 2002:a05:6820:210d:b0:659:9a49:8e71 with SMTP id 006d021491bc7-65b2acebe42mr515805eaf.65.1765327060188; Tue, 09 Dec 2025 16:37:40 -0800 (PST) Received: from nukework.lan (c-98-57-15-22.hsd1.tx.comcast.net. [98.57.15.22]) by smtp.gmail.com with ESMTPSA id 006d021491bc7-6597ea6807esm8588826eaf.0.2025.12.09.16.37.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 09 Dec 2025 16:37:39 -0800 (PST) From: Alexandru Gagniuc To: robh@kernel.org, krzk+dt@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org, Bjorn Andersson , Mathieu Poirier , Placeholder Maintainer Cc: konradybcio@kernel.org, linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, Alexandru Gagniuc Subject: [PATCH RFC 1/3] dt-bindings: remoteproc: qcom,ipq8074-wcss-pil: convert to DT schema Date: Tue, 9 Dec 2025 18:37:23 -0600 Message-ID: <20251210003729.3909663-2-mr.nuke.me@gmail.com> X-Mailer: git-send-email 2.45.1 In-Reply-To: <20251210003729.3909663-1-mr.nuke.me@gmail.com> References: <20251210003729.3909663-1-mr.nuke.me@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" 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 --- .../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,ipq95= 74-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.ya= ml @@ -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 + +description: + The IPQ WCSS peripheral image loader is used to load firmware on the Qua= lcomm + 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 th= ree + 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/D= ocumentation/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 fir= mware -on the Qualcomm Hexagon core. - -- compatible: - Usage: required - Value type: - Definition: must be one of: - "qcom,ipq8074-wcss-pil" - "qcom,qcs404-wcss-pil" - -- reg: - Usage: required - Value type: - Definition: must specify the base address and size of the qdsp6 and - rmb register blocks - -- reg-names: - Usage: required - Value type: - Definition: must be "q6dsp" and "rmb" - -- interrupts-extended: - Usage: required - Value type: - Definition: reference to the interrupts that match interrupt-names - -- interrupt-names: - Usage: required - Value type: - Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack" - -- clocks: - Usage: required - Value type: - Definition: reference to the clocks that match clock-names - -- clock-names: - Usage: required - Value type: - 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: - Definition: reference to the list of 3 reset-controllers for the - wcss sub-system - -- reset-names: - Usage: required - Value type: - Definition: must be "wcss_aon_reset", "wcss_reset", "wcss_q6_reset" - for the wcss sub-system - -- memory-region: - Usage: required - Value type: - 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: - Definition: reference to the regulators to be held on behalf of the - booting of the Hexagon core - -- qcom,smem-states: - Usage: required - Value type: - Definition: reference to the smem state for requesting the Hexagon to - shut down - -- qcom,smem-state-names: - Usage: required - Value type: - Definition: must be "stop" - -- qcom,halt-regs: - Usage: required - Value type: - 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: - 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. --=20 2.45.1