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
784e85359SKrzysztof 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
61*47aab533SBjorn Helgaas      SoCs which have not been converted to the ti,sysc interconnect hierarchy.
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
68*47aab533SBjorn Helgaas      have not been converted to the ti,sysc interconnect hierarchy.
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