| Qualcomm WCNSS Binding |
| |
| This binding describes the Qualcomm WCNSS hardware. It consists of control |
| block and a BT, WiFi and FM radio block, all using SMD as command channels. |
| |
| - compatible: |
| Usage: required |
| Value type: <string> |
| Definition: must be: "qcom,wcnss", |
| |
| - qcom,smd-channel: |
| Usage: required |
| Value type: <string> |
| Definition: standard SMD property specifying the SMD channel used for |
| communication with the WiFi firmware. |
| Should be "WCNSS_CTRL". |
| |
| - qcom,mmio: |
| Usage: required |
| Value type: <prop-encoded-array> |
| Definition: reference to a node specifying the wcnss "ccu" and "dxe" |
| register blocks. The node must be compatible with one of |
| the following: |
| "qcom,riva", |
| "qcom,pronto" |
| |
| = SUBNODES |
| The subnodes of the wcnss node are optional and describe the individual blocks in |
| the WCNSS. |
| |
| == Bluetooth |
| The following properties are defined to the bluetooth node: |
| |
| - compatible: |
| Usage: required |
| Value type: <string> |
| Definition: must be: |
| "qcom,wcnss-bt" |
| |
| == WiFi |
| The following properties are defined to the WiFi node: |
| |
| - compatible: |
| Usage: required |
| Value type: <string> |
| Definition: must be one of: |
| "qcom,wcnss-wlan", |
| |
| - interrupts: |
| Usage: required |
| Value type: <prop-encoded-array> |
| Definition: should specify the "rx" and "tx" interrupts |
| |
| - interrupt-names: |
| Usage: required |
| Value type: <stringlist> |
| Definition: must contain "rx" and "tx" |
| |
| - qcom,smem-state: |
| Usage: required |
| Value type: <prop-encoded-array> |
| Definition: should reference the tx-enable and tx-rings-empty SMEM states |
| |
| - qcom,smem-state-names: |
| Usage: required |
| Value type: <stringlist> |
| Definition: must contain "tx-enable" and "tx-rings-empty" |
| |
| = EXAMPLE |
| The following example represents a SMD node, with one edge representing the |
| "pronto" subsystem, with the wcnss device and its wcn3680 BT and WiFi blocks |
| described; as found on the 8974 platform. |
| |
| smd { |
| compatible = "qcom,smd"; |
| |
| pronto-edge { |
| interrupts = <0 142 1>; |
| |
| qcom,ipc = <&apcs 8 17>; |
| qcom,smd-edge = <6>; |
| |
| wcnss { |
| compatible = "qcom,wcnss"; |
| qcom,smd-channels = "WCNSS_CTRL"; |
| |
| #address-cells = <1>; |
| #size-cells = <1>; |
| |
| qcom,mmio = <&pronto>; |
| |
| bt { |
| compatible = "qcom,wcnss-bt"; |
| }; |
| |
| wlan { |
| compatible = "qcom,wcnss-wlan"; |
| |
| interrupts = <0 145 0>, <0 146 0>; |
| interrupt-names = "tx", "rx"; |
| |
| qcom,smem-state = <&apps_smsm 10>, <&apps_smsm 9>; |
| qcom,smem-state-names = "tx-enable", "tx-rings-empty"; |
| }; |
| }; |
| }; |
| }; |
| |
| soc { |
| pronto: pronto { |
| compatible = "qcom,pronto"; |
| |
| reg = <0xfb204000 0x2000>, <0xfb202000 0x1000>, <0xfb21b000 0x3000>; |
| reg-names = "ccu", "dxe", "pmu"; |
| }; |
| }; |