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 properties: 46 compatible: 47 const: qcom,wcnss-bt 48 49 local-bd-address: 50 $ref: /schemas/types.yaml#/definitions/uint8-array 51 maxItems: 6 52 description: 53 See Documentation/devicetree/bindings/net/bluetooth.txt 54 55 required: 56 - compatible 57 58 wifi: 59 additionalProperties: false 60 type: object 61 properties: 62 compatible: 63 const: qcom,wcnss-wlan 64 65 interrupts: 66 maxItems: 2 67 68 interrupt-names: 69 items: 70 - const: tx 71 - const: rx 72 73 qcom,smem-states: 74 $ref: /schemas/types.yaml#/definitions/phandle-array 75 maxItems: 2 76 description: 77 Should reference the tx-enable and tx-rings-empty SMEM states. 78 79 qcom,smem-state-names: 80 items: 81 - const: tx-enable 82 - const: tx-rings-empty 83 description: 84 Names of SMEM states. 85 86 required: 87 - compatible 88 - interrupts 89 - interrupt-names 90 - qcom,smem-states 91 - qcom,smem-state-names 92 93required: 94 - compatible 95 - qcom,mmio 96 - qcom,smd-channels 97 98additionalProperties: false 99 100examples: 101 - | 102 #include <dt-bindings/interrupt-controller/arm-gic.h> 103 104 smd-edge { 105 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 106 107 qcom,ipc = <&apcs 8 17>; 108 qcom,smd-edge = <6>; 109 qcom,remote-pid = <4>; 110 111 label = "pronto"; 112 113 wcnss { 114 compatible = "qcom,wcnss"; 115 qcom,smd-channels = "WCNSS_CTRL"; 116 117 qcom,mmio = <&pronto>; 118 119 bluetooth { 120 compatible = "qcom,wcnss-bt"; 121 /* BD address 00:11:22:33:44:55 */ 122 local-bd-address = [ 55 44 33 22 11 00 ]; 123 }; 124 125 wifi { 126 compatible = "qcom,wcnss-wlan"; 127 128 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 129 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 130 interrupt-names = "tx", "rx"; 131 132 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 133 qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 134 }; 135 }; 136 }; 137