| # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause | |
| %YAML 1.2 | |
| --- | |
| $id: http://devicetree.org/schemas/soc/qcom/qcom,wcnss.yaml# | |
| $schema: http://devicetree.org/meta-schemas/core.yaml# | |
| title: Qualcomm WCNSS | |
| maintainers: | |
| - Andy Gross <agross@kernel.org> | |
| - Bjorn Andersson <bjorn.andersson@linaro.org> | |
| description: | |
| The Qualcomm WCNSS hardware consists of control block and a BT, WiFi and FM | |
| radio block, all using SMD as command channels. | |
| properties: | |
| compatible: | |
| const: qcom,wcnss | |
| firmware-name: | |
| $ref: /schemas/types.yaml#/definitions/string | |
| default: "wlan/prima/WCNSS_qcom_wlan_nv.bin" | |
| description: | |
| Relative firmware image path for the WLAN NV blob. | |
| qcom,mmio: | |
| $ref: /schemas/types.yaml#/definitions/phandle | |
| description: | | |
| 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" | |
| qcom,smd-channels: | |
| $ref: /schemas/types.yaml#/definitions/string | |
| const: WCNSS_CTRL | |
| description: | |
| Standard SMD property specifying the SMD channel used for communication | |
| with the WiFi firmware. | |
| bluetooth: | |
| type: object | |
| additionalProperties: false | |
| properties: | |
| compatible: | |
| const: qcom,wcnss-bt | |
| local-bd-address: | |
| $ref: /schemas/types.yaml#/definitions/uint8-array | |
| maxItems: 6 | |
| description: | |
| See Documentation/devicetree/bindings/net/bluetooth.txt | |
| required: | |
| - compatible | |
| wifi: | |
| additionalProperties: false | |
| type: object | |
| properties: | |
| compatible: | |
| const: qcom,wcnss-wlan | |
| interrupts: | |
| maxItems: 2 | |
| interrupt-names: | |
| items: | |
| - const: tx | |
| - const: rx | |
| qcom,smem-states: | |
| $ref: /schemas/types.yaml#/definitions/phandle-array | |
| maxItems: 2 | |
| description: | |
| Should reference the tx-enable and tx-rings-empty SMEM states. | |
| qcom,smem-state-names: | |
| items: | |
| - const: tx-enable | |
| - const: tx-rings-empty | |
| description: | |
| Names of SMEM states. | |
| required: | |
| - compatible | |
| - interrupts | |
| - interrupt-names | |
| - qcom,smem-states | |
| - qcom,smem-state-names | |
| required: | |
| - compatible | |
| - qcom,mmio | |
| - qcom,smd-channels | |
| additionalProperties: false | |
| examples: | |
| - | | |
| #include <dt-bindings/interrupt-controller/arm-gic.h> | |
| smd-edge { | |
| interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>; | |
| qcom,ipc = <&apcs 8 17>; | |
| qcom,smd-edge = <6>; | |
| qcom,remote-pid = <4>; | |
| label = "pronto"; | |
| wcnss { | |
| compatible = "qcom,wcnss"; | |
| qcom,smd-channels = "WCNSS_CTRL"; | |
| qcom,mmio = <&pronto>; | |
| bluetooth { | |
| compatible = "qcom,wcnss-bt"; | |
| /* BD address 00:11:22:33:44:55 */ | |
| local-bd-address = [ 55 44 33 22 11 00 ]; | |
| }; | |
| wifi { | |
| compatible = "qcom,wcnss-wlan"; | |
| interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>, | |
| <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>; | |
| interrupt-names = "tx", "rx"; | |
| qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>; | |
| qcom,smem-state-names = "tx-enable", "tx-rings-empty"; | |
| }; | |
| }; | |
| }; |