File Index
Files and directories
Sign in
FILE

qcom,wcnss.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/soc/qcom/qcom,wcnss.yaml YAML
  1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/soc/qcom/qcom,wcnss.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm WCNSS
  8
  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 FM
 15  radio block, all using SMD as command channels.
 16
 17properties:
 18  compatible:
 19    const: qcom,wcnss
 20
 21  firmware-name:
 22    $ref: /schemas/types.yaml#/definitions/string
 23    default: wlan/prima/WCNSS_qcom_wlan_nv.bin
 24    description:
 25      Relative firmware image path for the WLAN NV blob.
 26
 27  qcom,mmio:
 28    $ref: /schemas/types.yaml#/definitions/phandle
 29    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/string
 37    const: WCNSS_CTRL
 38    description:
 39      Standard SMD property specifying the SMD channel used for communication
 40      with the WiFi firmware.
 41
 42  bluetooth:
 43    type: object
 44    additionalProperties: false
 45    allOf:
 46      - $ref: /schemas/net/bluetooth/bluetooth-controller.yaml#
 47    properties:
 48      compatible:
 49        const: qcom,wcnss-bt
 50
 51      local-bd-address: true
 52
 53    required:
 54      - compatible
 55
 56  wifi:
 57    unevaluatedProperties: false
 58    type: object
 59    properties:
 60      compatible:
 61        const: qcom,wcnss-wlan
 62
 63      interrupts:
 64        maxItems: 2
 65
 66      interrupt-names:
 67        items:
 68          - const: tx
 69          - const: rx
 70
 71      qcom,smem-states:
 72        $ref: /schemas/types.yaml#/definitions/phandle-array
 73        maxItems: 2
 74        description:
 75          Should reference the tx-enable and tx-rings-empty SMEM states.
 76
 77      qcom,smem-state-names:
 78        items:
 79          - const: tx-enable
 80          - const: tx-rings-empty
 81        description:
 82          Names of SMEM states.
 83
 84    required:
 85      - compatible
 86      - interrupts
 87      - interrupt-names
 88      - qcom,smem-states
 89      - qcom,smem-state-names
 90
 91    allOf:
 92      - $ref: /schemas/net/wireless/wireless-controller.yaml#
 93
 94required:
 95  - compatible
 96  - qcom,mmio
 97  - qcom,smd-channels
 98
 99additionalProperties: false
100
101examples:
102  - |
103    #include <dt-bindings/interrupt-controller/arm-gic.h>
104
105    smd-edge {
106        interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
107
108        qcom,ipc = <&apcs 8 17>;
109        qcom,smd-edge = <6>;
110        qcom,remote-pid = <4>;
111
112        label = "pronto";
113
114        wcnss {
115            compatible = "qcom,wcnss";
116            qcom,smd-channels = "WCNSS_CTRL";
117
118            qcom,mmio = <&pronto>;
119
120            bluetooth {
121                compatible = "qcom,wcnss-bt";
122                /* Updated by boot firmware (little-endian order) */
123                local-bd-address = [ 00 00 00 00 00 00 ];
124            };
125
126            wifi {
127                compatible = "qcom,wcnss-wlan";
128
129                interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
130                             <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
131                interrupt-names = "tx", "rx";
132
133                qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
134                qcom,smem-state-names = "tx-enable", "tx-rings-empty";
135            };
136        };
137    };
~/ Read-only file preview.