Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/Documentation/devicetree/bindings/gpio/gpio-mvebu.yaml
26308 views
1
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2
%YAML 1.2
3
---
4
$id: http://devicetree.org/schemas/gpio/gpio-mvebu.yaml#
5
$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7
title: Marvell EBU GPIO controller
8
9
maintainers:
10
- Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
11
- Andrew Lunn <andrew@lunn.ch>
12
13
properties:
14
compatible:
15
oneOf:
16
- enum:
17
- marvell,armada-8k-gpio
18
- marvell,orion-gpio
19
20
- items:
21
- enum:
22
- marvell,mv78200-gpio
23
- marvell,armada-370-gpio
24
- const: marvell,orion-gpio
25
26
- description: Deprecated binding
27
items:
28
- const: marvell,armadaxp-gpio
29
- const: marvell,orion-gpio
30
deprecated: true
31
32
reg:
33
description: |
34
Address and length of the register set for the device. Not used for
35
marvell,armada-8k-gpio.
36
37
A second entry can be provided, for the PWM function using the GPIO Blink
38
Counter on/off registers.
39
minItems: 1
40
maxItems: 2
41
42
reg-names:
43
items:
44
- const: gpio
45
- const: pwm
46
minItems: 1
47
48
offset:
49
$ref: /schemas/types.yaml#/definitions/uint32
50
description: Offset in the register map for the gpio registers (in bytes)
51
52
interrupts:
53
description: |
54
The list of interrupts that are used for all the pins managed by this
55
GPIO bank. There can be more than one interrupt (example: 1 interrupt
56
per 8 pins on Armada XP, which means 4 interrupts per bank of 32
57
GPIOs).
58
minItems: 1
59
maxItems: 4
60
61
interrupt-controller: true
62
63
"#interrupt-cells":
64
const: 2
65
66
gpio-controller: true
67
68
ngpios:
69
minimum: 1
70
maximum: 32
71
72
"#gpio-cells":
73
const: 2
74
75
gpio-ranges:
76
maxItems: 1
77
78
marvell,pwm-offset:
79
$ref: /schemas/types.yaml#/definitions/uint32
80
description: Offset in the register map for the pwm registers (in bytes)
81
82
"#pwm-cells":
83
description:
84
The first cell is the GPIO line number. The second cell is the period
85
in nanoseconds.
86
const: 2
87
88
clocks:
89
description:
90
Clock(s) used for PWM function.
91
items:
92
- description: Core clock
93
- description: AXI bus clock
94
minItems: 1
95
96
clock-names:
97
items:
98
- const: core
99
- const: axi
100
minItems: 1
101
102
patternProperties:
103
"^(.+-hog(-[0-9]+)?)$":
104
type: object
105
106
required:
107
- gpio-hog
108
109
required:
110
- compatible
111
- gpio-controller
112
- ngpios
113
- "#gpio-cells"
114
115
allOf:
116
- if:
117
properties:
118
compatible:
119
contains:
120
const: marvell,armada-8k-gpio
121
then:
122
required:
123
- offset
124
else:
125
required:
126
- reg
127
128
unevaluatedProperties: false
129
130
examples:
131
- |
132
gpio@d0018100 {
133
compatible = "marvell,armadaxp-gpio", "marvell,orion-gpio";
134
reg = <0xd0018100 0x40>, <0xd0018800 0x30>;
135
ngpios = <32>;
136
gpio-controller;
137
#gpio-cells = <2>;
138
interrupt-controller;
139
#interrupt-cells = <2>;
140
interrupts = <16>, <17>, <18>, <19>;
141
};
142
143
- |
144
gpio@18140 {
145
compatible = "marvell,armada-370-gpio", "marvell,orion-gpio";
146
reg = <0x18140 0x40>, <0x181c8 0x08>;
147
reg-names = "gpio", "pwm";
148
ngpios = <17>;
149
gpio-controller;
150
#gpio-cells = <2>;
151
#pwm-cells = <2>;
152
interrupt-controller;
153
#interrupt-cells = <2>;
154
interrupts = <87>, <88>, <89>;
155
clocks = <&coreclk 0>;
156
};
157
158