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