Commit 762133d6 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Rob Herring
Browse files

dt-bindings: net: wireless: ti,wlcore: Convert to json-schema



The Texas Instruments Wilink 6/7/8 (wl12xx/wl18xx) Wireless LAN
Controllers can be connected via SPI or via SDIO.
Convert the two Device Tree binding documents to json-schema, and merge
them into a single document.

Add missing ti,wl1285 compatible value.
Add missing interrupt-names property.

Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/23a2fbc46255a988e5d36f6c14abb7130480d200.1634646975.git.geert+renesas@glider.be


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent 33ecdd38
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -13,7 +13,7 @@ and GPS over what's called "shared transport". The shared transport is
standard BT HCI protocol with additional channels for the other functions.

TI WiLink devices also have a separate WiFi interface as described in
wireless/ti,wlcore.txt.
wireless/ti,wlcore.yaml.

This bindings follows the UART slave device binding in ../serial/serial.yaml.

+0 −57
Original line number Diff line number Diff line
* Texas Instruments wl12xx/wl18xx wireless lan controller

The wl12xx/wl18xx chips can be connected via SPI or via SDIO. This
document describes the binding for the SPI connected chip.

Required properties:
- compatible :          Should be one of the following:
    * "ti,wl1271"
    * "ti,wl1273"
    * "ti,wl1281"
    * "ti,wl1283"
    * "ti,wl1801"
    * "ti,wl1805"
    * "ti,wl1807"
    * "ti,wl1831"
    * "ti,wl1835"
    * "ti,wl1837"
- reg :                 Chip select address of device
- spi-max-frequency :   Maximum SPI clocking speed of device in Hz
- interrupts :          Should contain parameters for 1 interrupt line.
- vwlan-supply :        Point the node of the regulator that powers/enable the
                        wl12xx/wl18xx chip

Optional properties:
- ref-clock-frequency : Reference clock frequency (should be set for wl12xx)
- clock-xtal :          boolean, clock is generated from XTAL

- Please consult Documentation/devicetree/bindings/spi/spi-bus.txt
  for optional SPI connection related properties,

Examples:

For wl12xx family:
&spi1 {
	wlcore: wlcore@1 {
		compatible = "ti,wl1271";
		reg = <1>;
		spi-max-frequency = <48000000>;
		interrupt-parent = <&gpio3>;
		interrupts = <8 IRQ_TYPE_LEVEL_HIGH>;
		vwlan-supply = <&vwlan_fixed>;
		clock-xtal;
		ref-clock-frequency = <38400000>;
	};
};

For wl18xx family:
&spi0 {
	wlcore: wlcore@0 {
		compatible = "ti,wl1835";
		reg = <0>;
		spi-max-frequency = <48000000>;
		interrupt-parent = <&gpio0>;
		interrupts = <27 IRQ_TYPE_EDGE_RISING>;
		vwlan-supply = <&vwlan_fixed>;
	};
};
+0 −45
Original line number Diff line number Diff line
TI Wilink 6/7/8 (wl12xx/wl18xx) SDIO devices

This node provides properties for controlling the wilink wireless device. The
node is expected to be specified as a child node to the SDIO controller that
connects the device to the system.

Required properties:
 - compatible: should be one of the following:
    * "ti,wl1271"
    * "ti,wl1273"
    * "ti,wl1281"
    * "ti,wl1283"
    * "ti,wl1285"
    * "ti,wl1801"
    * "ti,wl1805"
    * "ti,wl1807"
    * "ti,wl1831"
    * "ti,wl1835"
    * "ti,wl1837"
 - interrupts : specifies attributes for the out-of-band interrupt.

Optional properties:
 - ref-clock-frequency : ref clock frequency in Hz
 - tcxo-clock-frequency : tcxo clock frequency in Hz

Note: the *-clock-frequency properties assume internal clocks. In case of external
clock, new bindings (for parsing the clock nodes) have to be added.

Example:

&mmc3 {
	vmmc-supply = <&wlan_en_reg>;
	bus-width = <4>;
	cap-power-off-card;
	keep-power-in-suspend;

	#address-cells = <1>;
	#size-cells = <0>;
	wlcore: wlcore@2 {
		compatible = "ti,wl1835";
		reg = <2>;
		interrupt-parent = <&gpio0>;
		interrupts = <19 IRQ_TYPE_LEVEL_HIGH>;
	};
};
+134 −0
Original line number Diff line number Diff line
# 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:
    description: Reference clock frequency.

  tcxo-clock-frequency:
    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>;
            };
    };
+1 −1
Original line number Diff line number Diff line
@@ -79,7 +79,7 @@ OMAP3_CORE1_IOPAD(0x2138, PIN_INPUT | MUX_MODE4) /* gpin114 */

/*
 * for WL183x module see
 * Documentation/devicetree/bindings/net/wireless/ti,wlcore.txt
 * Documentation/devicetree/bindings/net/wireless/ti,wlcore.yaml
 */

&wifi_pwrseq {