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-parent = <&vic1>; 78 interrupts = <27>; 79 }; 80 81 gpio@80840004 { 82 compatible = "cirrus,ep9301-gpio"; 83 reg = <0x80840004 0x04>, 84 <0x80840014 0x04>, 85 <0x808400ac 0x1c>; 86 reg-names = "data", "dir", "intr"; 87 gpio-controller; 88 #gpio-cells = <2>; 89 interrupt-controller; 90 interrupt-parent = <&vic1>; 91 interrupts = <27>; 92 }; 93 94 gpio@80840008 { 95 compatible = "cirrus,ep9301-gpio"; 96 reg = <0x80840008 0x04>, 97 <0x80840018 0x04>; 98 reg-names = "data", "dir"; 99 gpio-controller; 100 #gpio-cells = <2>; 101 }; 102 103 gpio@8084000c { 104 compatible = "cirrus,ep9301-gpio"; 105 reg = <0x8084000c 0x04>, 106 <0x8084001c 0x04>; 107 reg-names = "data", "dir"; 108 gpio-controller; 109 #gpio-cells = <2>; 110 }; 111 112 gpio@80840020 { 113 compatible = "cirrus,ep9301-gpio"; 114 reg = <0x80840020 0x04>, 115 <0x80840024 0x04>; 116 reg-names = "data", "dir"; 117 gpio-controller; 118 #gpio-cells = <2>; 119 }; 120 121 gpio@80840030 { 122 compatible = "cirrus,ep9301-gpio"; 123 reg = <0x80840030 0x04>, 124 <0x80840034 0x04>, 125 <0x8084004c 0x1c>; 126 reg-names = "data", "dir", "intr"; 127 gpio-controller; 128 #gpio-cells = <2>; 129 interrupt-controller; 130 interrupts-extended = <&vic0 19>, <&vic0 20>, 131 <&vic0 21>, <&vic0 22>, 132 <&vic1 15>, <&vic1 16>, 133 <&vic1 17>, <&vic1 18>; 134 }; 135 136 gpio@80840038 { 137 compatible = "cirrus,ep9301-gpio"; 138 reg = <0x80840038 0x04>, 139 <0x8084003c 0x04>; 140 reg-names = "data", "dir"; 141 gpio-controller; 142 #gpio-cells = <2>; 143 }; 144 145 gpio@80840040 { 146 compatible = "cirrus,ep9301-gpio"; 147 reg = <0x80840040 0x04>, 148 <0x80840044 0x04>; 149 reg-names = "data", "dir"; 150 gpio-controller; 151 #gpio-cells = <2>; 152 }; 153 154... 155