]> Gentwo Git Trees - linux/.git/commit
clk: eyeq: add driver
authorThéo Lebrun <theo.lebrun@bootlin.com>
Wed, 23 Oct 2024 10:58:40 +0000 (12:58 +0200)
committerStephen Boyd <sboyd@kernel.org>
Mon, 28 Oct 2024 22:55:52 +0000 (15:55 -0700)
commit25d904946a0baf08b16204d95dc3624096d99c38
treeb91457eecf29294cb770fe77af581afc2f5fca31
parent6a136805e3c1532d2414b298c024429943cfd482
clk: eyeq: add driver

Add Mobileye EyeQ5, EyeQ6L and EyeQ6H clock controller driver. It is
both a platform driver and a hook onto of_clk_init() used for clocks
required early (GIC timer, UARTs).

For some compatible, it is both at the same time. eqc_early_init()
initialises early PLLs and exposes its own clock provider. It marks
other clocks as deferred. eqc_probe() adds all remaining clocks using
another clock provider.

It exposes read-only PLLs derived from the main crystal on board.
It also exposes another type of clocks: divider clocks.
They always have even divisors and have one PLL as parent.

This driver also bears the responsability for optional reset and pinctrl
auxiliary devices. The match data attached to the devicetree node
compatible indicate if such devices should be created. They all get
passed a pointer to the start of the OLB region.

Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Link: https://lore.kernel.org/r/20241023-mbly-clk-v6-1-ca83e43daf93@bootlin.com
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/Kconfig
drivers/clk/Makefile
drivers/clk/clk-eyeq.c [new file with mode: 0644]