arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.git] / Documentation / devicetree / bindings / net / wireless / ti,wlcore.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/net/wireless/ti,wlcore.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Texas Instruments Wilink 6/7/8 (wl12xx/wl18xx) Wireless LAN Controller
8
9 maintainers:
10   - Tony Lindgren <tony@atomide.com>
11
12 description:
13   The wl12xx/wl18xx chips can be connected via SPI or via SDIO.
14   Note that the *-clock-frequency properties assume internal clocks.  In case
15   of external clocks, new bindings (for parsing the clock nodes) have to be
16   added.
17
18 properties:
19   compatible:
20     enum:
21       - ti,wl1271
22       - ti,wl1273
23       - ti,wl1281
24       - ti,wl1283
25       - ti,wl1285
26       - ti,wl1801
27       - ti,wl1805
28       - ti,wl1807
29       - ti,wl1831
30       - ti,wl1835
31       - ti,wl1837
32
33   reg:
34     maxItems: 1
35     description:
36       This is required when connected via SPI, and optional when connected via
37       SDIO.
38
39   interrupts:
40     minItems: 1
41     maxItems: 2
42
43   interrupt-names:
44     items:
45       - const: irq
46       - const: wakeup
47
48   vwlan-supply:
49     description:
50       Points to the node of the regulator that powers/enable the wl12xx/wl18xx
51       chip.  This is required when connected via SPI.
52
53
54   ref-clock-frequency:
55     $ref: /schemas/types.yaml#/definitions/uint32
56     description: Reference clock frequency.
57
58   tcxo-clock-frequency:
59     $ref: /schemas/types.yaml#/definitions/uint32
60     description: TCXO clock frequency.
61
62   clock-xtal:
63     $ref: /schemas/types.yaml#/definitions/flag
64     description: Indicates that the clock is generated from XTAL.
65
66 required:
67   - compatible
68   - interrupts
69
70 allOf:
71   - $ref: /schemas/spi/spi-peripheral-props.yaml#
72   - if:
73       properties:
74         compatible:
75           contains:
76             enum:
77               - ti,wl1271
78               - ti,wl1273
79               - ti,wl1281
80               - ti,wl1283
81     then:
82       required:
83         - ref-clock-frequency
84
85 unevaluatedProperties: false
86
87 examples:
88   - |
89     #include <dt-bindings/interrupt-controller/irq.h>
90
91     // For wl12xx family:
92     spi {
93         #address-cells = <1>;
94         #size-cells = <0>;
95
96         wlcore1: wlcore@1 {
97             compatible = "ti,wl1271";
98             reg = <1>;
99             spi-max-frequency = <48000000>;
100             interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
101             vwlan-supply = <&vwlan_fixed>;
102             clock-xtal;
103             ref-clock-frequency = <38400000>;
104         };
105     };
106
107   - |
108     #include <dt-bindings/interrupt-controller/irq.h>
109
110     // For wl18xx family:
111     spi {
112         #address-cells = <1>;
113         #size-cells = <0>;
114
115         wlcore2: wlcore@0 {
116             compatible = "ti,wl1835";
117             reg = <0>;
118             spi-max-frequency = <48000000>;
119             interrupts = <27 IRQ_TYPE_EDGE_RISING>;
120             vwlan-supply = <&vwlan_fixed>;
121         };
122     };
123
124   - |
125     #include <dt-bindings/interrupt-controller/irq.h>
126
127     // SDIO example:
128     mmc3 {
129         vmmc-supply = <&wlan_en_reg>;
130         bus-width = <4>;
131         cap-power-off-card;
132         keep-power-in-suspend;
133
134         #address-cells = <1>;
135         #size-cells = <0>;
136
137         wlcore3: wlcore@2 {
138             compatible = "ti,wl1835";
139             reg = <2>;
140             interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
141         };
142     };