From: "Théo Lebrun" <theo.lebrun@bootlin.com>
To: "Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
"Grégory Clement" <gregory.clement@bootlin.com>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Michael Turquette" <mturquette@baylibre.com>,
"Stephen Boyd" <sboyd@kernel.org>,
"Thomas Bogendoerfer" <tsbogend@alpha.franken.de>
Cc: linux-mips@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-clk@vger.kernel.org,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Tawfik Bayouk" <tawfik.bayouk@mobileye.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>
Subject: [PATCH v2 00/10] Usable clocks on Mobileye EyeQ5 & EyeQ6H
Date: Wed, 06 Nov 2024 17:03:51 +0100 [thread overview]
Message-ID: <20241106-mbly-clk-v2-0-84cfefb3f485@bootlin.com> (raw)
Now that clk-eyeq is in the clk-next tree, we can add the small(-ish)
details required to make the platform work fully. The work is mostly
about updating devicetrees to rely on the system-controller nodes as
clock providers.
--
Things we do:
- In EyeQ5 devicetrees, remove all fixed-factor clocks that are derived
from clk-eyeq PLLs. We expose those directly from clk-eyeq (using
match data info). This is simpler to reason about.
[PATCH v2 02/10] dt-bindings: clock: eyeq: add more Mobileye EyeQ5/EyeQ6H clocks
[PATCH v2 03/10] clk: fixed-factor: add clk_hw_register_fixed_factor_index() function
[PATCH v2 05/10] clk: eyeq: add fixed factor clocks infrastructure
[PATCH v2 06/10] clk: eyeq: add EyeQ5 fixed factor clocks
[PATCH v2 09/10] MIPS: mobileye: eyeq5: use OLB as provider for fixed factor clocks
- EyeQ6H devicetrees used fixed-clocks and didn't have
system-controllers defined. Remove all that and define our syscons.
[PATCH v2 07/10] clk: eyeq: add EyeQ6H central fixed factor clocks
[PATCH v2 08/10] clk: eyeq: add EyeQ6H west fixed factor clocks
[PATCH v2 10/10] MIPS: mobileye: eyeq6h: add OLB nodes OLB and remove fixed clocks
- Our bindings used to say that some compatibles require a clock cell
(those that expose multiple clocks) and others do not. Remove that
subtlety and enforce a clock cell for everyone.
The goal is to make it easier to add clocks to compatibles that
previously exposed a single one. It happens for two compatibles in
this patch series (EyeQ6H central and west).
This is a "revert". I had been advised in the initial patch that the
behavior was a bad idea. I 100% agree with those comments.
[PATCH v2 01/10] dt-bindings: soc: mobileye: set `#clock-cells = <1>` for all compatibles
[PATCH v2 04/10] clk: eyeq: require clock index with phandle in all cases
--
In which tree patches should go:
- clk:
[PATCH v2 02/10] dt-bindings: clock: eyeq: add more Mobileye EyeQ5/EyeQ6H clocks
[PATCH v2 03/10] clk: fixed-factor: add clk_hw_register_fixed_factor_index() function
[PATCH v2 04/10] clk: eyeq: require clock index with phandle in all cases
[PATCH v2 05/10] clk: eyeq: add fixed factor clocks infrastructure
[PATCH v2 06/10] clk: eyeq: add EyeQ5 fixed factor clocks
[PATCH v2 07/10] clk: eyeq: add EyeQ6H central fixed factor clocks
[PATCH v2 08/10] clk: eyeq: add EyeQ6H west fixed factor clocks
- MIPS:
[PATCH v2 01/10] dt-bindings: soc: mobileye: set `#clock-cells = <1>` for all compatibles
[PATCH v2 09/10] MIPS: mobileye: eyeq5: use OLB as provider for fixed factor clocks
[PATCH v2 10/10] MIPS: mobileye: eyeq6h: add OLB nodes OLB and remove fixed clocks
Reasoning: we need the clock indexes from dt-bindings headers to avoid
breaking the driver build, so patch 2 must go in clk-next.
Note about devicetree patches 9-10: other patches on the same
devicetrees are in the mailing-lists, with which I expect conflicts.
All should be straight-forward to resolve.
Thanks,
Have a nice day,
Théo
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
---
Changes in v2:
- Patch "dt-bindings: soc: mobileye: set `#clock-cells = <1>` for all
compatibles":
- Mention that we break ABI (#clock-cells) in commit message, and
explain why. [0]
- Patches "dt-bindings: clock: eyeq: add * clocks":
- Squash all four patches into a single one. [1]
- Improve the commit message, describing the clock tree structure.
- Expose more EyeQ5 peripheral clocks: SPI, I2C, GPIO, EMMC, PCI.
We already know those will be used later down the road.
- Patch "clk: eyeq: add EyeQ5 fixed factor clocks":
- Use enum to auto-number non-exposed EyeQ5 clock indexes.
Start from the last dt-bindings exposed index plus one.
- Link to v1: https://lore.kernel.org/r/20241031-mbly-clk-v1-0-89d8b28e3006@bootlin.com
[0]: https://lore.kernel.org/lkml/20241105133323.GA3064907-robh@kernel.org/
[1]: https://lore.kernel.org/lkml/7ebcdarioght4u2bai4l42pckitcw5iz4rky4ncgp7aqmtrlen@zl7k7pgijloq/
---
Théo Lebrun (10):
dt-bindings: soc: mobileye: set `#clock-cells = <1>` for all compatibles
dt-bindings: clock: eyeq: add more Mobileye EyeQ5/EyeQ6H clocks
clk: fixed-factor: add clk_hw_register_fixed_factor_index() function
clk: eyeq: require clock index with phandle in all cases
clk: eyeq: add fixed factor clocks infrastructure
clk: eyeq: add EyeQ5 fixed factor clocks
clk: eyeq: add EyeQ6H central fixed factor clocks
clk: eyeq: add EyeQ6H west fixed factor clocks
MIPS: mobileye: eyeq5: use OLB as provider for fixed factor clocks
MIPS: mobileye: eyeq6h: add OLB nodes OLB and remove fixed clocks
.../bindings/soc/mobileye/mobileye,eyeq5-olb.yaml | 24 +-
arch/mips/boot/dts/mobileye/eyeq5-clocks.dtsi | 270 ---------------------
arch/mips/boot/dts/mobileye/eyeq5.dtsi | 30 ++-
.../boot/dts/mobileye/eyeq6h-fixed-clocks.dtsi | 52 ----
arch/mips/boot/dts/mobileye/eyeq6h.dtsi | 73 +++++-
drivers/clk/clk-eyeq.c | 208 ++++++++++++++--
drivers/clk/clk-fixed-factor.c | 11 +
include/dt-bindings/clock/mobileye,eyeq5-clk.h | 44 +++-
include/linux/clk-provider.h | 3 +
9 files changed, 327 insertions(+), 388 deletions(-)
---
base-commit: 11713909beb7debd3d466a6dc302a33d91298be0
change-id: 20241030-mbly-clk-a877f3793eb2
Best regards,
--
Théo Lebrun <theo.lebrun@bootlin.com>
next reply other threads:[~2024-11-06 16:03 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-06 16:03 Théo Lebrun [this message]
2024-11-06 16:03 ` [PATCH v2 01/10] dt-bindings: soc: mobileye: set `#clock-cells = <1>` for all compatibles Théo Lebrun
2024-11-07 10:43 ` Krzysztof Kozlowski
2024-11-07 15:51 ` Rob Herring (Arm)
2024-11-14 22:58 ` Stephen Boyd
2024-11-06 16:03 ` [PATCH v2 02/10] dt-bindings: clock: eyeq: add more Mobileye EyeQ5/EyeQ6H clocks Théo Lebrun
2024-11-07 10:43 ` Krzysztof Kozlowski
2024-11-14 22:58 ` Stephen Boyd
2024-11-06 16:03 ` [PATCH v2 03/10] clk: fixed-factor: add clk_hw_register_fixed_factor_index() function Théo Lebrun
2024-11-14 22:59 ` Stephen Boyd
2024-11-06 16:03 ` [PATCH v2 04/10] clk: eyeq: require clock index with phandle in all cases Théo Lebrun
2024-11-14 22:59 ` Stephen Boyd
2024-11-06 16:03 ` [PATCH v2 05/10] clk: eyeq: add fixed factor clocks infrastructure Théo Lebrun
2024-11-14 23:00 ` Stephen Boyd
2024-11-06 16:03 ` [PATCH v2 06/10] clk: eyeq: add EyeQ5 fixed factor clocks Théo Lebrun
2024-11-14 23:00 ` Stephen Boyd
2024-11-06 16:03 ` [PATCH v2 07/10] clk: eyeq: add EyeQ6H central " Théo Lebrun
2024-11-14 23:00 ` Stephen Boyd
2024-11-06 16:03 ` [PATCH v2 08/10] clk: eyeq: add EyeQ6H west " Théo Lebrun
2024-11-14 23:00 ` Stephen Boyd
2024-11-06 16:04 ` [PATCH v2 09/10] MIPS: mobileye: eyeq5: use OLB as provider for " Théo Lebrun
2024-11-23 11:03 ` Thomas Bogendoerfer
2024-11-06 16:04 ` [PATCH v2 10/10] MIPS: mobileye: eyeq6h: add OLB nodes OLB and remove fixed clocks Théo Lebrun
2024-11-23 11:03 ` Thomas Bogendoerfer
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=20241106-mbly-clk-v2-0-84cfefb3f485@bootlin.com \
--to=theo.lebrun@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=robh@kernel.org \
--cc=sboyd@kernel.org \
--cc=tawfik.bayouk@mobileye.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