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
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
66required:
67 - compatible
68 - interrupts
69
70allOf:
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
85unevaluatedProperties: false
86
87examples:
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 };