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