158 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/gpio/gpio-ep9301.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: EP93xx GPIO controller8 9maintainers:10 - Linus Walleij <linus.walleij@linaro.org>11 - Bartosz Golaszewski <brgl@bgdev.pl>12 - Nikita Shubin <nikita.shubin@maquefel.me>13 14properties:15 compatible:16 oneOf:17 - const: cirrus,ep9301-gpio18 - items:19 - enum:20 - cirrus,ep9302-gpio21 - cirrus,ep9307-gpio22 - cirrus,ep9312-gpio23 - cirrus,ep9315-gpio24 - const: cirrus,ep9301-gpio25 26 reg:27 minItems: 228 items:29 - description: data register30 - description: direction register31 - description: interrupt registers base32 33 reg-names:34 minItems: 235 items:36 - const: data37 - const: dir38 - const: intr39 40 gpio-controller: true41 42 gpio-ranges: true43 44 "#gpio-cells":45 const: 246 47 interrupt-controller: true48 49 "#interrupt-cells":50 const: 251 52 interrupts:53 oneOf:54 - maxItems: 155 - description: port F has dedicated irq line for each gpio line56 maxItems: 857 58required:59 - compatible60 - reg61 - gpio-controller62 - "#gpio-cells"63 64additionalProperties: false65 66examples:67 - |68 gpio@80840000 {69 compatible = "cirrus,ep9301-gpio";70 reg = <0x80840000 0x04>,71 <0x80840010 0x04>,72 <0x80840090 0x1c>;73 reg-names = "data", "dir", "intr";74 gpio-controller;75 #gpio-cells = <2>;76 interrupt-controller;77 #interrupt-cells = <2>;78 interrupt-parent = <&vic1>;79 interrupts = <27>;80 };81 82 gpio@80840004 {83 compatible = "cirrus,ep9301-gpio";84 reg = <0x80840004 0x04>,85 <0x80840014 0x04>,86 <0x808400ac 0x1c>;87 reg-names = "data", "dir", "intr";88 gpio-controller;89 #gpio-cells = <2>;90 interrupt-controller;91 #interrupt-cells = <2>;92 interrupt-parent = <&vic1>;93 interrupts = <27>;94 };95 96 gpio@80840008 {97 compatible = "cirrus,ep9301-gpio";98 reg = <0x80840008 0x04>,99 <0x80840018 0x04>;100 reg-names = "data", "dir";101 gpio-controller;102 #gpio-cells = <2>;103 };104 105 gpio@8084000c {106 compatible = "cirrus,ep9301-gpio";107 reg = <0x8084000c 0x04>,108 <0x8084001c 0x04>;109 reg-names = "data", "dir";110 gpio-controller;111 #gpio-cells = <2>;112 };113 114 gpio@80840020 {115 compatible = "cirrus,ep9301-gpio";116 reg = <0x80840020 0x04>,117 <0x80840024 0x04>;118 reg-names = "data", "dir";119 gpio-controller;120 #gpio-cells = <2>;121 };122 123 gpio@80840030 {124 compatible = "cirrus,ep9301-gpio";125 reg = <0x80840030 0x04>,126 <0x80840034 0x04>,127 <0x8084004c 0x1c>;128 reg-names = "data", "dir", "intr";129 gpio-controller;130 #gpio-cells = <2>;131 interrupt-controller;132 #interrupt-cells = <2>;133 interrupts-extended = <&vic0 19>, <&vic0 20>,134 <&vic0 21>, <&vic0 22>,135 <&vic1 15>, <&vic1 16>,136 <&vic1 17>, <&vic1 18>;137 };138 139 gpio@80840038 {140 compatible = "cirrus,ep9301-gpio";141 reg = <0x80840038 0x04>,142 <0x8084003c 0x04>;143 reg-names = "data", "dir";144 gpio-controller;145 #gpio-cells = <2>;146 };147 148 gpio@80840040 {149 compatible = "cirrus,ep9301-gpio";150 reg = <0x80840040 0x04>,151 <0x80840044 0x04>;152 reg-names = "data", "dir";153 gpio-controller;154 #gpio-cells = <2>;155 };156 157...158