375 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/soc/mobileye/mobileye,eyeq5-olb.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Mobileye EyeQ SoC system controller8 9maintainers:10 - Grégory Clement <gregory.clement@bootlin.com>11 - Théo Lebrun <theo.lebrun@bootlin.com>12 - Vladimir Kondratiev <vladimir.kondratiev@mobileye.com>13 14description: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 single17 instance. EyeQ6H hosts seven instances.18 19properties:20 compatible:21 items:22 - enum:23 - mobileye,eyeq5-olb24 - mobileye,eyeq6l-olb25 - mobileye,eyeq6h-acc-olb26 - mobileye,eyeq6h-central-olb27 - mobileye,eyeq6h-east-olb28 - mobileye,eyeq6h-west-olb29 - mobileye,eyeq6h-south-olb30 - mobileye,eyeq6h-ddr0-olb31 - mobileye,eyeq6h-ddr1-olb32 - const: syscon33 34 reg:35 maxItems: 136 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: 150 description:51 Input parent clock to all PLLs. Expected to be the main crystal.52 53 clock-names:54 const: ref55 56patternProperties:57 '-pins?$':58 type: object59 description: Pin muxing configuration.60 $ref: /schemas/pinctrl/pinmux-node.yaml#61 additionalProperties: false62 properties:63 pins: true64 function:65 enum: [gpio,66 # Bank A67 timer0, timer1, timer2, timer5, uart0, uart1, can0, can1, spi0,68 spi1, refclk0,69 # Bank B70 timer3, timer4, timer6, uart2, can2, spi2, spi3, mclk0]71 bias-disable: true72 bias-pull-down: true73 bias-pull-up: true74 drive-strength: true75 required:76 - pins77 - function78 allOf:79 - if:80 properties:81 function:82 const: gpio83 then:84 properties:85 pins:86 items: # PA0 - PA28, PB0 - PB2287 pattern: '^(P(A|B)1?[0-9]|PA2[0-8]|PB2[0-2])$'88 - if:89 properties:90 function:91 const: timer092 then:93 properties:94 pins:95 items:96 enum: [PA0, PA1]97 - if:98 properties:99 function:100 const: timer1101 then:102 properties:103 pins:104 items:105 enum: [PA2, PA3]106 - if:107 properties:108 function:109 const: timer2110 then:111 properties:112 pins:113 items:114 enum: [PA4, PA5]115 - if:116 properties:117 function:118 const: timer5119 then:120 properties:121 pins:122 items:123 enum: [PA6, PA7, PA8, PA9]124 - if:125 properties:126 function:127 const: uart0128 then:129 properties:130 pins:131 items:132 enum: [PA10, PA11]133 - if:134 properties:135 function:136 const: uart1137 then:138 properties:139 pins:140 items:141 enum: [PA12, PA13]142 - if:143 properties:144 function:145 const: can0146 then:147 properties:148 pins:149 items:150 enum: [PA14, PA15]151 - if:152 properties:153 function:154 const: can1155 then:156 properties:157 pins:158 items:159 enum: [PA16, PA17]160 - if:161 properties:162 function:163 const: spi0164 then:165 properties:166 pins:167 items:168 enum: [PA18, PA19, PA20, PA21, PA22]169 - if:170 properties:171 function:172 const: spi1173 then:174 properties:175 pins:176 items:177 enum: [PA23, PA24, PA25, PA26, PA27]178 - if:179 properties:180 function:181 const: refclk0182 then:183 properties:184 pins:185 items:186 enum: [PA28]187 - if:188 properties:189 function:190 const: timer3191 then:192 properties:193 pins:194 items:195 enum: [PB0, PB1]196 - if:197 properties:198 function:199 const: timer4200 then:201 properties:202 pins:203 items:204 enum: [PB2, PB3]205 - if:206 properties:207 function:208 const: timer6209 then:210 properties:211 pins:212 items:213 enum: [PB4, PB5, PB6, PB7]214 - if:215 properties:216 function:217 const: uart2218 then:219 properties:220 pins:221 items:222 enum: [PB8, PB9]223 - if:224 properties:225 function:226 const: can2227 then:228 properties:229 pins:230 items:231 enum: [PB10, PB11]232 - if:233 properties:234 function:235 const: spi2236 then:237 properties:238 pins:239 items:240 enum: [PB12, PB13, PB14, PB15, PB16]241 - if:242 properties:243 function:244 const: spi3245 then:246 properties:247 pins:248 items:249 enum: [PB17, PB18, PB19, PB20, PB21]250 - if:251 properties:252 function:253 const: mclk0254 then:255 properties:256 pins:257 items:258 enum: [PB22]259 260required:261 - compatible262 - reg263 - '#clock-cells'264 - clocks265 - clock-names266 267additionalProperties: false268 269allOf:270 # Compatibles exposing a single reset domain.271 - if:272 properties:273 compatible:274 contains:275 enum:276 - mobileye,eyeq6h-acc-olb277 - mobileye,eyeq6h-east-olb278 - mobileye,eyeq6h-west-olb279 then:280 properties:281 '#reset-cells':282 const: 1283 required:284 - '#reset-cells'285 286 # Compatibles exposing two reset domains.287 - if:288 properties:289 compatible:290 contains:291 enum:292 - mobileye,eyeq5-olb293 - mobileye,eyeq6l-olb294 then:295 properties:296 '#reset-cells':297 const: 2298 required:299 - '#reset-cells'300 301 # Compatibles not exposing resets.302 - if:303 properties:304 compatible:305 contains:306 enum:307 - mobileye,eyeq6h-central-olb308 - mobileye,eyeq6h-south-olb309 - mobileye,eyeq6h-ddr0-olb310 - mobileye,eyeq6h-ddr1-olb311 then:312 properties:313 '#reset-cells': false314 315 # Compatibles exposing a single clock.316 - if:317 properties:318 compatible:319 contains:320 enum:321 - mobileye,eyeq6h-central-olb322 - mobileye,eyeq6h-east-olb323 - mobileye,eyeq6h-west-olb324 - mobileye,eyeq6h-ddr0-olb325 - mobileye,eyeq6h-ddr1-olb326 then:327 properties:328 '#clock-cells':329 const: 0330 else:331 properties:332 '#clock-cells':333 const: 1334 335 # Only EyeQ5 has pinctrl in OLB.336 - if:337 not:338 properties:339 compatible:340 contains:341 const: mobileye,eyeq5-olb342 then:343 patternProperties:344 '-pins?$': false345 346examples: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 };375