| # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/soc/mobileye/mobileye,eyeq6lplus-olb.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Mobileye EyeQ6Lplus SoC system controller |
| |
| maintainers: |
| - Benoît Monin <benoit.monin@bootlin.com> |
| - Grégory Clement <gregory.clement@bootlin.com> |
| - Théo Lebrun <theo.lebrun@bootlin.com> |
| - Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> |
| |
| description: |
| OLB ("Other Logic Block") is a hardware block grouping smaller blocks. |
| Clocks, resets, pinctrl are being handled from here. EyeQ6Lplus hosts |
| a single instance providing 22 clocks, two reset domains and one bank |
| of 32 pins. |
| |
| properties: |
| compatible: |
| items: |
| - const: mobileye,eyeq6lplus-olb |
| - const: syscon |
| |
| reg: |
| maxItems: 1 |
| |
| '#reset-cells': |
| description: |
| First cell is reset domain index. |
| Second cell is reset index inside that domain. |
| const: 2 |
| |
| '#clock-cells': |
| const: 1 |
| |
| clocks: |
| maxItems: 1 |
| description: |
| Input parent clock to all PLLs. Expected to be the main crystal. |
| |
| clock-names: |
| const: ref |
| |
| patternProperties: |
| '-pins?$': |
| type: object |
| description: Pin muxing configuration. |
| $ref: /schemas/pinctrl/pinmux-node.yaml# |
| additionalProperties: false |
| properties: |
| pins: true |
| function: |
| enum: [gpio, timer0, timer1, uart_ssi, spi0, uart0, timer2, timer3, |
| timer_ext0, spi1, timer_ext1, ext_ref_clk, mipi_ref_clk] |
| bias-disable: true |
| bias-pull-down: true |
| bias-pull-up: true |
| drive-strength: true |
| required: |
| - pins |
| - function |
| allOf: |
| - if: |
| properties: |
| function: |
| const: gpio |
| then: |
| properties: |
| pins: |
| items: # PA0 - PA31 |
| pattern: '^(PA[1,2]?[0-9]|PA3[0,1])$' |
| - if: |
| properties: |
| function: |
| const: timer0 |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA0, PA1] |
| - if: |
| properties: |
| function: |
| const: timer1 |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA2, PA3] |
| - if: |
| properties: |
| function: |
| const: uart_ssi |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA4, PA5] |
| - if: |
| properties: |
| function: |
| const: spi0 |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA6, PA7, PA8, PA9, PA10] |
| - if: |
| properties: |
| function: |
| const: uart0 |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA11, PA12] |
| - if: |
| properties: |
| function: |
| const: timer2 |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA13, PA14] |
| - if: |
| properties: |
| function: |
| const: timer3 |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA15, PA16] |
| - if: |
| properties: |
| function: |
| const: timer_ext0 |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA17, PA18, PA19, PA20] |
| - if: |
| properties: |
| function: |
| const: spi1 |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA21, PA22, PA23, PA24, PA25] |
| - if: |
| properties: |
| function: |
| const: timer_ext1 |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA26, PA27, PA28, PA29] |
| - if: |
| properties: |
| function: |
| const: ext_ref_clk |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA30] |
| - if: |
| properties: |
| function: |
| const: mipi_ref_clk |
| then: |
| properties: |
| pins: |
| items: |
| enum: [PA31] |
| |
| required: |
| - compatible |
| - reg |
| - '#clock-cells' |
| - clocks |
| - clock-names |
| - '#reset-cells' |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| soc { |
| #address-cells = <2>; |
| #size-cells = <2>; |
| |
| system-controller@e8400000 { |
| compatible = "mobileye,eyeq6lplus-olb", "syscon"; |
| reg = <0 0xe8400000 0x0 0x80000>; |
| #reset-cells = <2>; |
| #clock-cells = <1>; |
| clocks = <&xtal>; |
| clock-names = "ref"; |
| }; |
| }; |