1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/gpio/gpio-ep9301.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: EP93xx GPIO controller 8 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-gpio 18 - items: 19 - enum: 20 - cirrus,ep9302-gpio 21 - cirrus,ep9307-gpio 22 - cirrus,ep9312-gpio 23 - cirrus,ep9315-gpio 24 - const: cirrus,ep9301-gpio 25 26 reg: 27 minItems: 2 28 items: 29 - description: data register 30 - description: direction register 31 - description: interrupt registers base 32 33 reg-names: 34 minItems: 2 35 items: 36 - const: data 37 - const: dir 38 - const: intr 39 40 gpio-controller: true 41 42 gpio-ranges: true 43 44 "#gpio-cells": 45 const: 2 46 47 interrupt-controller: true 48 49 "#interrupt-cells": 50 const: 2 51 52 interrupts: 53 oneOf: 54 - maxItems: 1 55 - description: port F has dedicated irq line for each gpio line 56 maxItems: 8 57 58required: 59 - compatible 60 - reg 61 - gpio-controller 62 - "#gpio-cells" 63 64additionalProperties: false 65 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