xref: /linux/Documentation/devicetree/bindings/net/wireless/microchip,wilc1000.yaml (revision 15273b7b8b4f378613bf2cb45ce1b83f13e4afa1)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/net/wireless/microchip,wilc1000.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip WILC wireless devicetree bindings
8
9maintainers:
10  - Adham Abozaeid <adham.abozaeid@microchip.com>
11  - Ajay Singh <ajay.kathat@microchip.com>
12
13description:
14  The wilc1000 chips can be connected via SPI or SDIO. This document
15  describes the binding to connect wilc devices.
16
17properties:
18  compatible:
19    const: microchip,wilc1000
20
21  reg: true
22
23  interrupts:
24    maxItems: 1
25
26  clocks:
27    description: phandle to the clock connected on rtc clock line.
28    maxItems: 1
29
30  clock-names:
31    const: rtc
32
33  enable-gpios:
34    maxItems: 1
35    description: Used by wilc1000-spi to determine the GPIO line
36      connected to the ENABLE line.  If specified, reset-gpios
37      must be specified as well as otherwise the driver cannot
38      ensure the timing required between asserting ENABLE
39      and deasserting RESET.  This should be declared as an
40      active-high signal.
41
42  reset-gpios:
43    maxItems: 1
44    description: Used by wilc1000-spi to determine the GPIO line
45      connected to the RESET line.  This should be declared as an
46      active-low signal.
47
48required:
49  - compatible
50  - interrupts
51
52allOf:
53  - $ref: /schemas/spi/spi-peripheral-props.yaml#
54
55unevaluatedProperties: false
56
57examples:
58  - |
59    #include <dt-bindings/gpio/gpio.h>
60
61    spi {
62      #address-cells = <1>;
63      #size-cells = <0>;
64      wifi@0 {
65        compatible = "microchip,wilc1000";
66        spi-max-frequency = <48000000>;
67        reg = <0>;
68        interrupt-parent = <&pioC>;
69        interrupts = <27 0>;
70        clocks = <&pck1>;
71        clock-names = "rtc";
72        enable-gpios = <&pioA 5 GPIO_ACTIVE_HIGH>;
73        reset-gpios = <&pioA 6 GPIO_ACTIVE_LOW>;
74      };
75    };
76
77  - |
78    mmc {
79      #address-cells = <1>;
80      #size-cells = <0>;
81      pinctrl-names = "default";
82      pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
83      non-removable;
84      vmmc-supply = <&vcc_mmc1_reg>;
85      vqmmc-supply = <&vcc_3v3_reg>;
86      bus-width = <4>;
87      wifi@0 {
88        compatible = "microchip,wilc1000";
89        reg = <0>;
90        interrupt-parent = <&pioC>;
91        interrupts = <27 0>;
92        clocks = <&pck1>;
93        clock-names = "rtc";
94      };
95    };
96