Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dt-bindings: gpio: Add Cirrus EP93xx

Add YAML bindings for ep93xx SoC gpio controller.

Signed-off-by: Nikita Shubin <nikita.shubin@maquefel.me>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

authored by

Nikita Shubin and committed by
Bartosz Golaszewski
a1b78312 19b60f84

+154
+154
Documentation/devicetree/bindings/gpio/gpio-ep9301.yaml
··· 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 + 7 + title: EP93xx GPIO controller 8 + 9 + maintainers: 10 + - Linus Walleij <linus.walleij@linaro.org> 11 + - Bartosz Golaszewski <brgl@bgdev.pl> 12 + - Nikita Shubin <nikita.shubin@maquefel.me> 13 + 14 + properties: 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 + 58 + required: 59 + - compatible 60 + - reg 61 + - gpio-controller 62 + - "#gpio-cells" 63 + 64 + additionalProperties: false 65 + 66 + examples: 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 + ...