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 additionalProperties: 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 91required: 92 - compatible 93 - qcom,mmio 94 - qcom,smd-channels 95 96additionalProperties: false 97 98examples: 99 - | 100 #include <dt-bindings/interrupt-controller/arm-gic.h> 101 102 smd-edge { 103 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; 104 105 qcom,ipc = <&apcs 8 17>; 106 qcom,smd-edge = <6>; 107 qcom,remote-pid = <4>; 108 109 label = "pronto"; 110 111 wcnss { 112 compatible = "qcom,wcnss"; 113 qcom,smd-channels = "WCNSS_CTRL"; 114 115 qcom,mmio = <&pronto>; 116 117 bluetooth { 118 compatible = "qcom,wcnss-bt"; 119 /* Updated by boot firmware (little-endian order) */ 120 local-bd-address = [ 00 00 00 00 00 00 ]; 121 }; 122 123 wifi { 124 compatible = "qcom,wcnss-wlan"; 125 126 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, 127 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; 128 interrupt-names = "tx", "rx"; 129 130 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; 131 qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 132 }; 133 }; 134 }; 135