Message ID | 20241015182637.955753-2-quic_rajkbhag@quicinc.com |
---|---|
State | New |
Headers | show |
Series | wifi: ath12k: add Ath12k AHB driver support for IPQ5332 | expand |
On Tue, Oct 15, 2024 at 11:56:16PM +0530, Raj Kumar Bhagat wrote: > Add device-tree bindings for the ATH12K module found in the IPQ5332 > device. > > Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> > --- That's a v2, what changed? Did you ignore entire review? Limited review follows because of that (I am not going to do the same work twice). > .../net/wireless/qcom,ath12k-ahb.yaml | 293 ++++++++++++++++++ > 1 file changed, 293 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml > > diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml > new file mode 100644 > index 000000000000..54784e396d7e > --- /dev/null > +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml > @@ -0,0 +1,293 @@ > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) > +# Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. > +%YAML 1.2 > +--- > +$id: http://devicetree.org/schemas/net/wireless/qcom,ath12k-ahb.yaml# > +$schema: http://devicetree.org/meta-schemas/core.yaml# > + > +title: Qualcomm Technologies ath12k wireless devices (AHB) > + > +maintainers: > + - Kalle Valo <kvalo@kernel.org> > + - Jeff Johnson <jjohnson@kernel.org> > + > +description: > + Qualcomm Technologies IEEE 802.11be AHB devices. > + > +properties: > + compatible: > + enum: > + - qcom,ipq5332-wifi > + > + reg: > + maxItems: 1 > + > + clocks: > + items: > + - description: XO clock used for copy engine > + > + clock-names: > + items: > + - const: gcc_xo_clk Drop _clk, drop gcc_. Look how this clock is called *everywhere* else. > + > + interrupts: > + items: > + - description: Ready interrupt > + - description: Spawn acknowledge interrupt > + - description: Stop acknowledge interrupt > + - description: misc-pulse1 interrupt events > + - description: misc-latch interrupt events > + - description: sw exception interrupt events > + - description: interrupt event for ring CE0 > + - description: interrupt event for ring CE1 > + - description: interrupt event for ring CE2 > + - description: interrupt event for ring CE3 > + - description: interrupt event for ring CE4 > + - description: interrupt event for ring CE5 > + - description: interrupt event for ring CE6 > + - description: interrupt event for ring CE7 > + - description: interrupt event for ring CE8 > + - description: interrupt event for ring CE9 > + - description: interrupt event for ring CE10 > + - description: interrupt event for ring CE11 > + - description: interrupt event for ring host2wbm-desc-feed > + - description: interrupt event for ring host2reo-re-injection > + - description: interrupt event for ring host2reo-command > + - description: interrupt event for ring host2rxdma-monitor-ring1 > + - description: interrupt event for ring reo2ost-exception > + - description: interrupt event for ring wbm2host-rx-release > + - description: interrupt event for ring reo2host-status > + - description: interrupt event for ring reo2host-destination-ring4 > + - description: interrupt event for ring reo2host-destination-ring3 > + - description: interrupt event for ring reo2host-destination-ring2 > + - description: interrupt event for ring reo2host-destination-ring1 > + - description: interrupt event for ring rxdma2host-monitor-destination-mac3 > + - description: interrupt event for ring rxdma2host-monitor-destination-mac2 > + - description: interrupt event for ring rxdma2host-monitor-destination-mac1 > + - description: interrupt event for ring host2rxdma-host-buf-ring-mac3 > + - description: interrupt event for ring host2rxdma-host-buf-ring-mac2 > + - description: interrupt event for ring host2rxdma-host-buf-ring-mac1 > + - description: interrupt event for ring host2tcl-input-ring4 > + - description: interrupt event for ring host2tcl-input-ring3 > + - description: interrupt event for ring host2tcl-input-ring2 > + - description: interrupt event for ring host2tcl-input-ring1 > + - description: interrupt event for ring wbm2host-tx-completions-ring4 > + - description: interrupt event for ring wbm2host-tx-completions-ring3 > + - description: interrupt event for ring wbm2host-tx-completions-ring2 > + - description: interrupt event for ring wbm2host-tx-completions-ring1 > + - description: interrupt event for ring host2tx-monitor-ring1 > + - description: interrupt event for ring txmon2host-monitor-destination-mac3 > + - description: interrupt event for ring txmon2host-monitor-destination-mac2 > + - description: interrupt event for ring txmon2host-monitor-destination-mac1 > + - description: interrupt event for umac_reset > + > + interrupt-names: > + items: > + - const: ready > + - const: spawn > + - const: stop-ack > + - const: misc-pulse1 > + - const: misc-latch > + - const: sw-exception > + - const: ce0 > + - const: ce1 > + - const: ce2 > + - const: ce3 > + - const: ce4 > + - const: ce5 > + - const: ce6 > + - const: ce7 > + - const: ce8 > + - const: ce9 > + - const: ce10 > + - const: ce11 > + - const: host2wbm-desc-feed > + - const: host2reo-re-injection > + - const: host2reo-command > + - const: host2rxdma-monitor-ring1 > + - const: reo2ost-exception > + - const: wbm2host-rx-release > + - const: reo2host-status > + - const: reo2host-destination-ring4 > + - const: reo2host-destination-ring3 > + - const: reo2host-destination-ring2 > + - const: reo2host-destination-ring1 > + - const: rxdma2host-monitor-destination-mac3 > + - const: rxdma2host-monitor-destination-mac2 > + - const: rxdma2host-monitor-destination-mac1 > + - const: host2rxdma-host-buf-ring-mac3 > + - const: host2rxdma-host-buf-ring-mac2 > + - const: host2rxdma-host-buf-ring-mac1 > + - const: host2tcl-input-ring4 > + - const: host2tcl-input-ring3 > + - const: host2tcl-input-ring2 > + - const: host2tcl-input-ring1 > + - const: wbm2host-tx-completions-ring4 > + - const: wbm2host-tx-completions-ring3 > + - const: wbm2host-tx-completions-ring2 > + - const: wbm2host-tx-completions-ring1 > + - const: host2tx-monitor-ring1 > + - const: txmon2host-monitor-destination-mac3 > + - const: txmon2host-monitor-destination-mac2 > + - const: txmon2host-monitor-destination-mac1 > + - const: umac_reset > + > + memory-region: > + minItems: 1 upper constraint > + description: > + phandle to a node describing reserved memory (System RAM memory) > + used by ath12k firmware (see bindings/reserved-memory/reserved-memory.txt) > + > + qcom,rproc: > + $ref: /schemas/types.yaml#/definitions/phandle > + description: > + DT entry of a WCSS node. WCSS node is the child node of q6 remoteproc driver. > + (see bindings/remoteproc/qcom,multipd-pil.yaml) DT nodes are not children of drivers. But other DT nodes. Explain why this phandle is needed, what is it for. To me it looks like you incorrectly organized your nodes. > + > + 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 > + - reg > + - clocks > + - clock-names > + - interrupts > + - interrupt-names > + - memory-region > + - qcom,rproc > + - qcom,smem-states > + - qcom,smem-state-names > + > +additionalProperties: false > + > +examples: > + - | > + Stray blank line Best regards, Krzysztof
On 10/16/2024 12:32 PM, Krzysztof Kozlowski wrote: > On Tue, Oct 15, 2024 at 11:56:16PM +0530, Raj Kumar Bhagat wrote: >> Add device-tree bindings for the ATH12K module found in the IPQ5332 >> device. >> >> Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> >> --- > > That's a v2, what changed? > > Did you ignore entire review? Limited review follows because of that (I > am not going to do the same work twice). > Review comments in version 1 are addressed. Per-patch version log is not added here. But we have consolidated version log in the cover-letter. Will include per-patch version log from next version. Below are the version log for v2: - "qcom,board_id" property is dropped. This is not the direct dependency for Ath12k AHB support, hence it can be taken up separately. - "qcom,bdf-addr" property is dropped in device-tree and moved to ath12k driver. - Currently we have only one compatible enum (qcom,ipq5332-wifi), hence conditional if() check for defining the binding is removed. - "reserved-memory" node is dropped from example DTS. - "status" property is dropped in wifi node of example DTS. >> .../net/wireless/qcom,ath12k-ahb.yaml | 293 ++++++++++++++++++ >> 1 file changed, 293 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml >> >> diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml >> new file mode 100644 >> index 000000000000..54784e396d7e >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml >> @@ -0,0 +1,293 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +# Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/net/wireless/qcom,ath12k-ahb.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm Technologies ath12k wireless devices (AHB) >> + >> +maintainers: >> + - Kalle Valo <kvalo@kernel.org> >> + - Jeff Johnson <jjohnson@kernel.org> >> + >> +description: >> + Qualcomm Technologies IEEE 802.11be AHB devices. >> + >> +properties: >> + compatible: >> + enum: >> + - qcom,ipq5332-wifi >> + >> + reg: >> + maxItems: 1 >> + >> + clocks: >> + items: >> + - description: XO clock used for copy engine >> + >> + clock-names: >> + items: >> + - const: gcc_xo_clk > > Drop _clk, drop gcc_. Look how this clock is called *everywhere* else. > Thanks, Based on other bindings example, will rename to "xo" >> + >> + interrupts: >> + items: >> + - description: Ready interrupt >> + - description: Spawn acknowledge interrupt >> + - description: Stop acknowledge interrupt >> + - description: misc-pulse1 interrupt events >> + - description: misc-latch interrupt events >> + - description: sw exception interrupt events >> + - description: interrupt event for ring CE0 >> + - description: interrupt event for ring CE1 >> + - description: interrupt event for ring CE2 >> + - description: interrupt event for ring CE3 >> + - description: interrupt event for ring CE4 >> + - description: interrupt event for ring CE5 >> + - description: interrupt event for ring CE6 >> + - description: interrupt event for ring CE7 >> + - description: interrupt event for ring CE8 >> + - description: interrupt event for ring CE9 >> + - description: interrupt event for ring CE10 >> + - description: interrupt event for ring CE11 >> + - description: interrupt event for ring host2wbm-desc-feed >> + - description: interrupt event for ring host2reo-re-injection >> + - description: interrupt event for ring host2reo-command >> + - description: interrupt event for ring host2rxdma-monitor-ring1 >> + - description: interrupt event for ring reo2ost-exception >> + - description: interrupt event for ring wbm2host-rx-release >> + - description: interrupt event for ring reo2host-status >> + - description: interrupt event for ring reo2host-destination-ring4 >> + - description: interrupt event for ring reo2host-destination-ring3 >> + - description: interrupt event for ring reo2host-destination-ring2 >> + - description: interrupt event for ring reo2host-destination-ring1 >> + - description: interrupt event for ring rxdma2host-monitor-destination-mac3 >> + - description: interrupt event for ring rxdma2host-monitor-destination-mac2 >> + - description: interrupt event for ring rxdma2host-monitor-destination-mac1 >> + - description: interrupt event for ring host2rxdma-host-buf-ring-mac3 >> + - description: interrupt event for ring host2rxdma-host-buf-ring-mac2 >> + - description: interrupt event for ring host2rxdma-host-buf-ring-mac1 >> + - description: interrupt event for ring host2tcl-input-ring4 >> + - description: interrupt event for ring host2tcl-input-ring3 >> + - description: interrupt event for ring host2tcl-input-ring2 >> + - description: interrupt event for ring host2tcl-input-ring1 >> + - description: interrupt event for ring wbm2host-tx-completions-ring4 >> + - description: interrupt event for ring wbm2host-tx-completions-ring3 >> + - description: interrupt event for ring wbm2host-tx-completions-ring2 >> + - description: interrupt event for ring wbm2host-tx-completions-ring1 >> + - description: interrupt event for ring host2tx-monitor-ring1 >> + - description: interrupt event for ring txmon2host-monitor-destination-mac3 >> + - description: interrupt event for ring txmon2host-monitor-destination-mac2 >> + - description: interrupt event for ring txmon2host-monitor-destination-mac1 >> + - description: interrupt event for umac_reset >> + >> + interrupt-names: >> + items: >> + - const: ready >> + - const: spawn >> + - const: stop-ack >> + - const: misc-pulse1 >> + - const: misc-latch >> + - const: sw-exception >> + - const: ce0 >> + - const: ce1 >> + - const: ce2 >> + - const: ce3 >> + - const: ce4 >> + - const: ce5 >> + - const: ce6 >> + - const: ce7 >> + - const: ce8 >> + - const: ce9 >> + - const: ce10 >> + - const: ce11 >> + - const: host2wbm-desc-feed >> + - const: host2reo-re-injection >> + - const: host2reo-command >> + - const: host2rxdma-monitor-ring1 >> + - const: reo2ost-exception >> + - const: wbm2host-rx-release >> + - const: reo2host-status >> + - const: reo2host-destination-ring4 >> + - const: reo2host-destination-ring3 >> + - const: reo2host-destination-ring2 >> + - const: reo2host-destination-ring1 >> + - const: rxdma2host-monitor-destination-mac3 >> + - const: rxdma2host-monitor-destination-mac2 >> + - const: rxdma2host-monitor-destination-mac1 >> + - const: host2rxdma-host-buf-ring-mac3 >> + - const: host2rxdma-host-buf-ring-mac2 >> + - const: host2rxdma-host-buf-ring-mac1 >> + - const: host2tcl-input-ring4 >> + - const: host2tcl-input-ring3 >> + - const: host2tcl-input-ring2 >> + - const: host2tcl-input-ring1 >> + - const: wbm2host-tx-completions-ring4 >> + - const: wbm2host-tx-completions-ring3 >> + - const: wbm2host-tx-completions-ring2 >> + - const: wbm2host-tx-completions-ring1 >> + - const: host2tx-monitor-ring1 >> + - const: txmon2host-monitor-destination-mac3 >> + - const: txmon2host-monitor-destination-mac2 >> + - const: txmon2host-monitor-destination-mac1 >> + - const: umac_reset >> + >> + memory-region: >> + minItems: 1 > > upper constraint > >> + description: >> + phandle to a node describing reserved memory (System RAM memory) >> + used by ath12k firmware (see bindings/reserved-memory/reserved-memory.txt) >> + >> + qcom,rproc: >> + $ref: /schemas/types.yaml#/definitions/phandle >> + description: >> + DT entry of a WCSS node. WCSS node is the child node of q6 remoteproc driver. >> + (see bindings/remoteproc/qcom,multipd-pil.yaml) > > DT nodes are not children of drivers. But other DT nodes. Explain why > this phandle is needed, what is it for. > > To me it looks like you incorrectly organized your nodes. > This phandle is required by wifi driver (ath12k) to retrieve the correct remote processor (rproc_get_by_phandle()). Ath12k driver needs this rproc to interact with the remote processor (example: booting-up remote processor). In next version, will correct the description based on existing bindings (qcom,ath11k.yaml). >> + >> + 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 >> + - reg >> + - clocks >> + - clock-names >> + - interrupts >> + - interrupt-names >> + - memory-region >> + - qcom,rproc >> + - qcom,smem-states >> + - qcom,smem-state-names >> + >> +additionalProperties: false >> + >> +examples: >> + - | >> + > > Stray blank line > Will update in next version. > Best regards, > Krzysztof >
On 16/10/2024 10:37, Raj Kumar Bhagat wrote: > On 10/16/2024 12:32 PM, Krzysztof Kozlowski wrote: >> On Tue, Oct 15, 2024 at 11:56:16PM +0530, Raj Kumar Bhagat wrote: >>> Add device-tree bindings for the ATH12K module found in the IPQ5332 >>> device. >>> >>> Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> >>> --- >> >> That's a v2, what changed? >> >> Did you ignore entire review? Limited review follows because of that (I >> am not going to do the same work twice). >> > > Review comments in version 1 are addressed. > > Per-patch version log is not added here. But we have consolidated version log > in the cover-letter. Will include per-patch version log from next version. Hm? There is no such in cover letter. There is description, dependencies and list of commits which indicates end (format-patch standard stuff). > > Below are the version log for v2: > - "qcom,board_id" property is dropped. This is not the direct dependency for Ath12k > AHB support, hence it can be taken up separately. > - "qcom,bdf-addr" property is dropped in device-tree and moved to ath12k driver. > - Currently we have only one compatible enum (qcom,ipq5332-wifi), hence conditional > if() check for defining the binding is removed. > - "reserved-memory" node is dropped from example DTS. > - "status" property is dropped in wifi node of example DTS. >>> + >>> + clock-names: >>> + items: >>> + - const: gcc_xo_clk >> >> Drop _clk, drop gcc_. Look how this clock is called *everywhere* else. >> > > Thanks, Based on other bindings example, will rename to "xo" git grep gcc_xo_clk -> nothing like that! ... >>> + >>> + memory-region: >>> + minItems: 1 >> >> upper constraint >> >>> + description: >>> + phandle to a node describing reserved memory (System RAM memory) >>> + used by ath12k firmware (see bindings/reserved-memory/reserved-memory.txt) >>> + >>> + qcom,rproc: >>> + $ref: /schemas/types.yaml#/definitions/phandle >>> + description: >>> + DT entry of a WCSS node. WCSS node is the child node of q6 remoteproc driver. >>> + (see bindings/remoteproc/qcom,multipd-pil.yaml) >> >> DT nodes are not children of drivers. But other DT nodes. Explain why >> this phandle is needed, what is it for. >> >> To me it looks like you incorrectly organized your nodes. >> > > This phandle is required by wifi driver (ath12k) to retrieve the correct remote processor > (rproc_get_by_phandle()). Ath12k driver needs this rproc to interact with the remote > processor (example: booting-up remote processor). That's driver aspect. Why does the hardware needs it? WiFi is the remote processor, so I would expect this being a child. Or just drop entirely. You keep using here arguments how you designed your drivers, which is not valid. Sorry, fix your drivers... or use arguments in terms of hardware. > > In next version, will correct the description based on existing bindings (qcom,ath11k.yaml). Sorry, let's don't copy existing solutions just because they exist. Best regards, Krzysztof
On Tue, Oct 15, 2024 at 11:56:16PM +0530, Raj Kumar Bhagat wrote: > Add device-tree bindings for the ATH12K module found in the IPQ5332 > device. > > Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> > --- > .../net/wireless/qcom,ath12k-ahb.yaml | 293 ++++++++++++++++++ > 1 file changed, 293 insertions(+) > create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml Generic comment, please add qcom,ath12k-calibration-variant
On 10/16/2024 2:30 PM, Krzysztof Kozlowski wrote: >>>> + description: >>>> + phandle to a node describing reserved memory (System RAM memory) >>>> + used by ath12k firmware (see bindings/reserved-memory/reserved-memory.txt) >>>> + >>>> + qcom,rproc: >>>> + $ref: /schemas/types.yaml#/definitions/phandle >>>> + description: >>>> + DT entry of a WCSS node. WCSS node is the child node of q6 remoteproc driver. >>>> + (see bindings/remoteproc/qcom,multipd-pil.yaml) >>> DT nodes are not children of drivers. But other DT nodes. Explain why >>> this phandle is needed, what is it for. >>> >>> To me it looks like you incorrectly organized your nodes. >>> >> This phandle is required by wifi driver (ath12k) to retrieve the correct remote processor >> (rproc_get_by_phandle()). Ath12k driver needs this rproc to interact with the remote >> processor (example: booting-up remote processor). > That's driver aspect. Why does the hardware needs it? > > WiFi is the remote processor, so I would expect this being a child. Or > just drop entirely. > > You keep using here arguments how you designed your drivers, which is > not valid. Sorry, fix your drivers... or use arguments in terms of hardware. > > >> In next version, will correct the description based on existing bindings (qcom,ath11k.yaml). > Sorry, let's don't copy existing solutions just because they exist. In the IPQ5332 platform, the WiFi component, known as the Wireless Control Subsystem (WCSS), functions as the wireless controller. Additionally, there is a separate hardware module, the Qualcomm Hexagon DSP(q6 remote processor), which is utilized for offloading WiFi processing tasks. These two hardware modules operate in conjunction, necessitating a phandle in the WiFi node that references the remote processor. Despite their interdependence, these modules are distinct from a hardware perspective.
diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml new file mode 100644 index 000000000000..54784e396d7e --- /dev/null +++ b/Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml @@ -0,0 +1,293 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/wireless/qcom,ath12k-ahb.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies ath12k wireless devices (AHB) + +maintainers: + - Kalle Valo <kvalo@kernel.org> + - Jeff Johnson <jjohnson@kernel.org> + +description: + Qualcomm Technologies IEEE 802.11be AHB devices. + +properties: + compatible: + enum: + - qcom,ipq5332-wifi + + reg: + maxItems: 1 + + clocks: + items: + - description: XO clock used for copy engine + + clock-names: + items: + - const: gcc_xo_clk + + interrupts: + items: + - description: Ready interrupt + - description: Spawn acknowledge interrupt + - description: Stop acknowledge interrupt + - description: misc-pulse1 interrupt events + - description: misc-latch interrupt events + - description: sw exception interrupt events + - description: interrupt event for ring CE0 + - description: interrupt event for ring CE1 + - description: interrupt event for ring CE2 + - description: interrupt event for ring CE3 + - description: interrupt event for ring CE4 + - description: interrupt event for ring CE5 + - description: interrupt event for ring CE6 + - description: interrupt event for ring CE7 + - description: interrupt event for ring CE8 + - description: interrupt event for ring CE9 + - description: interrupt event for ring CE10 + - description: interrupt event for ring CE11 + - description: interrupt event for ring host2wbm-desc-feed + - description: interrupt event for ring host2reo-re-injection + - description: interrupt event for ring host2reo-command + - description: interrupt event for ring host2rxdma-monitor-ring1 + - description: interrupt event for ring reo2ost-exception + - description: interrupt event for ring wbm2host-rx-release + - description: interrupt event for ring reo2host-status + - description: interrupt event for ring reo2host-destination-ring4 + - description: interrupt event for ring reo2host-destination-ring3 + - description: interrupt event for ring reo2host-destination-ring2 + - description: interrupt event for ring reo2host-destination-ring1 + - description: interrupt event for ring rxdma2host-monitor-destination-mac3 + - description: interrupt event for ring rxdma2host-monitor-destination-mac2 + - description: interrupt event for ring rxdma2host-monitor-destination-mac1 + - description: interrupt event for ring host2rxdma-host-buf-ring-mac3 + - description: interrupt event for ring host2rxdma-host-buf-ring-mac2 + - description: interrupt event for ring host2rxdma-host-buf-ring-mac1 + - description: interrupt event for ring host2tcl-input-ring4 + - description: interrupt event for ring host2tcl-input-ring3 + - description: interrupt event for ring host2tcl-input-ring2 + - description: interrupt event for ring host2tcl-input-ring1 + - description: interrupt event for ring wbm2host-tx-completions-ring4 + - description: interrupt event for ring wbm2host-tx-completions-ring3 + - description: interrupt event for ring wbm2host-tx-completions-ring2 + - description: interrupt event for ring wbm2host-tx-completions-ring1 + - description: interrupt event for ring host2tx-monitor-ring1 + - description: interrupt event for ring txmon2host-monitor-destination-mac3 + - description: interrupt event for ring txmon2host-monitor-destination-mac2 + - description: interrupt event for ring txmon2host-monitor-destination-mac1 + - description: interrupt event for umac_reset + + interrupt-names: + items: + - const: ready + - const: spawn + - const: stop-ack + - const: misc-pulse1 + - const: misc-latch + - const: sw-exception + - const: ce0 + - const: ce1 + - const: ce2 + - const: ce3 + - const: ce4 + - const: ce5 + - const: ce6 + - const: ce7 + - const: ce8 + - const: ce9 + - const: ce10 + - const: ce11 + - const: host2wbm-desc-feed + - const: host2reo-re-injection + - const: host2reo-command + - const: host2rxdma-monitor-ring1 + - const: reo2ost-exception + - const: wbm2host-rx-release + - const: reo2host-status + - const: reo2host-destination-ring4 + - const: reo2host-destination-ring3 + - const: reo2host-destination-ring2 + - const: reo2host-destination-ring1 + - const: rxdma2host-monitor-destination-mac3 + - const: rxdma2host-monitor-destination-mac2 + - const: rxdma2host-monitor-destination-mac1 + - const: host2rxdma-host-buf-ring-mac3 + - const: host2rxdma-host-buf-ring-mac2 + - const: host2rxdma-host-buf-ring-mac1 + - const: host2tcl-input-ring4 + - const: host2tcl-input-ring3 + - const: host2tcl-input-ring2 + - const: host2tcl-input-ring1 + - const: wbm2host-tx-completions-ring4 + - const: wbm2host-tx-completions-ring3 + - const: wbm2host-tx-completions-ring2 + - const: wbm2host-tx-completions-ring1 + - const: host2tx-monitor-ring1 + - const: txmon2host-monitor-destination-mac3 + - const: txmon2host-monitor-destination-mac2 + - const: txmon2host-monitor-destination-mac1 + - const: umac_reset + + memory-region: + minItems: 1 + description: + phandle to a node describing reserved memory (System RAM memory) + used by ath12k firmware (see bindings/reserved-memory/reserved-memory.txt) + + qcom,rproc: + $ref: /schemas/types.yaml#/definitions/phandle + description: + DT entry of a WCSS node. WCSS node is the child node of q6 remoteproc driver. + (see bindings/remoteproc/qcom,multipd-pil.yaml) + + 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 + - reg + - clocks + - clock-names + - interrupts + - interrupt-names + - memory-region + - qcom,rproc + - qcom,smem-states + - qcom,smem-state-names + +additionalProperties: false + +examples: + - | + + #include <dt-bindings/interrupt-controller/arm-gic.h> + #include <dt-bindings/clock/qcom,ipq5332-gcc.h> + + wifi0: wifi@c0000000 { + compatible = "qcom,ipq5332-wifi"; + reg = <0xc000000 0x1000000>; + clocks = <&gcc GCC_XO_CLK>; + clock-names = "gcc_xo_clk"; + interrupts-extended = <&wcss_smp2p_in 9 IRQ_TYPE_NONE>, + <&wcss_smp2p_in 12 IRQ_TYPE_NONE>, + <&wcss_smp2p_in 11 IRQ_TYPE_NONE>, + <&intc GIC_SPI 559 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 560 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 561 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 422 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 423 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 424 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 425 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 426 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 427 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 428 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 429 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 430 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 431 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 432 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 433 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 491 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 495 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 493 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 544 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 457 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 466 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 497 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 454 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 453 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 452 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 451 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 488 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 488 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 484 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 554 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 554 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 549 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 507 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 500 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 499 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 498 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 450 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 449 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 448 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 447 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 543 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 486 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 486 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 482 IRQ_TYPE_EDGE_RISING>, + <&intc GIC_SPI 419 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "ready", + "spawn", + "stop-ack", + "misc-pulse1", + "misc-latch", + "sw-exception", + "ce0", + "ce1", + "ce2", + "ce3", + "ce4", + "ce5", + "ce6", + "ce7", + "ce8", + "ce9", + "ce10", + "ce11", + "host2wbm-desc-feed", + "host2reo-re-injection", + "host2reo-command", + "host2rxdma-monitor-ring1", + "reo2ost-exception", + "wbm2host-rx-release", + "reo2host-status", + "reo2host-destination-ring4", + "reo2host-destination-ring3", + "reo2host-destination-ring2", + "reo2host-destination-ring1", + "rxdma2host-monitor-destination-mac3", + "rxdma2host-monitor-destination-mac2", + "rxdma2host-monitor-destination-mac1", + "host2rxdma-host-buf-ring-mac3", + "host2rxdma-host-buf-ring-mac2", + "host2rxdma-host-buf-ring-mac1", + "host2tcl-input-ring4", + "host2tcl-input-ring3", + "host2tcl-input-ring2", + "host2tcl-input-ring1", + "wbm2host-tx-completions-ring4", + "wbm2host-tx-completions-ring3", + "wbm2host-tx-completions-ring2", + "wbm2host-tx-completions-ring1", + "host2tx-monitor-ring1", + "txmon2host-monitor-destination-mac3", + "txmon2host-monitor-destination-mac2", + "txmon2host-monitor-destination-mac1", + "umac_reset"; + + memory-region = <&q6_region>; + qcom,rproc = <&q6v5_wcss>; + qcom,smem-states = <&wcss_smp2p_out 8>, + <&wcss_smp2p_out 9>, + <&wcss_smp2p_out 10>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + };
Add device-tree bindings for the ATH12K module found in the IPQ5332 device. Signed-off-by: Raj Kumar Bhagat <quic_rajkbhag@quicinc.com> --- .../net/wireless/qcom,ath12k-ahb.yaml | 293 ++++++++++++++++++ 1 file changed, 293 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/wireless/qcom,ath12k-ahb.yaml