Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpio/realtek,otto-gpio.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Realtek Otto GPIO controller
8
9maintainers:
10 - Sander Vanheule <sander@svanheule.net>
11 - Bert Vermeulen <bert@biot.com>
12
13description: |
14 Realtek's GPIO controller on their MIPS switch SoCs (Otto platform) consists
15 of two banks of 32 GPIOs. These GPIOs can generate edge-triggered interrupts.
16 Each bank's interrupts are cascased into one interrupt line on the parent
17 interrupt controller, if provided.
18 This binding allows defining a single bank in the devicetree. The interrupt
19 controller is not supported on the fallback compatible name, which only
20 allows for GPIO port use.
21
22properties:
23 $nodename:
24 pattern: "^gpio@[0-9a-f]+$"
25
26 compatible:
27 items:
28 - enum:
29 - realtek,rtl8380-gpio
30 - realtek,rtl8390-gpio
31 - realtek,rtl9300-gpio
32 - realtek,rtl9310-gpio
33 - realtek,rtl9607-gpio
34 - const: realtek,otto-gpio
35
36 reg: true
37
38 "#gpio-cells":
39 const: 2
40
41 gpio-controller: true
42
43 ngpios:
44 minimum: 1
45 maximum: 32
46
47 interrupt-controller: true
48
49 "#interrupt-cells":
50 const: 2
51
52 interrupts:
53 maxItems: 1
54
55if:
56 properties:
57 compatible:
58 contains:
59 const: realtek,rtl9300-gpio
60then:
61 properties:
62 reg:
63 items:
64 - description: GPIO and interrupt control
65 - description: interrupt CPU map
66else:
67 properties:
68 reg:
69 items:
70 - description: GPIO and interrupt control
71
72required:
73 - compatible
74 - reg
75 - "#gpio-cells"
76 - gpio-controller
77
78additionalProperties: false
79
80dependencies:
81 interrupt-controller: [ interrupts ]
82
83examples:
84 - |
85 gpio@3500 {
86 compatible = "realtek,rtl8380-gpio", "realtek,otto-gpio";
87 reg = <0x3500 0x1c>;
88 gpio-controller;
89 #gpio-cells = <2>;
90 ngpios = <24>;
91 interrupt-controller;
92 #interrupt-cells = <2>;
93 interrupt-parent = <&rtlintc>;
94 interrupts = <23>;
95 };
96 - |
97 gpio@3300 {
98 compatible = "realtek,rtl9300-gpio", "realtek,otto-gpio";
99 reg = <0x3300 0x1c>, <0x3338 0x8>;
100 gpio-controller;
101 #gpio-cells = <2>;
102 ngpios = <24>;
103 interrupt-controller;
104 #interrupt-cells = <2>;
105 interrupt-parent = <&rtlintc>;
106 interrupts = <13>;
107 };
108
109...