# 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:
    oneOf:
      - items:
          - const: microchip,wilc3000
          - const: microchip,wilc1000
      - 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";
      };
    };
