# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/soc/mobileye/mobileye,eyeq7h-olb.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Mobileye EyeQ7H SoC system controller maintainers: - Benoît Monin - Grégory Clement - Théo Lebrun - Vladimir Kondratiev description: OLB ("Other Logic Block") is a hardware system controller grouping smaller blocks. Clocks and resets are generated by those blocks and used by internal controllers of the SoC. The EyeQ7H SoC hosts 14 different OLB. properties: compatible: items: - enum: - mobileye,eyeq7h-acc0-olb - mobileye,eyeq7h-acc1-olb - mobileye,eyeq7h-ddr0-olb - mobileye,eyeq7h-ddr1-olb - mobileye,eyeq7h-east-olb - mobileye,eyeq7h-mips0-olb - mobileye,eyeq7h-mips1-olb - mobileye,eyeq7h-mips2-olb - mobileye,eyeq7h-periph-east-olb - mobileye,eyeq7h-periph-west-olb - mobileye,eyeq7h-south-olb - mobileye,eyeq7h-west-olb - mobileye,eyeq7h-xnn0-olb - mobileye,eyeq7h-xnn1-olb - const: syscon reg: maxItems: 1 '#reset-cells': description: First cell is domain and optional if compatible has a single reset domain. Second cell is reset index inside that domain. enum: [ 1, 2 ] '#clock-cells': const: 1 clocks: minItems: 1 maxItems: 2 clock-names: minItems: 1 maxItems: 2 required: - compatible - reg - '#clock-cells' - clocks - clock-names allOf: - if: properties: compatible: contains: enum: - mobileye,eyeq7h-ddr0-olb - mobileye,eyeq7h-ddr1-olb - mobileye,eyeq7h-mips0-olb - mobileye,eyeq7h-mips1-olb - mobileye,eyeq7h-mips2-olb - mobileye,eyeq7h-periph-east-olb - mobileye,eyeq7h-south-olb then: properties: clocks: items: - description: Reference input clock. clock-names: items: - const: ref - if: properties: compatible: contains: enum: - mobileye,eyeq7h-east-olb - mobileye,eyeq7h-west-olb then: properties: clocks: items: - description: Reference input clock from the main oscillator. - description: 100MHz reference input clock. clock-names: items: - const: ref - const: ref_100p0 - if: properties: compatible: contains: enum: - mobileye,eyeq7h-acc0-olb - mobileye,eyeq7h-acc1-olb - mobileye,eyeq7h-periph-west-olb - mobileye,eyeq7h-xnn0-olb - mobileye,eyeq7h-xnn1-olb then: properties: clocks: items: - description: 100MHz reference input clock. - description: 106.6MHz reference input clock. clock-names: items: - const: ref_100p0 - const: ref_106p6 - if: properties: compatible: contains: enum: - mobileye,eyeq7h-ddr0-olb - mobileye,eyeq7h-ddr1-olb - mobileye,eyeq7h-east-olb - mobileye,eyeq7h-periph-east-olb - mobileye,eyeq7h-periph-west-olb - mobileye,eyeq7h-west-olb then: properties: '#reset-cells': const: 1 required: - '#reset-cells' - if: properties: compatible: contains: enum: - mobileye,eyeq7h-acc0-olb - mobileye,eyeq7h-acc1-olb - mobileye,eyeq7h-south-olb - mobileye,eyeq7h-xnn0-olb - mobileye,eyeq7h-xnn1-olb then: properties: '#reset-cells': const: 2 required: - '#reset-cells' - if: properties: compatible: contains: enum: - mobileye,eyeq7h-mips0-olb - mobileye,eyeq7h-mips1-olb - mobileye,eyeq7h-mips2-olb then: properties: '#reset-cells': false additionalProperties: false examples: - | soc { #address-cells = <2>; #size-cells = <2>; system-controller0@45000000 { compatible = "mobileye,eyeq7h-acc0-olb", "syscon"; reg = <0x0 0x45000000 0x0 0x1000>; #reset-cells = <2>; #clock-cells = <1>; clocks = <&olb_south 7>, <&olb_east 5>; clock-names = "ref_100p0", "ref_106p6"; }; };