xref: /linux/Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml (revision 3fd6c59042dbba50391e30862beac979491145fe)
1a1b78312SNikita Shubin# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2a1b78312SNikita Shubin%YAML 1.2
3a1b78312SNikita Shubin---
4a1b78312SNikita Shubin$id: http://devicetree.org/schemas/gpio/gpio-ep9301.yaml#
5a1b78312SNikita Shubin$schema: http://devicetree.org/meta-schemas/core.yaml#
6a1b78312SNikita Shubin
7a1b78312SNikita Shubintitle: EP93xx GPIO controller
8a1b78312SNikita Shubin
9a1b78312SNikita Shubinmaintainers:
10a1b78312SNikita Shubin  - Linus Walleij <linus.walleij@linaro.org>
11a1b78312SNikita Shubin  - Bartosz Golaszewski <brgl@bgdev.pl>
12a1b78312SNikita Shubin  - Nikita Shubin <nikita.shubin@maquefel.me>
13a1b78312SNikita Shubin
14a1b78312SNikita Shubinproperties:
15a1b78312SNikita Shubin  compatible:
16a1b78312SNikita Shubin    oneOf:
17a1b78312SNikita Shubin      - const: cirrus,ep9301-gpio
18a1b78312SNikita Shubin      - items:
19a1b78312SNikita Shubin          - enum:
20a1b78312SNikita Shubin              - cirrus,ep9302-gpio
21a1b78312SNikita Shubin              - cirrus,ep9307-gpio
22a1b78312SNikita Shubin              - cirrus,ep9312-gpio
23a1b78312SNikita Shubin              - cirrus,ep9315-gpio
24a1b78312SNikita Shubin          - const: cirrus,ep9301-gpio
25a1b78312SNikita Shubin
26a1b78312SNikita Shubin  reg:
27a1b78312SNikita Shubin    minItems: 2
28a1b78312SNikita Shubin    items:
29a1b78312SNikita Shubin      - description: data register
30a1b78312SNikita Shubin      - description: direction register
31a1b78312SNikita Shubin      - description: interrupt registers base
32a1b78312SNikita Shubin
33a1b78312SNikita Shubin  reg-names:
34a1b78312SNikita Shubin    minItems: 2
35a1b78312SNikita Shubin    items:
36a1b78312SNikita Shubin      - const: data
37a1b78312SNikita Shubin      - const: dir
38a1b78312SNikita Shubin      - const: intr
39a1b78312SNikita Shubin
40a1b78312SNikita Shubin  gpio-controller: true
41a1b78312SNikita Shubin
42a1b78312SNikita Shubin  gpio-ranges: true
43a1b78312SNikita Shubin
44a1b78312SNikita Shubin  "#gpio-cells":
45a1b78312SNikita Shubin    const: 2
46a1b78312SNikita Shubin
47a1b78312SNikita Shubin  interrupt-controller: true
48a1b78312SNikita Shubin
49a1b78312SNikita Shubin  "#interrupt-cells":
50a1b78312SNikita Shubin    const: 2
51a1b78312SNikita Shubin
52a1b78312SNikita Shubin  interrupts:
53a1b78312SNikita Shubin    oneOf:
54a1b78312SNikita Shubin      - maxItems: 1
55a1b78312SNikita Shubin      - description: port F has dedicated irq line for each gpio line
56a1b78312SNikita Shubin        maxItems: 8
57a1b78312SNikita Shubin
58a1b78312SNikita Shubinrequired:
59a1b78312SNikita Shubin  - compatible
60a1b78312SNikita Shubin  - reg
61a1b78312SNikita Shubin  - gpio-controller
62a1b78312SNikita Shubin  - "#gpio-cells"
63a1b78312SNikita Shubin
64a1b78312SNikita ShubinadditionalProperties: false
65a1b78312SNikita Shubin
66a1b78312SNikita Shubinexamples:
67a1b78312SNikita Shubin  - |
68a1b78312SNikita Shubin    gpio@80840000 {
69a1b78312SNikita Shubin      compatible = "cirrus,ep9301-gpio";
70a1b78312SNikita Shubin      reg = <0x80840000 0x04>,
71a1b78312SNikita Shubin            <0x80840010 0x04>,
72a1b78312SNikita Shubin            <0x80840090 0x1c>;
73a1b78312SNikita Shubin      reg-names = "data", "dir", "intr";
74a1b78312SNikita Shubin      gpio-controller;
75a1b78312SNikita Shubin      #gpio-cells = <2>;
76a1b78312SNikita Shubin      interrupt-controller;
77*e3eb39e6SRob Herring      #interrupt-cells = <2>;
78a1b78312SNikita Shubin      interrupt-parent = <&vic1>;
79a1b78312SNikita Shubin      interrupts = <27>;
80a1b78312SNikita Shubin    };
81a1b78312SNikita Shubin
82a1b78312SNikita Shubin    gpio@80840004 {
83a1b78312SNikita Shubin      compatible = "cirrus,ep9301-gpio";
84a1b78312SNikita Shubin      reg = <0x80840004 0x04>,
85a1b78312SNikita Shubin            <0x80840014 0x04>,
86a1b78312SNikita Shubin            <0x808400ac 0x1c>;
87a1b78312SNikita Shubin      reg-names = "data", "dir", "intr";
88a1b78312SNikita Shubin      gpio-controller;
89a1b78312SNikita Shubin      #gpio-cells = <2>;
90a1b78312SNikita Shubin      interrupt-controller;
91*e3eb39e6SRob Herring      #interrupt-cells = <2>;
92a1b78312SNikita Shubin      interrupt-parent = <&vic1>;
93a1b78312SNikita Shubin      interrupts = <27>;
94a1b78312SNikita Shubin    };
95a1b78312SNikita Shubin
96a1b78312SNikita Shubin    gpio@80840008 {
97a1b78312SNikita Shubin      compatible = "cirrus,ep9301-gpio";
98a1b78312SNikita Shubin      reg = <0x80840008 0x04>,
99a1b78312SNikita Shubin            <0x80840018 0x04>;
100a1b78312SNikita Shubin      reg-names = "data", "dir";
101a1b78312SNikita Shubin      gpio-controller;
102a1b78312SNikita Shubin      #gpio-cells = <2>;
103a1b78312SNikita Shubin    };
104a1b78312SNikita Shubin
105a1b78312SNikita Shubin    gpio@8084000c {
106a1b78312SNikita Shubin      compatible = "cirrus,ep9301-gpio";
107a1b78312SNikita Shubin      reg = <0x8084000c 0x04>,
108a1b78312SNikita Shubin            <0x8084001c 0x04>;
109a1b78312SNikita Shubin      reg-names = "data", "dir";
110a1b78312SNikita Shubin      gpio-controller;
111a1b78312SNikita Shubin      #gpio-cells = <2>;
112a1b78312SNikita Shubin    };
113a1b78312SNikita Shubin
114a1b78312SNikita Shubin    gpio@80840020 {
115a1b78312SNikita Shubin      compatible = "cirrus,ep9301-gpio";
116a1b78312SNikita Shubin      reg = <0x80840020 0x04>,
117a1b78312SNikita Shubin            <0x80840024 0x04>;
118a1b78312SNikita Shubin      reg-names = "data", "dir";
119a1b78312SNikita Shubin      gpio-controller;
120a1b78312SNikita Shubin      #gpio-cells = <2>;
121a1b78312SNikita Shubin    };
122a1b78312SNikita Shubin
123a1b78312SNikita Shubin    gpio@80840030 {
124a1b78312SNikita Shubin      compatible = "cirrus,ep9301-gpio";
125a1b78312SNikita Shubin      reg = <0x80840030 0x04>,
126a1b78312SNikita Shubin            <0x80840034 0x04>,
127a1b78312SNikita Shubin            <0x8084004c 0x1c>;
128a1b78312SNikita Shubin      reg-names = "data", "dir", "intr";
129a1b78312SNikita Shubin      gpio-controller;
130a1b78312SNikita Shubin      #gpio-cells = <2>;
131a1b78312SNikita Shubin      interrupt-controller;
132*e3eb39e6SRob Herring      #interrupt-cells = <2>;
133a1b78312SNikita Shubin      interrupts-extended = <&vic0 19>, <&vic0 20>,
134a1b78312SNikita Shubin                            <&vic0 21>, <&vic0 22>,
135a1b78312SNikita Shubin                            <&vic1 15>, <&vic1 16>,
136a1b78312SNikita Shubin                            <&vic1 17>, <&vic1 18>;
137a1b78312SNikita Shubin    };
138a1b78312SNikita Shubin
139a1b78312SNikita Shubin    gpio@80840038 {
140a1b78312SNikita Shubin      compatible = "cirrus,ep9301-gpio";
141a1b78312SNikita Shubin      reg = <0x80840038 0x04>,
142a1b78312SNikita Shubin            <0x8084003c 0x04>;
143a1b78312SNikita Shubin      reg-names = "data", "dir";
144a1b78312SNikita Shubin      gpio-controller;
145a1b78312SNikita Shubin      #gpio-cells = <2>;
146a1b78312SNikita Shubin    };
147a1b78312SNikita Shubin
148a1b78312SNikita Shubin    gpio@80840040 {
149a1b78312SNikita Shubin      compatible = "cirrus,ep9301-gpio";
150a1b78312SNikita Shubin      reg = <0x80840040 0x04>,
151a1b78312SNikita Shubin            <0x80840044 0x04>;
152a1b78312SNikita Shubin      reg-names = "data", "dir";
153a1b78312SNikita Shubin      gpio-controller;
154a1b78312SNikita Shubin      #gpio-cells = <2>;
155a1b78312SNikita Shubin    };
156a1b78312SNikita Shubin
157a1b78312SNikita Shubin...
158