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