Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: Texas Instruments Wilink 6/7/8 (wl12xx/wl18xx) Wireless LAN Controller
8
9maintainers:
10 - Tony Lindgren <tony@atomide.com>
11
12description:
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
18properties:
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 ref-clock-frequency:
54 $ref: /schemas/types.yaml#/definitions/uint32
55 description: Reference clock frequency.
56
57 tcxo-clock-frequency:
58 $ref: /schemas/types.yaml#/definitions/uint32
59 description: TCXO clock frequency.
60
61 clock-xtal:
62 $ref: /schemas/types.yaml#/definitions/flag
63 description: Indicates that the clock is generated from XTAL.
64
65required:
66 - compatible
67 - interrupts
68
69allOf:
70 - $ref: /schemas/spi/spi-peripheral-props.yaml#
71 - if:
72 properties:
73 compatible:
74 contains:
75 enum:
76 - ti,wl1271
77 - ti,wl1273
78 - ti,wl1281
79 - ti,wl1283
80 then:
81 required:
82 - ref-clock-frequency
83
84unevaluatedProperties: false
85
86examples:
87 - |
88 #include <dt-bindings/interrupt-controller/irq.h>
89
90 // For wl12xx family:
91 spi {
92 #address-cells = <1>;
93 #size-cells = <0>;
94
95 wlcore1: wlcore@1 {
96 compatible = "ti,wl1271";
97 reg = <1>;
98 spi-max-frequency = <48000000>;
99 interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
100 vwlan-supply = <&vwlan_fixed>;
101 clock-xtal;
102 ref-clock-frequency = <38400000>;
103 };
104 };
105
106 - |
107 #include <dt-bindings/interrupt-controller/irq.h>
108
109 // For wl18xx family:
110 spi {
111 #address-cells = <1>;
112 #size-cells = <0>;
113
114 wlcore2: wlcore@0 {
115 compatible = "ti,wl1835";
116 reg = <0>;
117 spi-max-frequency = <48000000>;
118 interrupts = <27 IRQ_TYPE_EDGE_RISING>;
119 vwlan-supply = <&vwlan_fixed>;
120 };
121 };
122
123 - |
124 #include <dt-bindings/interrupt-controller/irq.h>
125
126 // SDIO example:
127 mmc3 {
128 vmmc-supply = <&wlan_en_reg>;
129 bus-width = <4>;
130 cap-power-off-card;
131 keep-power-in-suspend;
132
133 #address-cells = <1>;
134 #size-cells = <0>;
135
136 wlcore3: wlcore@2 {
137 compatible = "ti,wl1835";
138 reg = <2>;
139 interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
140 };
141 };