Re: [PATCH v4 00/13] Introducing the Mobileye EyeQ6Lplus SoC

Thomas Bogendoerfer
2026-04-13T13:45:20Z

On Mon, Mar 16, 2026 at 04:25:37PM +0100, Benoît Monin wrote:
> The Eyeq6Lplus is a new system-on-chip part of Mobileye's EyeQ family
> of SoC aimed at Advanced Driver Assistance Systems (ADAS). It is built
> around a multicore MIPS I6500 with 2 cores and 8 threads and integrates
> controllers and accelerators dedicated to driving assistance.
>
> This patchset adds the initial support for the EyeQ6Lplus and its
> evaluation board with the following list of controllers:
> * The OLB ("Other Logic Block") providing clocks, resets and pin controls.
> * One UART from DesignWare.
> * One GPIO controller from DesignWare.
> * Two SPI controllers from DesignWare, one in host mode and one in target
> mode.
> * One octoSPI flash controller from Cadence, identical to the one found
> in the EyeQ5.
> * Two I2C controllers from Designware.
>
> The patch series adds the device tree bindings for the SoC and the OLB.
> It also adds the Kconfig entry for the EyeQ6Lplus, the SoC and evaluation
> board device tree, and the defconfig. For the OLB, the series adds the
> match data to the clk-eyeq, reset-eyeq and pinctrl-eyeq5 drivers.
>
> It also brings three other changes. One is for the pinctrl-eyeq5 driver
> to access the pin descriptions, pin functions, and pin bank registers
> via the match data instead of directly. This is needed to add support
> for the EyeQ6Lplus alongside the EyeQ5 to the pinctrl driver.
>
> To be able to match against compatible entries, an OF node is needed
> but the pinctrl-eyeq5 does not have one as it is an auxiliary device
> of clk-eyeq. As part of his MACB phy series[1], Théo switched to
> devm_auxiliary_device_create() to register the auxiliary devices, and
> this helper sets the OF node of the auxiliary device.
>
> So this series depends on Théo's patchset so that eq5p_probe() can use
> the OF node to get the match data, similar to what is done in eqr_probe()
> in reset-eyeq.
>
> The two other changes are in the clk-eyeq driver. First we skip the
> post-divisor when computing the PLL frequency in the clk-eyeq driver,
> to match how the clock signal is wired internally in all EyeQ PLL and
> compute the correct frequency for the PLL of the EyeQ6Lplus. Second we
> adjust the accuracy and down spreading computation of the PLL frequency
> as the spread spectrum of all EyeQ PLL is in 1/1024 and not in 1/1000
> as previously thought.
>
> [1]: https://lore.kernel.org/lkml/20260225-macb-phy-v7-0-665bd8619d51@bootlin.com/
>
> Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
> ---
> Changes in v4:
> - Simplify entries in Kconfig for clk-eyeq and reset-eyeq, since all
> Mobileye EyeQ SoCs use these drivers.
> - Link to v3: https://lore.kernel.org/r/20260226-eyeq6lplus-v3-0-9cbeb59268b0@bootlin.com
>
> Changes in v3:
> - Rebase series on v7.0-rc1 + Théo's patchset[1].
> - Refresh the defconfig.
> - Add missing cdns,fifo-depth entry in octospi node of the SoC device tree.
> - Simplify eq5p_probe() now that the OF node is set in clk-eyeq driver.
> - Link to v2: https://lore.kernel.org/r/20251223-eyeq6lplus-v2-0-cd1fd21d182c@bootlin.com
>
> Changes in v2:
> - Rebased on v6.19-rc2.
> - Drop spidev nodes from the evaluation board DT, they were
> here for test only.
> - Fix bug in eq5p_pinconf_set() using uninitialized value.
> - Link to v1: https://lore.kernel.org/r/20251217-eyeq6lplus-v1-0-e9cdbd3af4c2@bootlin.com
>
> ---
> Benoît Monin (13):
> dt-bindings: mips: Add Mobileye EyeQ6Lplus SoC
> dt-bindings: soc: mobileye: Add EyeQ6Lplus OLB
> MIPS: Add Mobileye EyeQ6Lplus support
> reset: eyeq: Add Mobileye EyeQ6Lplus OLB
> pinctrl: eyeq5: Use match data
> pinctrl: eyeq5: Add Mobileye EyeQ6Lplus OLB
> clk: eyeq: Skip post-divisor when computing PLL frequency
> clk: eyeq: Adjust PLL accuracy computation
> clk: eyeq: Add Mobileye EyeQ6Lplus OLB
> MIPS: Add Mobileye EyeQ6Lplus SoC dtsi
> MIPS: Add Mobileye EyeQ6Lplus evaluation board dts
> MIPS: config: add eyeq6lplus_defconfig
> MAINTAINERS: Mobileye: Add EyeQ6Lplus files
>
> .../devicetree/bindings/mips/mobileye.yaml | 5 +
> .../soc/mobileye/mobileye,eyeq6lplus-olb.yaml | 208 ++++++++++
> MAINTAINERS | 4 +-
> arch/mips/boot/dts/mobileye/Makefile | 1 +
> arch/mips/boot/dts/mobileye/eyeq6lplus-epm6.dts | 103 +++++
> arch/mips/boot/dts/mobileye/eyeq6lplus-pins.dtsi | 84 ++++
> arch/mips/boot/dts/mobileye/eyeq6lplus.dtsi | 170 ++++++++
> arch/mips/configs/eyeq6lplus_defconfig | 117 ++++++
> arch/mips/mobileye/Kconfig | 3 +
> arch/mips/mobileye/Platform | 1 +
> drivers/clk/Kconfig | 4 +-
> drivers/clk/clk-eyeq.c | 90 ++++-
> drivers/pinctrl/Kconfig | 4 +-
> drivers/pinctrl/pinctrl-eyeq5.c | 437 +++++++++++++++------
> drivers/reset/Kconfig | 4 +-
> drivers/reset/reset-eyeq.c | 31 ++
> .../dt-bindings/clock/mobileye,eyeq6lplus-clk.h | 37 ++
> 17 files changed, 1156 insertions(+), 147 deletions(-)

series applied to mips-next

Thomas.

--
Crap can work. Given enough thrust pigs will fly, but it's not necessarily a
good idea. [ RFC1925, 2.3 ]