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 $ref: /schemas/types.yaml#/definitions/string-array 81 items: 82 - const: tx-enable 83 - const: tx-rings-empty 84 description: 85 Names of SMEM states. 86 87 required: 88 - compatible 89 - interrupts 90 - interrupt-names 91 - qcom,smem-states 92 - qcom,smem-state-names 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 /* BD address 00:11:22:33:44:55 */ 123 local-bd-address = [ 55 44 33 22 11 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