xref: /linux/Documentation/devicetree/bindings/soc/qcom/qcom,wcnss.yaml (revision 621cde16e49b3ecf7d59a8106a20aaebfb4a59a9)
1a5ffbc04SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2a5ffbc04SKrzysztof Kozlowski%YAML 1.2
3a5ffbc04SKrzysztof Kozlowski---
4a5ffbc04SKrzysztof Kozlowski$id: http://devicetree.org/schemas/soc/qcom/qcom,wcnss.yaml#
5a5ffbc04SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6a5ffbc04SKrzysztof Kozlowski
7a5ffbc04SKrzysztof Kozlowskititle: Qualcomm WCNSS
8a5ffbc04SKrzysztof Kozlowski
9a5ffbc04SKrzysztof Kozlowskimaintainers:
10a5ffbc04SKrzysztof Kozlowski  - Andy Gross <agross@kernel.org>
11a5ffbc04SKrzysztof Kozlowski  - Bjorn Andersson <bjorn.andersson@linaro.org>
12a5ffbc04SKrzysztof Kozlowski
13a5ffbc04SKrzysztof Kozlowskidescription:
14a5ffbc04SKrzysztof Kozlowski  The Qualcomm WCNSS hardware consists of control block and a BT, WiFi and FM
15a5ffbc04SKrzysztof Kozlowski  radio block, all using SMD as command channels.
16a5ffbc04SKrzysztof Kozlowski
17a5ffbc04SKrzysztof Kozlowskiproperties:
18a5ffbc04SKrzysztof Kozlowski  compatible:
19a5ffbc04SKrzysztof Kozlowski    const: qcom,wcnss
20a5ffbc04SKrzysztof Kozlowski
21a5ffbc04SKrzysztof Kozlowski  firmware-name:
22a5ffbc04SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/string
232961ab05SRob Herring    default: wlan/prima/WCNSS_qcom_wlan_nv.bin
24a5ffbc04SKrzysztof Kozlowski    description:
25a5ffbc04SKrzysztof Kozlowski      Relative firmware image path for the WLAN NV blob.
26a5ffbc04SKrzysztof Kozlowski
27a5ffbc04SKrzysztof Kozlowski  qcom,mmio:
28a5ffbc04SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/phandle
29a5ffbc04SKrzysztof Kozlowski    description: |
30a5ffbc04SKrzysztof Kozlowski      Reference to a node specifying the wcnss "ccu" and "dxe" register blocks.
31a5ffbc04SKrzysztof Kozlowski      The node must be compatible with one of the following::
32a5ffbc04SKrzysztof Kozlowski           - qcom,riva"
33a5ffbc04SKrzysztof Kozlowski           - qcom,pronto"
34a5ffbc04SKrzysztof Kozlowski
35a5ffbc04SKrzysztof Kozlowski  qcom,smd-channels:
36a5ffbc04SKrzysztof Kozlowski    $ref: /schemas/types.yaml#/definitions/string
37a5ffbc04SKrzysztof Kozlowski    const: WCNSS_CTRL
38a5ffbc04SKrzysztof Kozlowski    description:
39a5ffbc04SKrzysztof Kozlowski      Standard SMD property specifying the SMD channel used for communication
40a5ffbc04SKrzysztof Kozlowski      with the WiFi firmware.
41a5ffbc04SKrzysztof Kozlowski
42a5ffbc04SKrzysztof Kozlowski  bluetooth:
43a5ffbc04SKrzysztof Kozlowski    type: object
44a5ffbc04SKrzysztof Kozlowski    additionalProperties: false
4545564c4eSSven Peter    allOf:
4645564c4eSSven Peter      - $ref: /schemas/net/bluetooth/bluetooth-controller.yaml#
47a5ffbc04SKrzysztof Kozlowski    properties:
48a5ffbc04SKrzysztof Kozlowski      compatible:
49a5ffbc04SKrzysztof Kozlowski        const: qcom,wcnss-bt
50a5ffbc04SKrzysztof Kozlowski
5145564c4eSSven Peter      local-bd-address: true
52a5ffbc04SKrzysztof Kozlowski
53a5ffbc04SKrzysztof Kozlowski    required:
54a5ffbc04SKrzysztof Kozlowski      - compatible
55a5ffbc04SKrzysztof Kozlowski
56a5ffbc04SKrzysztof Kozlowski  wifi:
57a5ffbc04SKrzysztof Kozlowski    additionalProperties: false
58a5ffbc04SKrzysztof Kozlowski    type: object
59a5ffbc04SKrzysztof Kozlowski    properties:
60a5ffbc04SKrzysztof Kozlowski      compatible:
61a5ffbc04SKrzysztof Kozlowski        const: qcom,wcnss-wlan
62a5ffbc04SKrzysztof Kozlowski
63a5ffbc04SKrzysztof Kozlowski      interrupts:
64a5ffbc04SKrzysztof Kozlowski        maxItems: 2
65a5ffbc04SKrzysztof Kozlowski
66a5ffbc04SKrzysztof Kozlowski      interrupt-names:
67a5ffbc04SKrzysztof Kozlowski        items:
68a5ffbc04SKrzysztof Kozlowski          - const: tx
69a5ffbc04SKrzysztof Kozlowski          - const: rx
70a5ffbc04SKrzysztof Kozlowski
71a5ffbc04SKrzysztof Kozlowski      qcom,smem-states:
72a5ffbc04SKrzysztof Kozlowski        $ref: /schemas/types.yaml#/definitions/phandle-array
73a5ffbc04SKrzysztof Kozlowski        maxItems: 2
74a5ffbc04SKrzysztof Kozlowski        description:
75a5ffbc04SKrzysztof Kozlowski          Should reference the tx-enable and tx-rings-empty SMEM states.
76a5ffbc04SKrzysztof Kozlowski
77a5ffbc04SKrzysztof Kozlowski      qcom,smem-state-names:
78a5ffbc04SKrzysztof Kozlowski        items:
79a5ffbc04SKrzysztof Kozlowski          - const: tx-enable
80a5ffbc04SKrzysztof Kozlowski          - const: tx-rings-empty
81a5ffbc04SKrzysztof Kozlowski        description:
82a5ffbc04SKrzysztof Kozlowski          Names of SMEM states.
83a5ffbc04SKrzysztof Kozlowski
84a5ffbc04SKrzysztof Kozlowski    required:
85a5ffbc04SKrzysztof Kozlowski      - compatible
86a5ffbc04SKrzysztof Kozlowski      - interrupts
87a5ffbc04SKrzysztof Kozlowski      - interrupt-names
88a5ffbc04SKrzysztof Kozlowski      - qcom,smem-states
89a5ffbc04SKrzysztof Kozlowski      - qcom,smem-state-names
90a5ffbc04SKrzysztof Kozlowski
91a5ffbc04SKrzysztof Kozlowskirequired:
92a5ffbc04SKrzysztof Kozlowski  - compatible
93a5ffbc04SKrzysztof Kozlowski  - qcom,mmio
94a5ffbc04SKrzysztof Kozlowski  - qcom,smd-channels
95a5ffbc04SKrzysztof Kozlowski
96a5ffbc04SKrzysztof KozlowskiadditionalProperties: false
97a5ffbc04SKrzysztof Kozlowski
98a5ffbc04SKrzysztof Kozlowskiexamples:
99a5ffbc04SKrzysztof Kozlowski  - |
100a5ffbc04SKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
101a5ffbc04SKrzysztof Kozlowski
102a5ffbc04SKrzysztof Kozlowski    smd-edge {
103a5ffbc04SKrzysztof Kozlowski        interrupts = <GIC_SPI 142 IRQ_TYPE_EDGE_RISING>;
104a5ffbc04SKrzysztof Kozlowski
105a5ffbc04SKrzysztof Kozlowski        qcom,ipc = <&apcs 8 17>;
106a5ffbc04SKrzysztof Kozlowski        qcom,smd-edge = <6>;
107a5ffbc04SKrzysztof Kozlowski        qcom,remote-pid = <4>;
108a5ffbc04SKrzysztof Kozlowski
109a5ffbc04SKrzysztof Kozlowski        label = "pronto";
110a5ffbc04SKrzysztof Kozlowski
111a5ffbc04SKrzysztof Kozlowski        wcnss {
112a5ffbc04SKrzysztof Kozlowski            compatible = "qcom,wcnss";
113a5ffbc04SKrzysztof Kozlowski            qcom,smd-channels = "WCNSS_CTRL";
114a5ffbc04SKrzysztof Kozlowski
115a5ffbc04SKrzysztof Kozlowski            qcom,mmio = <&pronto>;
116a5ffbc04SKrzysztof Kozlowski
117a5ffbc04SKrzysztof Kozlowski            bluetooth {
118a5ffbc04SKrzysztof Kozlowski                compatible = "qcom,wcnss-bt";
119*dff55f66SJohan Hovold                /* Updated by boot firmware (little-endian order) */
120*dff55f66SJohan Hovold                local-bd-address = [ 00 00 00 00 00 00 ];
121a5ffbc04SKrzysztof Kozlowski            };
122a5ffbc04SKrzysztof Kozlowski
123a5ffbc04SKrzysztof Kozlowski            wifi {
124a5ffbc04SKrzysztof Kozlowski                compatible = "qcom,wcnss-wlan";
125a5ffbc04SKrzysztof Kozlowski
126a5ffbc04SKrzysztof Kozlowski                interrupts = <GIC_SPI 145 IRQ_TYPE_LEVEL_HIGH>,
127a5ffbc04SKrzysztof Kozlowski                             <GIC_SPI 146 IRQ_TYPE_LEVEL_HIGH>;
128a5ffbc04SKrzysztof Kozlowski                interrupt-names = "tx", "rx";
129a5ffbc04SKrzysztof Kozlowski
130a5ffbc04SKrzysztof Kozlowski                qcom,smem-states = <&apps_smsm 10>, <&apps_smsm 9>;
131a5ffbc04SKrzysztof Kozlowski                qcom,smem-state-names = "tx-enable", "tx-rings-empty";
132a5ffbc04SKrzysztof Kozlowski            };
133a5ffbc04SKrzysztof Kozlowski        };
134a5ffbc04SKrzysztof Kozlowski    };
135