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= SUBNODES 28The subnodes of the wcnss node are optional and describe the individual blocks in 29the WCNSS. 30 31== Bluetooth 32The following properties are defined to the bluetooth node: 33 34- compatible: 35 Usage: required 36 Value type: <string> 37 Definition: must be: 38 "qcom,wcnss-bt" 39 40- local-bd-address: 41 Usage: optional 42 Value type: <u8 array> 43 Definition: see Documentation/devicetree/bindings/net/bluetooth.txt 44 45== WiFi 46The following properties are defined to the WiFi node: 47 48- compatible: 49 Usage: required 50 Value type: <string> 51 Definition: must be one of: 52 "qcom,wcnss-wlan", 53 54- interrupts: 55 Usage: required 56 Value type: <prop-encoded-array> 57 Definition: should specify the "rx" and "tx" interrupts 58 59- interrupt-names: 60 Usage: required 61 Value type: <stringlist> 62 Definition: must contain "rx" and "tx" 63 64- qcom,smem-state: 65 Usage: required 66 Value type: <prop-encoded-array> 67 Definition: should reference the tx-enable and tx-rings-empty SMEM states 68 69- qcom,smem-state-names: 70 Usage: required 71 Value type: <stringlist> 72 Definition: must contain "tx-enable" and "tx-rings-empty" 73 74= EXAMPLE 75The following example represents a SMD node, with one edge representing the 76"pronto" subsystem, with the wcnss device and its wcn3680 BT and WiFi blocks 77described; as found on the 8974 platform. 78 79smd { 80 compatible = "qcom,smd"; 81 82 pronto-edge { 83 interrupts = <0 142 1>; 84 85 qcom,ipc = <&apcs 8 17>; 86 qcom,smd-edge = <6>; 87 88 wcnss { 89 compatible = "qcom,wcnss"; 90 qcom,smd-channels = "WCNSS_CTRL"; 91 92 #address-cells = <1>; 93 #size-cells = <1>; 94 95 qcom,mmio = <&pronto>; 96 97 bt { 98 compatible = "qcom,wcnss-bt"; 99 100 /* BD address 00:11:22:33:44:55 */ 101 local-bd-address = [ 55 44 33 22 11 00 ]; 102 }; 103 104 wlan { 105 compatible = "qcom,wcnss-wlan"; 106 107 interrupts = <0 145 0>, <0 146 0>; 108 interrupt-names = "tx", "rx"; 109 110 qcom,smem-state = <&apps_smsm 10>, <&apps_smsm 9>; 111 qcom,smem-state-names = "tx-enable", "tx-rings-empty"; 112 }; 113 }; 114 }; 115}; 116 117soc { 118 pronto: pronto { 119 compatible = "qcom,pronto"; 120 121 reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>; 122 reg-names = "ccu", "dxe", "pmu"; 123 }; 124}; 125