xref: /linux/Documentation/devicetree/bindings/net/wireless/microchip,wilc1000.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
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
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    oneOf:
20      - items:
21          - const: microchip,wilc3000
22          - const: microchip,wilc1000
23      - const: microchip,wilc1000
24
25  reg: true
26
27  interrupts:
28    maxItems: 1
29
30  clocks:
31    description: phandle to the clock connected on rtc clock line.
32    maxItems: 1
33
34  clock-names:
35    const: rtc
36
37  enable-gpios:
38    maxItems: 1
39    description: Used by wilc1000-spi to determine the GPIO line
40      connected to the ENABLE line.  If specified, reset-gpios
41      must be specified as well as otherwise the driver cannot
42      ensure the timing required between asserting ENABLE
43      and deasserting RESET.  This should be declared as an
44      active-high signal.
45
46  reset-gpios:
47    maxItems: 1
48    description: Used by wilc1000-spi to determine the GPIO line
49      connected to the RESET line.  This should be declared as an
50      active-low signal.
51
52required:
53  - compatible
54  - interrupts
55
56allOf:
57  - $ref: /schemas/spi/spi-peripheral-props.yaml#
58
59unevaluatedProperties: false
60
61examples:
62  - |
63    #include <dt-bindings/gpio/gpio.h>
64
65    spi {
66      #address-cells = <1>;
67      #size-cells = <0>;
68      wifi@0 {
69        compatible = "microchip,wilc1000";
70        spi-max-frequency = <48000000>;
71        reg = <0>;
72        interrupt-parent = <&pioC>;
73        interrupts = <27 0>;
74        clocks = <&pck1>;
75        clock-names = "rtc";
76        enable-gpios = <&pioA 5 GPIO_ACTIVE_HIGH>;
77        reset-gpios = <&pioA 6 GPIO_ACTIVE_LOW>;
78      };
79    };
80
81  - |
82    mmc {
83      #address-cells = <1>;
84      #size-cells = <0>;
85      pinctrl-names = "default";
86      pinctrl-0 = <&pinctrl_mmc1_clk_cmd_dat0 &pinctrl_mmc1_dat1_3>;
87      non-removable;
88      vmmc-supply = <&vcc_mmc1_reg>;
89      vqmmc-supply = <&vcc_3v3_reg>;
90      bus-width = <4>;
91      wifi@0 {
92        compatible = "microchip,wilc1000";
93        reg = <0>;
94        interrupt-parent = <&pioC>;
95        interrupts = <27 0>;
96        clocks = <&pck1>;
97        clock-names = "rtc";
98      };
99    };
100