Add Devicetree binding documentation for the Qualcomm QCN6432 IEEE 802.11be wireless device. QCN6432 is attached to the WCSS Q6 subsystem and is represented as an AHB platform device, even though the Wi-Fi hardware interfaces over PCIe. Document the compatible string and the resources, including the Q6 remote processor phandle, MSI interrupts, SMEM states and memory regions. Signed-off-by: Aaradhana Sahu --- .../bindings/net/wireless/qcom,qcn6432-wifi.yaml | 149 +++++++++++++++++++++ 1 file changed, 149 insertions(+) diff --git a/Documentation/devicetree/bindings/net/wireless/qcom,qcn6432-wifi.yaml b/Documentation/devicetree/bindings/net/wireless/qcom,qcn6432-wifi.yaml new file mode 100644 index 000000000000..97d8885333fa --- /dev/null +++ b/Documentation/devicetree/bindings/net/wireless/qcom,qcn6432-wifi.yaml @@ -0,0 +1,149 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/wireless/qcom,qcn6432-wifi.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Qualcomm Technologies QCN6432 wireless device + +maintainers: + - Jeff Johnson + +description: | + Qualcomm Technologies QCN6432 is an IEEE 802.11be Wi-Fi device + associated with the WCSS Q6 subsystem. The device is represented + as a platform device and uses MSI interrupts for its Copy Engine + (CE) and Data Path (DP) rings. + +properties: + compatible: + enum: + - qcom,qcn6432-wifi + + reg: + maxItems: 1 + + interrupts: + items: + - description: Fatal interrupt + - description: Ready interrupt + - description: Spawn acknowledge interrupt + - description: Stop acknowledge interrupt + - description: UMAC reset interrupt + + interrupt-names: + items: + - const: fatal + - const: ready + - const: spawn + - const: stop-ack + - const: umac-reset + + memory-region: + items: + - description: Q6 memory region + - description: Combined firmware data memory region + - description: Multi Link Operation (MLO) Global memory region + + memory-region-names: + items: + - const: q6-region + - const: data-region + - const: mlo-global-mem + + msi-parent: + description: Phandle to the MSI controller. + maxItems: 1 + + qcom,calibration-variant: + $ref: /schemas/types.yaml#/definitions/string + description: + String to uniquely identify variant of the calibration data for designs + with colliding bus and device ids + + qcom,rproc: + $ref: /schemas/types.yaml#/definitions/phandle + description: + Phandle to the Qualcomm Hexagon DSP (Q6 remote processor), which is + utilized for offloading Wi-Fi processing tasks. This Q6 remote processor + operates in conjunction with Wi-Fi. + + 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 + items: + - description: Phandle to the Shared Memory Point 2 Point device + handling the communication with a remote processor + - description: Single bit index to toggle in the value sent to + the remote processor + maximum: 31 + - description: Stop WCSS PD + items: + - description: Phandle to the Shared Memory Point 2 Point device + handling the communication with a remote processor + - description: Single bit index to toggle in the value sent to + the remote processor + maximum: 31 + - description: Spawn WCSS PD + items: + - description: Phandle to the Shared Memory Point 2 Point device + handling the communication with a remote processor + - description: Single bit index to toggle in the value sent to + the remote processor + maximum: 31 + + 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 + - interrupts + - interrupt-names + - memory-region + - memory-region-names + - msi-parent + - qcom,rproc + - qcom,smem-states + - qcom,smem-state-names + +additionalProperties: false + +examples: + - | + #include + #include + + wifi@21e00000 { + compatible = "qcom,qcn6432-wifi"; + reg = <0x21e00000 0x200000>; + interrupts-extended = <&smp2p_wcss_in 16 IRQ_TYPE_NONE>, + <&smp2p_wcss_in 17 IRQ_TYPE_NONE>, + <&smp2p_wcss_in 20 IRQ_TYPE_NONE>, + <&smp2p_wcss_in 19 IRQ_TYPE_NONE>, + <&intc GIC_SPI 33 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "fatal", + "ready", + "spawn", + "stop-ack", + "umac-reset"; + memory-region = <&q6_region>, <&data_region>, <&mlo_mem>; + memory-region-names = "q6-region", "data-region", "mlo-global-mem"; + msi-parent = <&v2m0>; + qcom,calibration-variant = "RDP442_1"; + qcom,rproc = <&q6v5_wcss>; + qcom,smem-states = <&smp2p_wcss_out 16>, + <&smp2p_wcss_out 17>, + <&smp2p_wcss_out 18>; + qcom,smem-state-names = "shutdown", + "stop", + "spawn"; + }; -- 2.34.1