xref: /linux/Documentation/devicetree/bindings/gpio/microchip,mpfs-gpio.yaml (revision 566ab427f827b0256d3e8ce0235d088e6a9c28bd)
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    items:
15      - enum:
16          - microchip,mpfs-gpio
17          - microchip,coregpio-rtl-v3
18
19  reg:
20    maxItems: 1
21
22  interrupts:
23    description:
24      Interrupt mapping, one per GPIO. Maximum 32 GPIOs.
25    minItems: 1
26    maxItems: 32
27
28  interrupt-controller: true
29
30  clocks:
31    maxItems: 1
32
33  "#gpio-cells":
34    const: 2
35
36  "#interrupt-cells":
37    const: 1
38
39  ngpios:
40    description:
41      The number of GPIOs available.
42    minimum: 1
43    maximum: 32
44    default: 32
45
46  gpio-controller: true
47  gpio-line-names: true
48
49patternProperties:
50  "^.+-hog(-[0-9]+)?$":
51    type: object
52    required:
53      - gpio-hog
54
55allOf:
56  - if:
57      properties:
58        compatible:
59          contains:
60            const: microchip,mpfs-gpio
61    then:
62      required:
63        - interrupts
64        - "#interrupt-cells"
65        - interrupt-controller
66
67required:
68  - compatible
69  - reg
70  - "#gpio-cells"
71  - gpio-controller
72  - clocks
73
74additionalProperties: false
75
76examples:
77  - |
78    gpio@20122000 {
79        compatible = "microchip,mpfs-gpio";
80        reg = <0x20122000 0x1000>;
81        clocks = <&clkcfg 25>;
82        interrupt-parent = <&plic>;
83        gpio-controller;
84        #gpio-cells = <2>;
85        interrupt-controller;
86        #interrupt-cells = <1>;
87        interrupts = <53>, <53>, <53>, <53>,
88                     <53>, <53>, <53>, <53>,
89                     <53>, <53>, <53>, <53>,
90                     <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    };
96...
97