]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/pinctrl/semtech,sx1501q.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / pinctrl / semtech,sx1501q.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright 2022 Linaro Ltd.
3 %YAML 1.2
4 ---
5 $id: http://devicetree.org/schemas/pinctrl/semtech,sx1501q.yaml#
6 $schema: http://devicetree.org/meta-schemas/core.yaml#
7
8 title: Semtech SX150x GPIO expander
9
10 maintainers:
11 - Neil Armstrong <neil.armstrong@linaro.org>
12
13 properties:
14 compatible:
15 enum:
16 - semtech,sx1501q
17 - semtech,sx1502q
18 - semtech,sx1503q
19 - semtech,sx1504q
20 - semtech,sx1505q
21 - semtech,sx1506q
22 - semtech,sx1507q
23 - semtech,sx1508q
24 - semtech,sx1509q
25
26 reg:
27 maxItems: 1
28
29 interrupts:
30 maxItems: 1
31
32 '#interrupt-cells':
33 const: 2
34
35 interrupt-controller: true
36
37 '#gpio-cells':
38 const: 2
39
40 gpio-controller: true
41
42 semtech,probe-reset:
43 description: Will trigger a reset of the GPIO expander on probe
44 type: boolean
45
46 patternProperties:
47 '-cfg$':
48 type: object
49 properties:
50 pins: true
51
52 bias-disable: true
53 bias-pull-up: true
54 bias-pull-down: true
55 bias-pull-pin-default: true
56 drive-push-pull: true
57 output-low: true
58 output-high: true
59 drive-open-drain: true
60
61 required:
62 - pins
63
64 allOf:
65 - $ref: pincfg-node.yaml#
66 - $ref: pinmux-node.yaml#
67 - if:
68 properties:
69 pins:
70 contains:
71 const: oscio
72 then:
73 properties:
74 bias-disable: false
75 bias-pull-up: false
76 bias-pull-down: false
77 bias-pull-pin-default: false
78 drive-open-drain: false
79
80 additionalProperties: false
81
82 required:
83 - compatible
84 - reg
85 - '#gpio-cells'
86 - gpio-controller
87
88 allOf:
89 - $ref: pinctrl.yaml#
90 - if:
91 not:
92 properties:
93 compatible:
94 contains:
95 enum:
96 - semtech,sx1507q
97 - semtech,sx1508q
98 - semtech,sx1509q
99 then:
100 properties:
101 semtech,probe-reset: false
102 - if:
103 properties:
104 compatible:
105 contains:
106 enum:
107 - semtech,sx1501q
108 - semtech,sx1504q
109 then:
110 patternProperties:
111 '-cfg$':
112 properties:
113 pins:
114 items:
115 pattern: '^gpio[0-3]$'
116 - if:
117 properties:
118 compatible:
119 contains:
120 enum:
121 - semtech,sx1502q
122 - semtech,sx1505q
123 then:
124 patternProperties:
125 '-cfg$':
126 properties:
127 pins:
128 items:
129 pattern: '^gpio[0-7]$'
130 - if:
131 properties:
132 compatible:
133 contains:
134 enum:
135 - semtech,sx1503q
136 - semtech,sx1506q
137 then:
138 patternProperties:
139 '-cfg$':
140 properties:
141 pins:
142 items:
143 pattern: '^(gpio[0-9]|gpio1[0-5])$'
144 - if:
145 properties:
146 compatible:
147 contains:
148 const: semtech,sx1507q
149 then:
150 patternProperties:
151 '-cfg$':
152 properties:
153 pins:
154 items:
155 pattern: '^(oscio|gpio[0-3])$'
156 - if:
157 properties:
158 compatible:
159 contains:
160 const: semtech,sx1508q
161 then:
162 patternProperties:
163 '-cfg$':
164 properties:
165 pins:
166 items:
167 pattern: '^(oscio|gpio[0-7])$'
168 - if:
169 properties:
170 compatible:
171 contains:
172 const: semtech,sx1509q
173 then:
174 patternProperties:
175 '-cfg$':
176 properties:
177 pins:
178 items:
179 pattern: '^(oscio|gpio[0-9]|gpio1[0-5])$'
180
181 additionalProperties: false
182
183 examples:
184 - |
185 #include <dt-bindings/interrupt-controller/irq.h>
186 i2c@1000 {
187 reg = <0x1000 0x80>;
188 #address-cells = <1>;
189 #size-cells = <0>;
190
191 pinctrl@20 {
192 compatible = "semtech,sx1501q";
193 reg = <0x20>;
194
195 #gpio-cells = <2>;
196 #interrupt-cells = <2>;
197
198 interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
199
200 gpio-controller;
201 interrupt-controller;
202
203 gpio1-cfg {
204 pins = "gpio1";
205 bias-pull-up;
206 };
207 };
208 };