1Qualcomm WCNSS Binding 2 3This binding describes the Qualcomm WCNSS hardware. It consists of control 4block and a BT, WiFi and FM radio block, all using SMD as command channels. 5 6- compatible: 7 Usage: required 8 Value type: <string> 9 Definition: must be: "qcom,wcnss", 10 11- qcom,smd-channel: 12 Usage: required 13 Value type: <string> 14 Definition: standard SMD property specifying the SMD channel used for 15 communication with the WiFi firmware. 16 Should be "WCNSS_CTRL". 17 18- qcom,mmio: 19 Usage: required 20 Value type: <prop-encoded-array> 21 Definition: reference to a node specifying the wcnss "ccu" and "dxe" 22 register blocks. The node must be compatible with one of 23 the following: 24 "qcom,riva", 25 "qcom,pronto" 26 27- firmware-name: 28 Usage: optional 29 Value type: <string> 30 Definition: specifies the relative firmware image path for the WLAN NV 31 blob. Defaults to "wlan/prima/WCNSS_qcom_wlan_nv.bin" if 32 not specified. 33 34= SUBNODES 35The subnodes of the wcnss node are optional and describe the individual blocks in 36the WCNSS. 37 38== Bluetooth 39The following properties are defined to the bluetooth node: 40 41- compatible: 42 Usage: required 43 Value type: <string> 44 Definition: must be: 45 "qcom,wcnss-bt" 46 47- local-bd-address: 48 Usage: optional 49 Value type: <u8 array> 50 Definition: see Documentation/devicetree/bindings/net/bluetooth.txt 51 52== WiFi 53The following properties are defined to the WiFi node: 54 55- compatible: 56 Usage: required 57 Value type: <string> 58 Definition: must be one of: 59 "qcom,wcnss-wlan", 60 61- interrupts: 62 Usage: required 63 Value type: <prop-encoded-array> 64 Definition: should specify the "rx" and "tx" interrupts 65 66- interrupt-names: 67 Usage: required 68 Value type: <stringlist> 69 Definition: must contain "rx" and "tx" 70 71- qcom,smem-state: 72 Usage: required 73 Value type: <prop-encoded-array> 74 Definition: should reference the tx-enable and tx-rings-empty SMEM states 75 76- qcom,smem-state-names: 77 Usage: required 78 Value type: <stringlist> 79 Definition: must contain "tx-enable" and "tx-rings-empty" 80 81= EXAMPLE 82The following example represents a SMD node, with one edge representing the 83"pronto" subsystem, with the wcnss device and its wcn3680 BT and WiFi blocks 84described; as found on the 8974 platform. 85 86smd { 87 compatible = "qcom,smd"; 88 89 pronto-edge { 90 interrupts = <0 142 1>; 91 92 qcom,ipc = <&apcs 8 17>; 93 qcom,smd-edge = <6>; 94 95 wcnss { 96 compatible = "qcom,wcnss"; 97 qcom,smd-channels = "WCNSS_CTRL"; 98 99 #address-cells = <1>; 100 #size-cells = <1>; 101 102 qcom,mmio = <&pronto>; 103 104 bt { 105 compatible = "qcom,wcnss-bt"; 106 107 /* BD address 00:11:22:33:44:55 */ 108 local-bd-address = [ 55 44 33 22 11 00 ]; 109 }; 110 111 wlan { 112 compatible = "qcom,wcnss-wlan"; 113 114 interrupts = <0 145 0>, <0 146 0>; 115 interrupt-names = "tx", "rx"; 116 117 qcom,smem-state = <&apps_smsm 10>, <&apps_smsm 9>; 118 qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 119 }; 120 }; 121 }; 122}; 123 124soc { 125 pronto: pronto { 126 compatible = "qcom,pronto"; 127 128 reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>; 129 reg-names = "ccu", "dxe", "pmu"; 130 }; 131}; 132