From: "Benoît Monin" <benoit.monin@bootlin.com>
To: "Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
"Gregory CLEMENT" <gregory.clement@bootlin.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>,
"Michael Turquette" <mturquette@baylibre.com>,
"Stephen Boyd" <sboyd@kernel.org>,
"Philipp Zabel" <p.zabel@pengutronix.de>
Cc: "Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
linux-mips@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
"Tawfik Bayouk" <tawfik.bayouk@mobileye.com>,
"Sari Khoury" <sari.khoury@mobileye.com>,
"Benoît Monin" <benoit.monin@bootlin.com>
Subject: [PATCH 00/19] Add clock and reset support for Mobileye eyeQ7H
Date: Wed, 03 Sep 2025 14:47:07 +0200 [thread overview]
Message-ID: <20250903-clk-eyeq7-v1-0-3f5024b5d6e2@bootlin.com> (raw)
This patchset brings the support of the OLB found in the new Mobileye SoC,
the eyeQ7H. Those Other Logic Blocks provide clock and reset functions
to the controllers of the chip. This series also contains changes to the
clock driver and its device tree binding to better match the hardware
found in the eyeQ chips.
In details, patches 1 and 2 rename the dt-binding yaml and header to
eyeq-olb.yaml and eyeq-clk.h. We drop the "5" from the filename since
the binding also applies to other eyeQ SoC (eyeQ6L, eyeQ6H and eyeQ7H).
Patches 3 and 4 add the compatibles entries and the clock indexes to
the dt-binding for the eyeQ7H.
Patch 5 introduces a dt-binding header for the reset indexes of the
eyeQ7H, similar to the header of the clock indexes.
Patch 6 adds the compatible entries to the reset-eyeq driver, and the
needed changes for the reset domain found in the eyeQ7H.
Patch 7 adds clk_hw_register_fixed_factor_with_accuracy to
clk-fixed-factor.c. This function allows registering a fixed factor with
both a parent clock and a known accuracy. This will be used to register
clocks referring to a parent clock registered in early init.
Patch 8 and 9 add validity checks to clk-divider.c. The first ensure that
the divider is even if the flag CLK_DIVIDER_EVEN_INTEGERS is set. The
second rejects the registration of clock with both a table and a flag set
if the flag leads to the table being ignored when computing the divider.
Patch 10 removes the post-divisor in the computation of the PLL frequency
in clk-eyeq.c. This change reflects how the clock signal is routed in
the OLB of all eyeQ SoC.
Patch 11 and 12 allow referencing to a parent clock by name for divider
and fixed fixed factor in clk-eyeq.c. This is needed by the eyeQ5 to
refer to clock registered in early init during probe.
Patch 13 to 15 prepare the introduction of new PLL types present in
the eyeQ7H OLB, by prefixing the PLL defines with the PLL type found in
eyeQ5 and eyeQ6 OLB, renaming the reg64 field and adding a type field
in eqc_pll.
Patch 16 adds the two PLL types found in the eyeQ7H to the clk-eyeq
driver.
Patch 17 adds a parent_name field to the eqc_pll structure. This will
be used to refer to other parent clock for the PLL found in the OLB of
the eyeQ7H.
Patch 18 adds an optional clk_div_table to divider in the clk-eyeq driver.
Finally, patch 19 declares all the compatible entries for the OLB of the
eyeQ7H in the clk-eyeq driver, making use of the changes introduced in
the previous patches.
To: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com>
To: Gregory CLEMENT <gregory.clement@bootlin.com>
To: Théo Lebrun <theo.lebrun@bootlin.com>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
To: Michael Turquette <mturquette@baylibre.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Philipp Zabel <p.zabel@pengutronix.de>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Tawfik Bayouk <tawfik.bayouk@mobileye.com>
Cc: Sari Khoury <sari.khoury@mobileye.com>
Cc: linux-mips@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
Benoît Monin (19):
dt-bindings: soc: mobileye: rename to eyeq-olb.yaml
dt-bindings: clock: mobileye: rename to eyeq-clk.h
dt-bindings: soc: mobileye: add eyeQ7H compatibles
dt-bindings: clock: mobileye: add eyeQ7H clock indexes
dt-bindings: reset: add Mobileye eyeQ
reset: eyeq: add eyeQ7H compatibles
clk: fixed-factor: add clk_hw_register_fixed_factor_with_accuracy
clk: divider: check divider validity for CLK_DIVIDER_EVEN_INTEGERS
clk: divider: check validity of flags when a table is provided
clk: eyeq: skip post-divisor when computing pll divisor
clk: eyeq: rename the parent field to parent_idx
clk: eyeq: lookup parent clock by name
clk: eyeq: prefix the PLL registers with the PLL type
clk: eyeq: rename the reg64 field of eqc_pll
clk: eyeq: add a type for the PLL
clk: eyeq: add two PLL types
clk: eyeq: add a parent field to the pll
clk: eyeq: add an optional clk_div_table to divider
clk: eyeq: add eyeQ7H compatibles
...ileye,eyeq5-olb.yaml => mobileye,eyeq-olb.yaml} | 137 +++-
MAINTAINERS | 3 +-
arch/mips/boot/dts/mobileye/eyeq5.dtsi | 2 +-
arch/mips/boot/dts/mobileye/eyeq6h.dtsi | 2 +-
drivers/clk/clk-divider.c | 9 +
drivers/clk/clk-eyeq.c | 876 ++++++++++++++++++---
drivers/clk/clk-fixed-factor.c | 12 +
drivers/reset/reset-eyeq.c | 248 +++++-
include/dt-bindings/clock/mobileye,eyeq-clk.h | 175 ++++
include/dt-bindings/clock/mobileye,eyeq5-clk.h | 65 --
include/dt-bindings/reset/mobileye,eyeq-reset.h | 75 ++
include/linux/clk-provider.h | 3 +
12 files changed, 1414 insertions(+), 193 deletions(-)
---
base-commit: b320789d6883cc00ac78ce83bccbfe7ed58afcf0
change-id: 20250807-clk-eyeq7-f9c6ea43d138
Best regards,
--
Benoît Monin, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next reply other threads:[~2025-09-03 12:47 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-09-03 12:47 Benoît Monin [this message]
2025-09-03 12:47 ` [PATCH 01/19] dt-bindings: soc: mobileye: rename to eyeq-olb.yaml Benoît Monin
2025-09-04 9:20 ` Krzysztof Kozlowski
2025-09-03 12:47 ` [PATCH 02/19] dt-bindings: clock: mobileye: rename to eyeq-clk.h Benoît Monin
2025-09-04 9:24 ` Krzysztof Kozlowski
2025-09-03 12:47 ` [PATCH 03/19] dt-bindings: soc: mobileye: add eyeQ7H compatibles Benoît Monin
2025-09-04 9:22 ` Krzysztof Kozlowski
2025-09-03 12:47 ` [PATCH 04/19] dt-bindings: clock: mobileye: add eyeQ7H clock indexes Benoît Monin
2025-09-04 9:23 ` Krzysztof Kozlowski
2025-09-03 12:47 ` [PATCH 05/19] dt-bindings: reset: add Mobileye eyeQ Benoît Monin
2025-09-04 9:25 ` Krzysztof Kozlowski
2025-09-03 12:47 ` [PATCH 06/19] reset: eyeq: add eyeQ7H compatibles Benoît Monin
2025-09-03 12:47 ` [PATCH 07/19] clk: fixed-factor: add clk_hw_register_fixed_factor_with_accuracy Benoît Monin
2025-09-20 5:14 ` Stephen Boyd
2025-09-25 11:47 ` Benoît Monin
2025-09-03 12:47 ` [PATCH 08/19] clk: divider: check divider validity for CLK_DIVIDER_EVEN_INTEGERS Benoît Monin
2025-09-20 5:15 ` Stephen Boyd
2025-09-25 11:51 ` Benoît Monin
2025-09-03 12:47 ` [PATCH 09/19] clk: divider: check validity of flags when a table is provided Benoît Monin
2025-09-20 5:24 ` Stephen Boyd
2025-09-25 11:55 ` Benoît Monin
2025-09-03 12:47 ` [PATCH 10/19] clk: eyeq: skip post-divisor when computing pll divisor Benoît Monin
2025-09-03 12:47 ` [PATCH 11/19] clk: eyeq: rename the parent field to parent_idx Benoît Monin
2025-09-03 12:47 ` [PATCH 12/19] clk: eyeq: lookup parent clock by name Benoît Monin
2025-09-03 12:47 ` [PATCH 13/19] clk: eyeq: prefix the PLL registers with the PLL type Benoît Monin
2025-09-03 12:47 ` [PATCH 14/19] clk: eyeq: rename the reg64 field of eqc_pll Benoît Monin
2025-09-03 12:47 ` [PATCH 15/19] clk: eyeq: add a type for the PLL Benoît Monin
2025-09-03 12:47 ` [PATCH 16/19] clk: eyeq: add two PLL types Benoît Monin
2025-09-03 12:47 ` [PATCH 17/19] clk: eyeq: add a parent field to the pll Benoît Monin
2025-09-03 12:47 ` [PATCH 18/19] clk: eyeq: add an optional clk_div_table to divider Benoît Monin
2025-09-03 12:47 ` [PATCH 19/19] clk: eyeq: add eyeQ7H compatibles Benoît Monin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250903-clk-eyeq7-v1-0-3f5024b5d6e2@bootlin.com \
--to=benoit.monin@bootlin.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregory.clement@bootlin.com \
--cc=krzk+dt@kernel.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mips@vger.kernel.org \
--cc=mturquette@baylibre.com \
--cc=p.zabel@pengutronix.de \
--cc=robh@kernel.org \
--cc=sari.khoury@mobileye.com \
--cc=sboyd@kernel.org \
--cc=tawfik.bayouk@mobileye.com \
--cc=theo.lebrun@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=tsbogend@alpha.franken.de \
--cc=vladimir.kondratiev@mobileye.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).