blob: 75c9489f319b2796e80578f67d874ea2e4ab696b [file] [log] [blame]
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/wireless/ti,wlcore.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: Texas Instruments Wilink 6/7/8 (wl12xx/wl18xx) Wireless LAN Controller
maintainers:
- Tony Lindgren <tony@atomide.com>
description:
The wl12xx/wl18xx chips can be connected via SPI or via SDIO.
Note that the *-clock-frequency properties assume internal clocks. In case
of external clocks, new bindings (for parsing the clock nodes) have to be
added.
properties:
compatible:
enum:
- ti,wl1271
- ti,wl1273
- ti,wl1281
- ti,wl1283
- ti,wl1285
- ti,wl1801
- ti,wl1805
- ti,wl1807
- ti,wl1831
- ti,wl1835
- ti,wl1837
reg:
maxItems: 1
description:
This is required when connected via SPI, and optional when connected via
SDIO.
interrupts:
minItems: 1
maxItems: 2
interrupt-names:
items:
- const: irq
- const: wakeup
vwlan-supply:
description:
Points to the node of the regulator that powers/enable the wl12xx/wl18xx
chip. This is required when connected via SPI.
ref-clock-frequency:
$ref: /schemas/types.yaml#/definitions/uint32
description: Reference clock frequency.
tcxo-clock-frequency:
$ref: /schemas/types.yaml#/definitions/uint32
description: TCXO clock frequency.
clock-xtal:
$ref: /schemas/types.yaml#/definitions/flag
description: Indicates that the clock is generated from XTAL.
required:
- compatible
- interrupts
allOf:
- $ref: /schemas/spi/spi-peripheral-props.yaml#
- if:
properties:
compatible:
contains:
enum:
- ti,wl1271
- ti,wl1273
- ti,wl1281
- ti,wl1283
then:
required:
- ref-clock-frequency
unevaluatedProperties: false
examples:
- |
#include <dt-bindings/interrupt-controller/irq.h>
// For wl12xx family:
spi {
#address-cells = <1>;
#size-cells = <0>;
wlcore1: wlcore@1 {
compatible = "ti,wl1271";
reg = <1>;
spi-max-frequency = <48000000>;
interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
vwlan-supply = <&vwlan_fixed>;
clock-xtal;
ref-clock-frequency = <38400000>;
};
};
- |
#include <dt-bindings/interrupt-controller/irq.h>
// For wl18xx family:
spi {
#address-cells = <1>;
#size-cells = <0>;
wlcore2: wlcore@0 {
compatible = "ti,wl1835";
reg = <0>;
spi-max-frequency = <48000000>;
interrupts = <27 IRQ_TYPE_EDGE_RISING>;
vwlan-supply = <&vwlan_fixed>;
};
};
- |
#include <dt-bindings/interrupt-controller/irq.h>
// SDIO example:
mmc3 {
vmmc-supply = <&wlan_en_reg>;
bus-width = <4>;
cap-power-off-card;
keep-power-in-suspend;
#address-cells = <1>;
#size-cells = <0>;
wlcore3: wlcore@2 {
compatible = "ti,wl1835";
reg = <2>;
interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
};
};