| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157 |
- # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/gpio/gpio-ep9301.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- title: EP93xx GPIO controller
- maintainers:
- - Linus Walleij <linus.walleij@linaro.org>
- - Bartosz Golaszewski <brgl@bgdev.pl>
- - Nikita Shubin <nikita.shubin@maquefel.me>
- properties:
- compatible:
- oneOf:
- - const: cirrus,ep9301-gpio
- - items:
- - enum:
- - cirrus,ep9302-gpio
- - cirrus,ep9307-gpio
- - cirrus,ep9312-gpio
- - cirrus,ep9315-gpio
- - const: cirrus,ep9301-gpio
- reg:
- minItems: 2
- items:
- - description: data register
- - description: direction register
- - description: interrupt registers base
- reg-names:
- minItems: 2
- items:
- - const: data
- - const: dir
- - const: intr
- gpio-controller: true
- gpio-ranges: true
- "#gpio-cells":
- const: 2
- interrupt-controller: true
- "#interrupt-cells":
- const: 2
- interrupts:
- oneOf:
- - maxItems: 1
- - description: port F has dedicated irq line for each gpio line
- maxItems: 8
- required:
- - compatible
- - reg
- - gpio-controller
- - "#gpio-cells"
- additionalProperties: false
- examples:
- - |
- gpio@80840000 {
- compatible = "cirrus,ep9301-gpio";
- reg = <0x80840000 0x04>,
- <0x80840010 0x04>,
- <0x80840090 0x1c>;
- reg-names = "data", "dir", "intr";
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupt-parent = <&vic1>;
- interrupts = <27>;
- };
- gpio@80840004 {
- compatible = "cirrus,ep9301-gpio";
- reg = <0x80840004 0x04>,
- <0x80840014 0x04>,
- <0x808400ac 0x1c>;
- reg-names = "data", "dir", "intr";
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupt-parent = <&vic1>;
- interrupts = <27>;
- };
- gpio@80840008 {
- compatible = "cirrus,ep9301-gpio";
- reg = <0x80840008 0x04>,
- <0x80840018 0x04>;
- reg-names = "data", "dir";
- gpio-controller;
- #gpio-cells = <2>;
- };
- gpio@8084000c {
- compatible = "cirrus,ep9301-gpio";
- reg = <0x8084000c 0x04>,
- <0x8084001c 0x04>;
- reg-names = "data", "dir";
- gpio-controller;
- #gpio-cells = <2>;
- };
- gpio@80840020 {
- compatible = "cirrus,ep9301-gpio";
- reg = <0x80840020 0x04>,
- <0x80840024 0x04>;
- reg-names = "data", "dir";
- gpio-controller;
- #gpio-cells = <2>;
- };
- gpio@80840030 {
- compatible = "cirrus,ep9301-gpio";
- reg = <0x80840030 0x04>,
- <0x80840034 0x04>,
- <0x8084004c 0x1c>;
- reg-names = "data", "dir", "intr";
- gpio-controller;
- #gpio-cells = <2>;
- interrupt-controller;
- #interrupt-cells = <2>;
- interrupts-extended = <&vic0 19>, <&vic0 20>,
- <&vic0 21>, <&vic0 22>,
- <&vic1 15>, <&vic1 16>,
- <&vic1 17>, <&vic1 18>;
- };
- gpio@80840038 {
- compatible = "cirrus,ep9301-gpio";
- reg = <0x80840038 0x04>,
- <0x8084003c 0x04>;
- reg-names = "data", "dir";
- gpio-controller;
- #gpio-cells = <2>;
- };
- gpio@80840040 {
- compatible = "cirrus,ep9301-gpio";
- reg = <0x80840040 0x04>,
- <0x80840044 0x04>;
- reg-names = "data", "dir";
- gpio-controller;
- #gpio-cells = <2>;
- };
- ...
|