# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause %YAML 1.2 --- $id: http://devicetree.org/schemas/soc/qcom/qcom,wcnss.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm WCNSS maintainers: - Andy Gross <agross@kernel.org> - Bjorn Andersson <bjorn.andersson@linaro.org> description: The Qualcomm WCNSS hardware consists of control block and a BT, WiFi and FM radio block, all using SMD as command channels. properties: compatible: const: qcom,wcnss firmware-name: $ref: /schemas/types.yaml#/definitions/string default: wlan/prima/WCNSS_qcom_wlan_nv.bin description: Relative firmware image path for the WLAN NV blob. qcom,mmio: $ref: /schemas/types.yaml#/definitions/phandle description: | Reference to a node specifying the wcnss "ccu" and "dxe" register blocks. The node must be compatible with one of the following:: - qcom,riva" - qcom,pronto" qcom,smd-channels: $ref: /schemas/types.yaml#/definitions/string const: WCNSS_CTRL description: Standard SMD property specifying the SMD channel used for communication with the WiFi firmware. bluetooth: type: object additionalProperties: false allOf: - $ref: /schemas/net/bluetooth/bluetooth-controller.yaml# properties: compatible: const: qcom,wcnss-bt local-bd-address: true required: - compatible wifi: additionalProperties: false type: object properties: compatible: const: qcom,wcnss-wlan interrupts: maxItems: 2 interrupt-names: items: - const: tx - const: rx qcom,smem-states: $ref: /schemas/types.yaml#/definitions/phandle-array maxItems: 2 description: Should reference the tx-enable and tx-rings-empty SMEM states. qcom,smem-state-names: items: - const: tx-enable - const: tx-rings-empty description: Names of SMEM states. required: - compatible - interrupts - interrupt-names - qcom,smem-states - qcom,smem-state-names required: - compatible - qcom,mmio - qcom,smd-channels additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/arm-gic.h> smd-edge { interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; qcom,ipc = <&apcs 8 17>; qcom,smd-edge = <6>; qcom,remote-pid = <4>; label = "pronto"; wcnss { compatible = "qcom,wcnss"; qcom,smd-channels = "WCNSS_CTRL"; qcom,mmio = <&pronto>; bluetooth { compatible = "qcom,wcnss-bt"; /* BD address 00:11:22:33:44:55 */ local-bd-address = [ 55 44 33 22 11 00 ]; }; wifi { compatible = "qcom,wcnss-wlan"; interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; interrupt-names = "tx", "rx"; qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; qcom,smem-state-names = "tx-enable", "tx-rings-empty"; }; }; };