# 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

required:
  - compatible
  - interrupts

additionalProperties: false

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

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