# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/net/wireless/microchip,wilc1000.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Microchip WILC wireless devicetree bindings

maintainers:
  - Adham Abozaeid <adham.abozaeid@microchip.com>
  - Ajay Singh <ajay.kathat@microchip.com>

description:
  The wilc1000 chips can be connected via SPI or SDIO. This document
  describes the binding to connect wilc devices.

properties:
  compatible:
    const: microchip,wilc1000

  reg: true

  spi-max-frequency: true

  interrupts:
    maxItems: 1

  clocks:
    description: phandle to the clock connected on rtc clock line.
    maxItems: 1

  clock-names:
    const: rtc

  enable-gpios:
    maxItems: 1
    description: Used by wilc1000-spi to determine the GPIO line
      connected to the ENABLE line.  If specified, reset-gpios
      must be specified as well as otherwise the driver cannot
      ensure the timing required between asserting ENABLE
      and deasserting RESET.  This should be declared as an
      active-high signal.

  reset-gpios:
    maxItems: 1
    description: Used by wilc1000-spi to determine the GPIO line
      connected to the RESET line.  This should be declared as an
      active-low signal.

required:
  - compatible
  - interrupts

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>

    spi {
      #address-cells = <1>;
      #size-cells = <0>;
      wifi@0 {
        compatible = "microchip,wilc1000";
        spi-max-frequency = <48000000>;
        reg = <0>;
        interrupt-parent = <&pioC>;
        interrupts = <27 0>;
        clocks = <&pck1>;
        clock-names = "rtc";
        enable-gpios = <&pioA 5 GPIO_ACTIVE_HIGH>;
        reset-gpios = <&pioA 6 GPIO_ACTIVE_LOW>;
      };
    };

  - |
    mmc {
      #address-cells = <1>;
      #size-cells = <0>;
      pinctrl-names = "default";
      pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
      non-removable;
      vmmc-supply = <&vcc_mmc1_reg>;
      vqmmc-supply = <&vcc_3v3_reg>;
      bus-width = <4>;
      wifi@0 {
        compatible = "microchip,wilc1000";
        reg = <0>;
        interrupt-parent = <&pioC>;
        interrupts = <27 0>;
        clocks = <&pck1>;
        clock-names = "rtc";
      };
    };
