# 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.

  spi-max-frequency: true

  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

if:
  properties:
    compatible:
      contains:
        enum:
          - ti,wl1271
          - ti,wl1273
          - ti,wl1281
          - ti,wl1283
then:
  required:
    - ref-clock-frequency

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    // For wl12xx family:
    spi1 {
            #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>;
            };
    };

    // For wl18xx family:
    spi2 {
            #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>;
            };
    };

    // 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>;
            };
    };
