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