Mention branches and keyring.
[releases.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     };