xref: /linux/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml (revision d30c1683aaecb93d2ab95685dc4300a33d3cea7a)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpio/microchip,mpfs-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Microchip MPFS GPIO Controller
8
9maintainers:
10  - Conor Dooley <conor.dooley@microchip.com>
11
12properties:
13  compatible:
14    oneOf:
15      - items:
16          - const: microchip,pic64gx-gpio
17          - const: microchip,mpfs-gpio
18      - enum:
19          - microchip,mpfs-gpio
20          - microchip,coregpio-rtl-v3
21
22  reg:
23    maxItems: 1
24
25  interrupts:
26    description:
27      Interrupt mapping, one per GPIO. Maximum 32 GPIOs.
28    minItems: 1
29    maxItems: 32
30
31  interrupt-controller: true
32
33  clocks:
34    maxItems: 1
35
36  "#gpio-cells":
37    const: 2
38
39  "#interrupt-cells":
40    const: 1
41
42  ngpios:
43    description:
44      The number of GPIOs available.
45    minimum: 1
46    maximum: 32
47    default: 32
48
49  gpio-controller: true
50  gpio-line-names: true
51
52patternProperties:
53  "^.+-hog(-[0-9]+)?$":
54    type: object
55    required:
56      - gpio-hog
57
58allOf:
59  - if:
60      properties:
61        compatible:
62          contains:
63            const: microchip,mpfs-gpio
64    then:
65      required:
66        - interrupts
67        - "#interrupt-cells"
68        - interrupt-controller
69
70required:
71  - compatible
72  - reg
73  - "#gpio-cells"
74  - gpio-controller
75  - clocks
76
77additionalProperties: false
78
79examples:
80  - |
81    gpio@20122000 {
82        compatible = "microchip,mpfs-gpio";
83        reg = <0x20122000 0x1000>;
84        clocks = <&clkcfg 25>;
85        interrupt-parent = <&plic>;
86        gpio-controller;
87        #gpio-cells = <2>;
88        interrupt-controller;
89        #interrupt-cells = <1>;
90        interrupts = <53>, <53>, <53>, <53>,
91                     <53>, <53>, <53>, <53>,
92                     <53>, <53>, <53>, <53>,
93                     <53>, <53>, <53>, <53>,
94                     <53>, <53>, <53>, <53>,
95                     <53>, <53>, <53>, <53>,
96                     <53>, <53>, <53>, <53>,
97                     <53>, <53>, <53>, <53>;
98    };
99...
100