]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/soc/qcom/qcom,wcnss.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / soc / qcom / qcom,wcnss.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
7 title: Qualcomm WCNSS
8
9 maintainers:
10 - Andy Gross <agross@kernel.org>
11 - Bjorn Andersson <bjorn.andersson@linaro.org>
12
13 description:
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
17 properties:
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 additionalProperties: 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 required:
92 - compatible
93 - qcom,mmio
94 - qcom,smd-channels
95
96 additionalProperties: false
97
98 examples:
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 /* BD address 00:11:22:33:44:55 */
120 local-bd-address = [ 55 44 33 22 11 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 };