1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpio/ti,omap-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: OMAP GPIO controller
8
9maintainers:
10  - Grygorii Strashko <grygorii.strashko@ti.com>
11
12description: |
13  The general-purpose interface combines general-purpose input/output (GPIO) banks.
14  Each GPIO banks provides up to 32 dedicated general-purpose pins with input
15  and output capabilities; interrupt generation in active mode and wake-up
16  request generation in idle mode upon the detection of external events.
17
18properties:
19  compatible:
20    oneOf:
21      - enum:
22          - ti,omap2-gpio
23          - ti,omap3-gpio
24          - ti,omap4-gpio
25      - items:
26          - const: ti,am4372-gpio
27          - const: ti,omap4-gpio
28
29  reg:
30    maxItems: 1
31
32  gpio-controller: true
33
34  '#gpio-cells':
35    const: 2
36
37  interrupt-controller: true
38
39  '#interrupt-cells':
40    const: 2
41
42  interrupts:
43    maxItems: 1
44
45  gpio-ranges: true
46
47  gpio-line-names:
48    minItems: 1
49    maxItems: 32
50
51  ti,gpio-always-on:
52    $ref: /schemas/types.yaml#/definitions/flag
53    description:
54      Indicates if a GPIO bank is always powered and will never lose its logic state.
55
56  ti,hwmods:
57    $ref: /schemas/types.yaml#/definitions/string
58    deprecated: true
59    description:
60      Name of the hwmod associated with the GPIO. Needed on some legacy OMAP
61      SoCs which have not been converted to the ti,sysc interconnect hierarchy.
62
63  ti,no-reset-on-init:
64    $ref: /schemas/types.yaml#/definitions/flag
65    deprecated: true
66    description:
67      Do not reset on init. Used with ti,hwmods on some legacy OMAP SoCs which
68      have not been converted to the ti,sysc interconnect hierarchy.
69
70patternProperties:
71  "^(.+-hog(-[0-9]+)?)$":
72    type: object
73
74    required:
75      - gpio-hog
76
77required:
78  - compatible
79  - reg
80  - gpio-controller
81  - "#gpio-cells"
82  - interrupt-controller
83  - "#interrupt-cells"
84  - interrupts
85
86additionalProperties: false
87
88examples:
89  - |
90    #include <dt-bindings/gpio/gpio.h>
91
92    gpio0: gpio@0 {
93        compatible = "ti,omap4-gpio";
94        reg = <0x0 0x1000>;
95        gpio-controller;
96        #gpio-cells = <2>;
97        interrupt-controller;
98        #interrupt-cells = <2>;
99        interrupts = <96>;
100        ti,gpio-always-on;
101
102        ls-buf-en-hog {
103            gpio-hog;
104            gpios = <10 GPIO_ACTIVE_HIGH>;
105            output-high;
106            line-name = "LS_BUF_EN";
107        };
108    };
109