| # 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-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-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; | 
 |       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>; | 
 |     }; | 
 |  | 
 | ... |