xref: /linux/Documentation/devicetree/bindings/gpio/altr-pio-1.0.yaml (revision 5f5598d945e2a69f764aa5c2074dad73e23bcfcb)
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpio/altr-pio-1.0.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Altera GPIO controller
8
9maintainers:
10  - Dinh Nguyen <dinguyen@kernel.org>
11  - Marek Vasut <marex@denx.de>
12  - Mathieu Malaterre <malat@debian.org>
13  - Tien Hock Loh <thloh@altera.com>
14
15properties:
16  compatible:
17    const: altr,pio-1.0
18
19  reg:
20    maxItems: 1
21
22  gpio-controller: true
23
24  "#gpio-cells":
25    const: 2
26    description:
27      First cell is the GPIO offset number. Second cell is reserved and
28      currently unused.
29
30  interrupts:
31    maxItems: 1
32
33  interrupt-controller: true
34
35  "#interrupt-cells":
36    const: 2
37
38  altr,ngpio:
39    $ref: /schemas/types.yaml#/definitions/uint32
40    description: Width of the GPIO bank.
41    default: 32
42
43  altr,interrupt-type:
44    $ref: /schemas/types.yaml#/definitions/uint32
45    description: >
46      Specifies the interrupt trigger type synthesized by hardware.
47      Values defined in <dt-bindings/interrupt-controller/irq.h>.
48    enum: [1, 2, 3, 4]
49
50required:
51  - compatible
52  - reg
53  - gpio-controller
54  - "#gpio-cells"
55  - interrupts
56  - interrupt-controller
57  - "#interrupt-cells"
58
59additionalProperties: false
60
61examples:
62  - |
63    #include <dt-bindings/interrupt-controller/irq.h>
64
65    gpio@ff200000 {
66        compatible = "altr,pio-1.0";
67        reg = <0xff200000 0x10>;
68        interrupts = <45 4>;
69        interrupt-controller;
70        #interrupt-cells = <2>;
71        gpio-controller;
72        #gpio-cells = <2>;
73        altr,ngpio = <32>;
74        altr,interrupt-type = <IRQ_TYPE_EDGE_RISING>;
75    };
76