From: "Théo Lebrun" <theo.lebrun@bootlin.com>
To: Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Conor Dooley <conor+dt@kernel.org>,
Michael Turquette <mturquette@baylibre.com>,
Stephen Boyd <sboyd@kernel.org>,
Philipp Zabel <p.zabel@pengutronix.de>,
Linus Walleij <linus.walleij@linaro.org>
Cc: linux-mips@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
linux-gpio@vger.kernel.org,
"Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
"Gregory CLEMENT" <gregory.clement@bootlin.com>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Tawfik Bayouk" <tawfik.bayouk@mobileye.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>
Subject: [PATCH 00/11] Add Mobileye EyeQ system controller support (clk, reset, pinctrl)
Date: Wed, 10 Apr 2024 19:12:29 +0200 [thread overview]
Message-ID: <20240410-mbly-olb-v1-0-335e496d7be3@bootlin.com> (raw)
Hello,
This builds on previous EyeQ5 system-controller revisions [0] and adds
EyeQ6L + EyeQ6H support. Pinctrl is not affected because it is not
handled in the same manner on those new platforms; it will be dealt
with with pinctrl-single. Only clk and reset expand to support those
new platform.
Changes in drivers are pretty massive, which explains why I started a
new revision count.
EyeQ6H is particular in that it has not one but seven OLB instances.
All seven host a (different) clock controller. Three host a reset
controller.
Patches are targeting MIPS, clk, reset and pinctrl trees independently.
- dt-bindings: soc: mobileye: add EyeQ5 OLB system controller
- MIPS: mobileye: eyeq5: add OLB syscon node
- MIPS: mobileye: eyeq5: use OLB clocks controller node
- MIPS: mobileye: eyeq5: add OLB reset controller node
- MIPS: mobileye: eyeq5: add pinctrl node & pinmux function nodes
Patches have no dependencies on this series. All required devicetrees
and bindings got in the last release. Bindings changes below are
only related to EyeQ6L/EyeQ6H.
- dt-bindings: clock: mobileye,eyeq5-clk: add EyeQ6L and EyeQ6H
- clk: divider: Introduce CLK_DIVIDER_EVEN_INTEGERS flag
- clk: eyeq: add driver
Clocks on all three platforms are rather similar. We have a bunch of
PLLs children to the main crystal, some being required early
(at of_clk_init(), before platform bus init).
We have a few divider clocks in some instances. A custom clk-divider
flag is introduced for the divisor because one clk would have a 256
entries table otherwise.
Compatible match data stores it all, nothing is declared in DT. Match
data has three arrays for the three types of clocks: early PLLs,
standard PLLs and divider clks.
- dt-bindings: reset: mobileye,eyeq5-reset: add EyeQ6L and EyeQ6H
- reset: eyeq: add platform driver
Resets on all three platforms are rather similar. We therefore
declare reset domain types and assign compatibles to an array of
domains, with types and valid masks associated. The rest is pretty
similar to previous code.
EyeQ6H west and east OLB each host an instance of the same compat.
- pinctrl: eyeq5: add platform driver
Not affected by EyeQ6L/EyeQ6H additions. It has not changed.
Have a nice day,
Théo
[0]: https://lore.kernel.org/lkml/20240301-mbly-clk-v9-0-cbf06eb88708@bootlin.com/
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
Théo Lebrun (11):
dt-bindings: soc: mobileye: add EyeQ5 OLB system controller
dt-bindings: clock: mobileye,eyeq5-clk: add EyeQ6L and EyeQ6H
dt-bindings: reset: mobileye,eyeq5-reset: add EyeQ6L and EyeQ6H
clk: divider: Introduce CLK_DIVIDER_EVEN_INTEGERS flag
clk: eyeq: add driver
reset: eyeq: add platform driver
pinctrl: eyeq5: add platform driver
MIPS: mobileye: eyeq5: add OLB syscon node
MIPS: mobileye: eyeq5: use OLB clocks controller node
MIPS: mobileye: eyeq5: add OLB reset controller node
MIPS: mobileye: eyeq5: add pinctrl node & pinmux function nodes
.../bindings/clock/mobileye,eyeq5-clk.yaml | 103 +++-
.../bindings/reset/mobileye,eyeq5-reset.yaml | 88 ++-
.../bindings/soc/mobileye/mobileye,eyeq5-olb.yaml | 125 ++++
MAINTAINERS | 8 +
.../{eyeq5-fixed-clocks.dtsi => eyeq5-clocks.dtsi} | 54 +-
arch/mips/boot/dts/mobileye/eyeq5-pins.dtsi | 125 ++++
arch/mips/boot/dts/mobileye/eyeq5.dtsi | 42 +-
drivers/clk/Kconfig | 11 +
drivers/clk/Makefile | 1 +
drivers/clk/clk-divider.c | 12 +-
drivers/clk/clk-eyeq.c | 644 +++++++++++++++++++++
drivers/pinctrl/Kconfig | 14 +
drivers/pinctrl/Makefile | 1 +
drivers/pinctrl/pinctrl-eyeq5.c | 579 ++++++++++++++++++
drivers/reset/Kconfig | 13 +
drivers/reset/Makefile | 1 +
drivers/reset/reset-eyeq.c | 543 +++++++++++++++++
include/dt-bindings/clock/mobileye,eyeq5-clk.h | 21 +
include/linux/clk-provider.h | 11 +-
19 files changed, 2322 insertions(+), 74 deletions(-)
---
base-commit: c8e31f416e99bd460f6f8847709bf69c72a3e146
change-id: 20240408-mbly-olb-75a85f5cfde3
Best regards,
--
Théo Lebrun <theo.lebrun@bootlin.com>
next reply other threads:[~2024-04-10 17:12 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-10 17:12 Théo Lebrun [this message]
2024-04-10 17:12 ` [PATCH 01/11] dt-bindings: soc: mobileye: add EyeQ5 OLB system controller Théo Lebrun
2024-04-10 18:52 ` Rob Herring
2024-04-11 9:19 ` Théo Lebrun
2024-04-11 3:29 ` Stephen Boyd
2024-04-10 17:12 ` [PATCH 02/11] dt-bindings: clock: mobileye,eyeq5-clk: add EyeQ6L and EyeQ6H Théo Lebrun
2024-04-11 6:14 ` Krzysztof Kozlowski
2024-04-11 13:49 ` Théo Lebrun
2024-04-11 15:02 ` Krzysztof Kozlowski
2024-04-10 17:12 ` [PATCH 03/11] dt-bindings: reset: mobileye,eyeq5-reset: " Théo Lebrun
2024-04-11 6:14 ` Krzysztof Kozlowski
2024-04-11 14:04 ` Théo Lebrun
2024-04-11 15:05 ` Krzysztof Kozlowski
2024-04-10 17:12 ` [PATCH 04/11] clk: divider: Introduce CLK_DIVIDER_EVEN_INTEGERS flag Théo Lebrun
2024-04-11 3:06 ` Stephen Boyd
2024-04-11 10:14 ` Théo Lebrun
2024-04-12 5:19 ` Stephen Boyd
2024-04-10 17:12 ` [PATCH 05/11] clk: eyeq: add driver Théo Lebrun
2024-04-11 3:22 ` Stephen Boyd
2024-04-11 10:46 ` Théo Lebrun
2024-04-12 5:46 ` Stephen Boyd
2024-04-17 10:18 ` Théo Lebrun
2024-04-10 17:12 ` [PATCH 06/11] reset: eyeq: add platform driver Théo Lebrun
2024-04-10 17:12 ` [PATCH 07/11] pinctrl: eyeq5: " Théo Lebrun
2024-04-10 17:12 ` [PATCH 08/11] MIPS: mobileye: eyeq5: add OLB syscon node Théo Lebrun
2024-04-11 6:15 ` Krzysztof Kozlowski
2024-04-11 14:34 ` Théo Lebrun
2024-04-11 15:07 ` Krzysztof Kozlowski
2024-04-17 7:53 ` Théo Lebrun
2024-04-10 17:12 ` [PATCH 09/11] MIPS: mobileye: eyeq5: use OLB clocks controller node Théo Lebrun
2024-04-10 17:12 ` [PATCH 10/11] MIPS: mobileye: eyeq5: add OLB reset " Théo Lebrun
2024-04-10 17:12 ` [PATCH 11/11] MIPS: mobileye: eyeq5: add pinctrl node & pinmux function nodes Théo Lebrun
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=20240410-mbly-olb-v1-0-335e496d7be3@bootlin.com \
--to=theo.lebrun@bootlin.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=gregory.clement@bootlin.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linus.walleij@linaro.org \
--cc=linux-clk@vger.kernel.org \
--cc=linux-gpio@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=sboyd@kernel.org \
--cc=tawfik.bayouk@mobileye.com \
--cc=thomas.petazzoni@bootlin.com \
--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 read-only IMAP folder(s) and NNTP newsgroup(s).