1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/soc/qcom/qcom,wcnss.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Qualcomm WCNSS 8 9maintainers: 10 - Andy Gross <agross@kernel.org> 11 - Bjorn Andersson <bjorn.andersson@linaro.org> 12 13description: 14 The Qualcomm WCNSS hardware consists of control block and a BT, WiFi and FM 15 radio block, all using SMD as command channels. 16 17properties: 18 compatible: 19 const: qcom,wcnss 20 21 firmware-name: 22 $ref: /schemas/types.yaml#/definitions/string 23 default: wlan/prima/WCNSS_qcom_wlan_nv.bin 24 description: 25 Relative firmware image path for the WLAN NV blob. 26 27 qcom,mmio: 28 $ref: /schemas/types.yaml#/definitions/phandle 29 description: | 30 Reference to a node specifying the wcnss "ccu" and "dxe" register blocks. 31 The node must be compatible with one of the following:: 32 - qcom,riva" 33 - qcom,pronto" 34 35 qcom,smd-channels: 36 $ref: /schemas/types.yaml#/definitions/string 37 const: WCNSS_CTRL 38 description: 39 Standard SMD property specifying the SMD channel used for communication 40 with the WiFi firmware. 41 42 bluetooth: 43 type: object 44 additionalProperties: false 45 allOf: 46 - $ref: /schemas/net/bluetooth/bluetooth-controller.yaml# 47 properties: 48 compatible: 49 const: qcom,wcnss-bt 50 51 local-bd-address: true 52 53 required: 54 - compatible 55 56 wifi: 57 unevaluatedProperties: false 58 type: object 59 properties: 60 compatible: 61 const: qcom,wcnss-wlan 62 63 interrupts: 64 maxItems: 2 65 66 interrupt-names: 67 items: 68 - const: tx 69 - const: rx 70 71 qcom,smem-states: 72 $ref: /schemas/types.yaml#/definitions/phandle-array 73 maxItems: 2 74 description: 75 Should reference the tx-enable and tx-rings-empty SMEM states. 76 77 qcom,smem-state-names: 78 items: 79 - const: tx-enable 80 - const: tx-rings-empty 81 description: 82 Names of SMEM states. 83 84 required: 85 - compatible 86 - interrupts 87 - interrupt-names 88 - qcom,smem-states 89 - qcom,smem-state-names 90 91 allOf: 92 - $ref: /schemas/net/wireless/wireless-controller.yaml# 93 94required: 95 - compatible 96 - qcom,mmio 97 - qcom,smd-channels 98 99additionalProperties: false 100 101examples: 102 - | 103 #include <dt-bindings/interrupt-controller/arm-gic.h> 104 105 smd-edge { 106 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 107 108 qcom,ipc = <&apcs 8 17>; 109 qcom,smd-edge = <6>; 110 qcom,remote-pid = <4>; 111 112 label = "pronto"; 113 114 wcnss { 115 compatible = "qcom,wcnss"; 116 qcom,smd-channels = "WCNSS_CTRL"; 117 118 qcom,mmio = <&pronto>; 119 120 bluetooth { 121 compatible = "qcom,wcnss-bt"; 122 /* Updated by boot firmware (little-endian order) */ 123 local-bd-address = [ 00 00 00 00 00 00 ]; 124 }; 125 126 wifi { 127 compatible = "qcom,wcnss-wlan"; 128 129 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 130 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 131 interrupt-names = "tx", "rx"; 132 133 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 134 qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 135 }; 136 }; 137 }; 138