]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - Bindings/net/wireless/ti,wlcore.yaml
Import device-tree files from Linux 6.1
[FreeBSD/FreeBSD.git] / 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     spi1 {
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     // For wl18xx family:
108     spi2 {
109             #address-cells = <1>;
110             #size-cells = <0>;
111
112             wlcore2: wlcore@0 {
113                     compatible = "ti,wl1835";
114                     reg = <0>;
115                     spi-max-frequency = <48000000>;
116                     interrupts = <27 IRQ_TYPE_EDGE_RISING>;
117                     vwlan-supply = <&vwlan_fixed>;
118             };
119     };
120
121     // SDIO example:
122     mmc3 {
123             vmmc-supply = <&wlan_en_reg>;
124             bus-width = <4>;
125             cap-power-off-card;
126             keep-power-in-suspend;
127
128             #address-cells = <1>;
129             #size-cells = <0>;
130
131             wlcore3: wlcore@2 {
132                     compatible = "ti,wl1835";
133                     reg = <2>;
134                     interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
135             };
136     };