135 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---4$id: http://devicetree.org/schemas/soc/qcom/qcom,wcnss.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm WCNSS8 9maintainers:10 - Andy Gross <agross@kernel.org>11 - Bjorn Andersson <bjorn.andersson@linaro.org>12 13description:14 The Qualcomm WCNSS hardware consists of control block and a BT, WiFi and FM15 radio block, all using SMD as command channels.16 17properties:18 compatible:19 const: qcom,wcnss20 21 firmware-name:22 $ref: /schemas/types.yaml#/definitions/string23 default: wlan/prima/WCNSS_qcom_wlan_nv.bin24 description:25 Relative firmware image path for the WLAN NV blob.26 27 qcom,mmio:28 $ref: /schemas/types.yaml#/definitions/phandle29 description: |30 Reference to a node specifying the wcnss "ccu" and "dxe" register blocks.31 The node must be compatible with one of the following::32 - qcom,riva"33 - qcom,pronto"34 35 qcom,smd-channels:36 $ref: /schemas/types.yaml#/definitions/string37 const: WCNSS_CTRL38 description:39 Standard SMD property specifying the SMD channel used for communication40 with the WiFi firmware.41 42 bluetooth:43 type: object44 additionalProperties: false45 allOf:46 - $ref: /schemas/net/bluetooth/bluetooth-controller.yaml#47 properties:48 compatible:49 const: qcom,wcnss-bt50 51 local-bd-address: true52 53 required:54 - compatible55 56 wifi:57 additionalProperties: false58 type: object59 properties:60 compatible:61 const: qcom,wcnss-wlan62 63 interrupts:64 maxItems: 265 66 interrupt-names:67 items:68 - const: tx69 - const: rx70 71 qcom,smem-states:72 $ref: /schemas/types.yaml#/definitions/phandle-array73 maxItems: 274 description:75 Should reference the tx-enable and tx-rings-empty SMEM states.76 77 qcom,smem-state-names:78 items:79 - const: tx-enable80 - const: tx-rings-empty81 description:82 Names of SMEM states.83 84 required:85 - compatible86 - interrupts87 - interrupt-names88 - qcom,smem-states89 - qcom,smem-state-names90 91required:92 - compatible93 - qcom,mmio94 - qcom,smd-channels95 96additionalProperties: false97 98examples:99 - |100 #include <dt-bindings/interrupt-controller/arm-gic.h>101 102 smd-edge {103 interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;104 105 qcom,ipc = <&apcs 8 17>;106 qcom,smd-edge = <6>;107 qcom,remote-pid = <4>;108 109 label = "pronto";110 111 wcnss {112 compatible = "qcom,wcnss";113 qcom,smd-channels = "WCNSS_CTRL";114 115 qcom,mmio = <&pronto>;116 117 bluetooth {118 compatible = "qcom,wcnss-bt";119 /* Updated by boot firmware (little-endian order) */120 local-bd-address = [ 00 00 00 00 00 00 ];121 };122 123 wifi {124 compatible = "qcom,wcnss-wlan";125 126 interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,127 <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;128 interrupt-names = "tx", "rx";129 130 qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;131 qcom,smem-state-names = "tx-enable", "tx-rings-empty";132 };133 };134 };135