# 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

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

  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

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: 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";
      };
    };
