1*4434c389SBenoît Monin# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*4434c389SBenoît Monin%YAML 1.2 3*4434c389SBenoît Monin--- 4*4434c389SBenoît Monin$id: http://devicetree.org/schemas/soc/mobileye/mobileye,eyeq6lplus-olb.yaml# 5*4434c389SBenoît Monin$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4434c389SBenoît Monin 7*4434c389SBenoît Monintitle: Mobileye EyeQ6Lplus SoC system controller 8*4434c389SBenoît Monin 9*4434c389SBenoît Moninmaintainers: 10*4434c389SBenoît Monin - Benoît Monin <benoit.monin@bootlin.com> 11*4434c389SBenoît Monin - Grégory Clement <gregory.clement@bootlin.com> 12*4434c389SBenoît Monin - Théo Lebrun <theo.lebrun@bootlin.com> 13*4434c389SBenoît Monin - Vladimir Kondratiev <vladimir.kondratiev@mobileye.com> 14*4434c389SBenoît Monin 15*4434c389SBenoît Monindescription: 16*4434c389SBenoît Monin OLB ("Other Logic Block") is a hardware block grouping smaller blocks. 17*4434c389SBenoît Monin Clocks, resets, pinctrl are being handled from here. EyeQ6Lplus hosts 18*4434c389SBenoît Monin a single instance providing 22 clocks, two reset domains and one bank 19*4434c389SBenoît Monin of 32 pins. 20*4434c389SBenoît Monin 21*4434c389SBenoît Moninproperties: 22*4434c389SBenoît Monin compatible: 23*4434c389SBenoît Monin items: 24*4434c389SBenoît Monin - const: mobileye,eyeq6lplus-olb 25*4434c389SBenoît Monin - const: syscon 26*4434c389SBenoît Monin 27*4434c389SBenoît Monin reg: 28*4434c389SBenoît Monin maxItems: 1 29*4434c389SBenoît Monin 30*4434c389SBenoît Monin '#reset-cells': 31*4434c389SBenoît Monin description: 32*4434c389SBenoît Monin First cell is reset domain index. 33*4434c389SBenoît Monin Second cell is reset index inside that domain. 34*4434c389SBenoît Monin const: 2 35*4434c389SBenoît Monin 36*4434c389SBenoît Monin '#clock-cells': 37*4434c389SBenoît Monin const: 1 38*4434c389SBenoît Monin 39*4434c389SBenoît Monin clocks: 40*4434c389SBenoît Monin maxItems: 1 41*4434c389SBenoît Monin description: 42*4434c389SBenoît Monin Input parent clock to all PLLs. Expected to be the main crystal. 43*4434c389SBenoît Monin 44*4434c389SBenoît Monin clock-names: 45*4434c389SBenoît Monin const: ref 46*4434c389SBenoît Monin 47*4434c389SBenoît MoninpatternProperties: 48*4434c389SBenoît Monin '-pins?$': 49*4434c389SBenoît Monin type: object 50*4434c389SBenoît Monin description: Pin muxing configuration. 51*4434c389SBenoît Monin $ref: /schemas/pinctrl/pinmux-node.yaml# 52*4434c389SBenoît Monin additionalProperties: false 53*4434c389SBenoît Monin properties: 54*4434c389SBenoît Monin pins: true 55*4434c389SBenoît Monin function: 56*4434c389SBenoît Monin enum: [gpio, timer0, timer1, uart_ssi, spi0, uart0, timer2, timer3, 57*4434c389SBenoît Monin timer_ext0, spi1, timer_ext1, ext_ref_clk, mipi_ref_clk] 58*4434c389SBenoît Monin bias-disable: true 59*4434c389SBenoît Monin bias-pull-down: true 60*4434c389SBenoît Monin bias-pull-up: true 61*4434c389SBenoît Monin drive-strength: true 62*4434c389SBenoît Monin required: 63*4434c389SBenoît Monin - pins 64*4434c389SBenoît Monin - function 65*4434c389SBenoît Monin allOf: 66*4434c389SBenoît Monin - if: 67*4434c389SBenoît Monin properties: 68*4434c389SBenoît Monin function: 69*4434c389SBenoît Monin const: gpio 70*4434c389SBenoît Monin then: 71*4434c389SBenoît Monin properties: 72*4434c389SBenoît Monin pins: 73*4434c389SBenoît Monin items: # PA0 - PA31 74*4434c389SBenoît Monin pattern: '^(PA[1,2]?[0-9]|PA3[0,1])$' 75*4434c389SBenoît Monin - if: 76*4434c389SBenoît Monin properties: 77*4434c389SBenoît Monin function: 78*4434c389SBenoît Monin const: timer0 79*4434c389SBenoît Monin then: 80*4434c389SBenoît Monin properties: 81*4434c389SBenoît Monin pins: 82*4434c389SBenoît Monin items: 83*4434c389SBenoît Monin enum: [PA0, PA1] 84*4434c389SBenoît Monin - if: 85*4434c389SBenoît Monin properties: 86*4434c389SBenoît Monin function: 87*4434c389SBenoît Monin const: timer1 88*4434c389SBenoît Monin then: 89*4434c389SBenoît Monin properties: 90*4434c389SBenoît Monin pins: 91*4434c389SBenoît Monin items: 92*4434c389SBenoît Monin enum: [PA2, PA3] 93*4434c389SBenoît Monin - if: 94*4434c389SBenoît Monin properties: 95*4434c389SBenoît Monin function: 96*4434c389SBenoît Monin const: uart_ssi 97*4434c389SBenoît Monin then: 98*4434c389SBenoît Monin properties: 99*4434c389SBenoît Monin pins: 100*4434c389SBenoît Monin items: 101*4434c389SBenoît Monin enum: [PA4, PA5] 102*4434c389SBenoît Monin - if: 103*4434c389SBenoît Monin properties: 104*4434c389SBenoît Monin function: 105*4434c389SBenoît Monin const: spi0 106*4434c389SBenoît Monin then: 107*4434c389SBenoît Monin properties: 108*4434c389SBenoît Monin pins: 109*4434c389SBenoît Monin items: 110*4434c389SBenoît Monin enum: [PA6, PA7, PA8, PA9, PA10] 111*4434c389SBenoît Monin - if: 112*4434c389SBenoît Monin properties: 113*4434c389SBenoît Monin function: 114*4434c389SBenoît Monin const: uart0 115*4434c389SBenoît Monin then: 116*4434c389SBenoît Monin properties: 117*4434c389SBenoît Monin pins: 118*4434c389SBenoît Monin items: 119*4434c389SBenoît Monin enum: [PA11, PA12] 120*4434c389SBenoît Monin - if: 121*4434c389SBenoît Monin properties: 122*4434c389SBenoît Monin function: 123*4434c389SBenoît Monin const: timer2 124*4434c389SBenoît Monin then: 125*4434c389SBenoît Monin properties: 126*4434c389SBenoît Monin pins: 127*4434c389SBenoît Monin items: 128*4434c389SBenoît Monin enum: [PA13, PA14] 129*4434c389SBenoît Monin - if: 130*4434c389SBenoît Monin properties: 131*4434c389SBenoît Monin function: 132*4434c389SBenoît Monin const: timer3 133*4434c389SBenoît Monin then: 134*4434c389SBenoît Monin properties: 135*4434c389SBenoît Monin pins: 136*4434c389SBenoît Monin items: 137*4434c389SBenoît Monin enum: [PA15, PA16] 138*4434c389SBenoît Monin - if: 139*4434c389SBenoît Monin properties: 140*4434c389SBenoît Monin function: 141*4434c389SBenoît Monin const: timer_ext0 142*4434c389SBenoît Monin then: 143*4434c389SBenoît Monin properties: 144*4434c389SBenoît Monin pins: 145*4434c389SBenoît Monin items: 146*4434c389SBenoît Monin enum: [PA17, PA18, PA19, PA20] 147*4434c389SBenoît Monin - if: 148*4434c389SBenoît Monin properties: 149*4434c389SBenoît Monin function: 150*4434c389SBenoît Monin const: spi1 151*4434c389SBenoît Monin then: 152*4434c389SBenoît Monin properties: 153*4434c389SBenoît Monin pins: 154*4434c389SBenoît Monin items: 155*4434c389SBenoît Monin enum: [PA21, PA22, PA23, PA24, PA25] 156*4434c389SBenoît Monin - if: 157*4434c389SBenoît Monin properties: 158*4434c389SBenoît Monin function: 159*4434c389SBenoît Monin const: timer_ext1 160*4434c389SBenoît Monin then: 161*4434c389SBenoît Monin properties: 162*4434c389SBenoît Monin pins: 163*4434c389SBenoît Monin items: 164*4434c389SBenoît Monin enum: [PA26, PA27, PA28, PA29] 165*4434c389SBenoît Monin - if: 166*4434c389SBenoît Monin properties: 167*4434c389SBenoît Monin function: 168*4434c389SBenoît Monin const: ext_ref_clk 169*4434c389SBenoît Monin then: 170*4434c389SBenoît Monin properties: 171*4434c389SBenoît Monin pins: 172*4434c389SBenoît Monin items: 173*4434c389SBenoît Monin enum: [PA30] 174*4434c389SBenoît Monin - if: 175*4434c389SBenoît Monin properties: 176*4434c389SBenoît Monin function: 177*4434c389SBenoît Monin const: mipi_ref_clk 178*4434c389SBenoît Monin then: 179*4434c389SBenoît Monin properties: 180*4434c389SBenoît Monin pins: 181*4434c389SBenoît Monin items: 182*4434c389SBenoît Monin enum: [PA31] 183*4434c389SBenoît Monin 184*4434c389SBenoît Moninrequired: 185*4434c389SBenoît Monin - compatible 186*4434c389SBenoît Monin - reg 187*4434c389SBenoît Monin - '#clock-cells' 188*4434c389SBenoît Monin - clocks 189*4434c389SBenoît Monin - clock-names 190*4434c389SBenoît Monin - '#reset-cells' 191*4434c389SBenoît Monin 192*4434c389SBenoît MoninadditionalProperties: false 193*4434c389SBenoît Monin 194*4434c389SBenoît Moninexamples: 195*4434c389SBenoît Monin - | 196*4434c389SBenoît Monin soc { 197*4434c389SBenoît Monin #address-cells = <2>; 198*4434c389SBenoît Monin #size-cells = <2>; 199*4434c389SBenoît Monin 200*4434c389SBenoît Monin system-controller@e8400000 { 201*4434c389SBenoît Monin compatible = "mobileye,eyeq6lplus-olb", "syscon"; 202*4434c389SBenoît Monin reg = <0 0xe8400000 0x0 0x80000>; 203*4434c389SBenoît Monin #reset-cells = <2>; 204*4434c389SBenoît Monin #clock-cells = <1>; 205*4434c389SBenoît Monin clocks = <&xtal>; 206*4434c389SBenoît Monin clock-names = "ref"; 207*4434c389SBenoît Monin }; 208*4434c389SBenoît Monin }; 209