155 lines
3.4 KiB
YAML
155 lines
3.4 KiB
YAML
|
# 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>;
|
||
|
};
|
||
|
|
||
|
...
|