GNU Linux-libre 5.15.137-gnu
[releases.git] / Documentation / devicetree / bindings / gpio / gpio-vf610.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/gpio/gpio-vf610.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Freescale VF610 PORT/GPIO module
8
9 maintainers:
10   - Stefan Agner <stefan@agner.ch>
11
12 description: |
13   The Freescale PORT/GPIO modules are two adjacent modules providing GPIO
14   functionality. Each pair serves 32 GPIOs. The VF610 has 5 instances of
15   each, and each PORT module has its own interrupt.
16
17   Note: Each GPIO port should have an alias correctly numbered in "aliases"
18   node.
19
20 properties:
21   compatible:
22     oneOf:
23       - const: fsl,vf610-gpio
24       - items:
25           - const: fsl,imx7ulp-gpio
26           - const: fsl,vf610-gpio
27
28   reg:
29     description: The first reg tuple represents the PORT module, the second tuple
30       represents the GPIO module.
31     maxItems: 2
32
33   interrupts:
34     maxItems: 1
35
36   interrupt-controller: true
37
38   "#interrupt-cells":
39     const: 2
40
41   "#gpio-cells":
42     const: 2
43
44   gpio-controller: true
45
46   clocks:
47     items:
48       - description: SoC GPIO clock
49       - description: SoC PORT clock
50
51   clock-names:
52     items:
53       - const: gpio
54       - const: port
55
56   gpio-ranges:
57     maxItems: 1
58
59 required:
60   - compatible
61   - reg
62   - interrupts
63   - interrupt-controller
64   - "#interrupt-cells"
65   - "#gpio-cells"
66   - gpio-controller
67
68 additionalProperties: false
69
70 examples:
71   - |
72     #include <dt-bindings/interrupt-controller/arm-gic.h>
73
74     gpio1: gpio@40049000 {
75         compatible = "fsl,vf610-gpio";
76         reg = <0x40049000 0x1000>, <0x400ff000 0x40>;
77         interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;
78         gpio-controller;
79         #gpio-cells = <2>;
80         interrupt-controller;
81         #interrupt-cells = <2>;
82         gpio-ranges = <&iomuxc 0 0 32>;
83     };