~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/soc/mobileye/mobileye,eyeq5-olb.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/soc/mobileye/mobileye,eyeq5-olb.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Mobileye EyeQ SoC system controller
  8 
  9 maintainers:
 10   - Grégory Clement <gregory.clement@bootlin.com>
 11   - Théo Lebrun <theo.lebrun@bootlin.com>
 12   - Vladimir Kondratiev <vladimir.kondratiev@mobileye.com>
 13 
 14 description:
 15   OLB ("Other Logic Block") is a hardware block grouping smaller blocks. Clocks,
 16   resets, pinctrl are being handled from here. EyeQ5 and EyeQ6L host a single
 17   instance. EyeQ6H hosts seven instances.
 18 
 19 properties:
 20   compatible:
 21     items:
 22       - enum:
 23           - mobileye,eyeq5-olb
 24           - mobileye,eyeq6l-olb
 25           - mobileye,eyeq6h-acc-olb
 26           - mobileye,eyeq6h-central-olb
 27           - mobileye,eyeq6h-east-olb
 28           - mobileye,eyeq6h-west-olb
 29           - mobileye,eyeq6h-south-olb
 30           - mobileye,eyeq6h-ddr0-olb
 31           - mobileye,eyeq6h-ddr1-olb
 32       - const: syscon
 33 
 34   reg:
 35     maxItems: 1
 36 
 37   '#reset-cells':
 38     description:
 39       First cell is domain and optional if compatible has a single reset domain.
 40       Second cell is reset index inside that domain.
 41     enum: [ 1, 2 ]
 42 
 43   '#clock-cells':
 44     description:
 45       Cell is clock index. Optional if compatible has a single clock.
 46     enum: [ 0, 1 ]
 47 
 48   clocks:
 49     maxItems: 1
 50     description:
 51       Input parent clock to all PLLs. Expected to be the main crystal.
 52 
 53   clock-names:
 54     const: ref
 55 
 56 patternProperties:
 57   '-pins?$':
 58     type: object
 59     description: Pin muxing configuration.
 60     $ref: /schemas/pinctrl/pinmux-node.yaml#
 61     additionalProperties: false
 62     properties:
 63       pins: true
 64       function:
 65         enum: [gpio,
 66                # Bank A
 67                timer0, timer1, timer2, timer5, uart0, uart1, can0, can1, spi0,
 68                spi1, refclk0,
 69                # Bank B
 70                timer3, timer4, timer6, uart2, can2, spi2, spi3, mclk0]
 71       bias-disable: true
 72       bias-pull-down: true
 73       bias-pull-up: true
 74       drive-strength: true
 75     required:
 76       - pins
 77       - function
 78     allOf:
 79       - if:
 80           properties:
 81             function:
 82               const: gpio
 83         then:
 84           properties:
 85             pins:
 86               items: # PA0 - PA28, PB0 - PB22
 87                 pattern: '^(P(A|B)1?[0-9]|PA2[0-8]|PB2[0-2])$'
 88       - if:
 89           properties:
 90             function:
 91               const: timer0
 92         then:
 93           properties:
 94             pins:
 95               items:
 96                 enum: [PA0, PA1]
 97       - if:
 98           properties:
 99             function:
100               const: timer1
101         then:
102           properties:
103             pins:
104               items:
105                 enum: [PA2, PA3]
106       - if:
107           properties:
108             function:
109               const: timer2
110         then:
111           properties:
112             pins:
113               items:
114                 enum: [PA4, PA5]
115       - if:
116           properties:
117             function:
118               const: timer5
119         then:
120           properties:
121             pins:
122               items:
123                 enum: [PA6, PA7, PA8, PA9]
124       - if:
125           properties:
126             function:
127               const: uart0
128         then:
129           properties:
130             pins:
131               items:
132                 enum: [PA10, PA11]
133       - if:
134           properties:
135             function:
136               const: uart1
137         then:
138           properties:
139             pins:
140               items:
141                 enum: [PA12, PA13]
142       - if:
143           properties:
144             function:
145               const: can0
146         then:
147           properties:
148             pins:
149               items:
150                 enum: [PA14, PA15]
151       - if:
152           properties:
153             function:
154               const: can1
155         then:
156           properties:
157             pins:
158               items:
159                 enum: [PA16, PA17]
160       - if:
161           properties:
162             function:
163               const: spi0
164         then:
165           properties:
166             pins:
167               items:
168                 enum: [PA18, PA19, PA20, PA21, PA22]
169       - if:
170           properties:
171             function:
172               const: spi1
173         then:
174           properties:
175             pins:
176               items:
177                 enum: [PA23, PA24, PA25, PA26, PA27]
178       - if:
179           properties:
180             function:
181               const: refclk0
182         then:
183           properties:
184             pins:
185               items:
186                 enum: [PA28]
187       - if:
188           properties:
189             function:
190               const: timer3
191         then:
192           properties:
193             pins:
194               items:
195                 enum: [PB0, PB1]
196       - if:
197           properties:
198             function:
199               const: timer4
200         then:
201           properties:
202             pins:
203               items:
204                 enum: [PB2, PB3]
205       - if:
206           properties:
207             function:
208               const: timer6
209         then:
210           properties:
211             pins:
212               items:
213                 enum: [PB4, PB5, PB6, PB7]
214       - if:
215           properties:
216             function:
217               const: uart2
218         then:
219           properties:
220             pins:
221               items:
222                 enum: [PB8, PB9]
223       - if:
224           properties:
225             function:
226               const: can2
227         then:
228           properties:
229             pins:
230               items:
231                 enum: [PB10, PB11]
232       - if:
233           properties:
234             function:
235               const: spi2
236         then:
237           properties:
238             pins:
239               items:
240                 enum: [PB12, PB13, PB14, PB15, PB16]
241       - if:
242           properties:
243             function:
244               const: spi3
245         then:
246           properties:
247             pins:
248               items:
249                 enum: [PB17, PB18, PB19, PB20, PB21]
250       - if:
251           properties:
252             function:
253               const: mclk0
254         then:
255           properties:
256             pins:
257               items:
258                 enum: [PB22]
259 
260 required:
261   - compatible
262   - reg
263   - '#clock-cells'
264   - clocks
265   - clock-names
266 
267 additionalProperties: false
268 
269 allOf:
270     # Compatibles exposing a single reset domain.
271   - if:
272       properties:
273         compatible:
274           contains:
275             enum:
276               - mobileye,eyeq6h-acc-olb
277               - mobileye,eyeq6h-east-olb
278               - mobileye,eyeq6h-west-olb
279     then:
280       properties:
281         '#reset-cells':
282           const: 1
283       required:
284         - '#reset-cells'
285 
286     # Compatibles exposing two reset domains.
287   - if:
288       properties:
289         compatible:
290           contains:
291             enum:
292               - mobileye,eyeq5-olb
293               - mobileye,eyeq6l-olb
294     then:
295       properties:
296         '#reset-cells':
297           const: 2
298       required:
299         - '#reset-cells'
300 
301     # Compatibles not exposing resets.
302   - if:
303       properties:
304         compatible:
305           contains:
306             enum:
307               - mobileye,eyeq6h-central-olb
308               - mobileye,eyeq6h-south-olb
309               - mobileye,eyeq6h-ddr0-olb
310               - mobileye,eyeq6h-ddr1-olb
311     then:
312       properties:
313         '#reset-cells': false
314 
315     # Compatibles exposing a single clock.
316   - if:
317       properties:
318         compatible:
319           contains:
320             enum:
321               - mobileye,eyeq6h-central-olb
322               - mobileye,eyeq6h-east-olb
323               - mobileye,eyeq6h-west-olb
324               - mobileye,eyeq6h-ddr0-olb
325               - mobileye,eyeq6h-ddr1-olb
326     then:
327       properties:
328         '#clock-cells':
329           const: 0
330     else:
331       properties:
332         '#clock-cells':
333           const: 1
334 
335     # Only EyeQ5 has pinctrl in OLB.
336   - if:
337       not:
338         properties:
339           compatible:
340             contains:
341               const: mobileye,eyeq5-olb
342     then:
343       patternProperties:
344         '-pins?$': false
345 
346 examples:
347   - |
348     soc {
349       #address-cells = <2>;
350       #size-cells = <2>;
351 
352       system-controller@e00000 {
353         compatible = "mobileye,eyeq5-olb", "syscon";
354         reg = <0 0xe00000 0x0 0x400>;
355         #reset-cells = <2>;
356         #clock-cells = <1>;
357         clocks = <&xtal>;
358         clock-names = "ref";
359       };
360     };
361   - |
362     soc {
363       #address-cells = <2>;
364       #size-cells = <2>;
365 
366       system-controller@d2003000 {
367         compatible = "mobileye,eyeq6h-acc-olb", "syscon";
368         reg = <0x0 0xd2003000 0x0 0x1000>;
369         #reset-cells = <1>;
370         #clock-cells = <1>;
371         clocks = <&xtal>;
372         clock-names = "ref";
373       };
374     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php