Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

dt-bindings: soc: mobileye: Add EyeQ6Lplus OLB

The "Other Logic Block" found in the EyeQ6Lplus from Mobileye provides
various functions for the controllers present in the SoC.

The OLB produces 22 clocks derived from its input, which is connected
to the main oscillator of the SoC.

It provides reset signals via two reset domains.

It also controls 32 pins to be either a GPIO or an alternate function.

Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>

authored by

Benoît Monin and committed by
Thomas Bogendoerfer
4434c389 20e65a6d

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