Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/gpio/aspeed,ast2400-gpio.yaml
26308 views
1
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/gpio/aspeed,ast2400-gpio.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Aspeed GPIO controller
8
9
maintainers:
10
- Andrew Jeffery <andrew@codeconstruct.com.au>
11
12
properties:
13
compatible:
14
enum:
15
- aspeed,ast2400-gpio
16
- aspeed,ast2500-gpio
17
- aspeed,ast2600-gpio
18
- aspeed,ast2700-gpio
19
20
reg:
21
maxItems: 1
22
23
clocks:
24
maxItems: 1
25
description: The clock to use for debounce timings
26
27
gpio-controller: true
28
gpio-line-names:
29
minItems: 12
30
maxItems: 232
31
32
gpio-ranges: true
33
34
"#gpio-cells":
35
const: 2
36
37
interrupts:
38
maxItems: 1
39
40
interrupt-controller: true
41
42
"#interrupt-cells":
43
const: 2
44
45
ngpios:
46
minimum: 12
47
maximum: 232
48
49
patternProperties:
50
"-hog(-[0-9]+)?$":
51
type: object
52
required:
53
- gpio-hog
54
55
required:
56
- compatible
57
- reg
58
- interrupts
59
- interrupt-controller
60
- "#interrupt-cells"
61
- gpio-controller
62
- "#gpio-cells"
63
64
allOf:
65
- if:
66
properties:
67
compatible:
68
contains:
69
const: aspeed,ast2400-gpio
70
then:
71
properties:
72
gpio-line-names:
73
minItems: 220
74
maxItems: 220
75
ngpios:
76
const: 220
77
- if:
78
properties:
79
compatible:
80
contains:
81
const: aspeed,ast2500-gpio
82
then:
83
properties:
84
gpio-line-names:
85
minItems: 232
86
maxItems: 232
87
ngpios:
88
const: 232
89
- if:
90
properties:
91
compatible:
92
contains:
93
const: aspeed,ast2600-gpio
94
then:
95
properties:
96
gpio-line-names:
97
minItems: 36
98
maxItems: 208
99
ngpios:
100
enum: [ 36, 208 ]
101
required:
102
- ngpios
103
- if:
104
properties:
105
compatible:
106
contains:
107
const: aspeed,ast2700-gpio
108
then:
109
properties:
110
gpio-line-names:
111
minItems: 12
112
maxItems: 216
113
ngpios:
114
enum: [ 12, 216 ]
115
required:
116
- ngpios
117
118
additionalProperties: false
119
120
examples:
121
- |
122
gpio@1e780000 {
123
compatible = "aspeed,ast2400-gpio";
124
reg = <0x1e780000 0x1000>;
125
interrupts = <20>;
126
interrupt-controller;
127
#interrupt-cells = <2>;
128
gpio-controller;
129
#gpio-cells = <2>;
130
};
131
- |
132
gpio: gpio@1e780000 {
133
compatible = "aspeed,ast2500-gpio";
134
reg = <0x1e780000 0x200>;
135
interrupts = <20>;
136
interrupt-controller;
137
#interrupt-cells = <2>;
138
gpio-controller;
139
#gpio-cells = <2>;
140
gpio-ranges = <&pinctrl 0 0 232>;
141
};
142
- |
143
#include <dt-bindings/clock/ast2600-clock.h>
144
#include <dt-bindings/interrupt-controller/arm-gic.h>
145
#include <dt-bindings/interrupt-controller/irq.h>
146
gpio0: gpio@1e780000 {
147
compatible = "aspeed,ast2600-gpio";
148
reg = <0x1e780000 0x400>;
149
clocks = <&syscon ASPEED_CLK_APB2>;
150
interrupts = <GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>;
151
interrupt-controller;
152
#interrupt-cells = <2>;
153
#gpio-cells = <2>;
154
gpio-controller;
155
gpio-ranges = <&pinctrl 0 0 208>;
156
ngpios = <208>;
157
};
158
gpio1: gpio@1e780800 {
159
compatible = "aspeed,ast2600-gpio";
160
reg = <0x1e780800 0x800>;
161
clocks = <&syscon ASPEED_CLK_APB1>;
162
interrupts = <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>;
163
interrupt-controller;
164
#interrupt-cells = <2>;
165
gpio-controller;
166
#gpio-cells = <2>;
167
gpio-ranges = <&pinctrl 0 208 36>;
168
ngpios = <36>;
169
};
170
171