[PATCH v3 0/2] clk: eyeq: Reserve OLB memory regions

Benoît Monin posted 2 patches 1 week, 1 day ago
drivers/clk/clk-eyeq.c | 31 ++++++++++++++++++++-----------
1 file changed, 20 insertions(+), 11 deletions(-)
[PATCH v3 0/2] clk: eyeq: Reserve OLB memory regions
Posted by Benoît Monin 1 week, 1 day ago
The Other Logic Blocks of Mobileye SoCs are clock providers, and some of
them are registered early with CLK_OF_DECLARE_DRIVER(). Their early init
maps the registers with of_iomap(), which does not request the memory
region. On the platform device side, eqc_probe() used a plain ioremap()
too, so none of the OLB regions were reserved in the iomem_resource
tree.

Patch 1 converts eqc_probe() to devm_platform_ioremap_resource(): the
region gets requested and the mapping is released by the devres
machinery on unbind. The mapping is moved before the match data check so
that OLBs bound without match data also get mapped and reserved.

Patch 2 adds a match table entry for mobileye,eyeq6h-central-olb without
match data. All of its clocks are registered by the early init and it
has no auxiliary devices; bind it to get its region reserved.

No functional change in normal operation, besides the region reservation.

Signed-off-by: Benoît Monin <benoit.monin@bootlin.com>
---
Changes in v3:
- Unregister the clocks if the clock provider registration fails
  (Thanks Brian and sashiko for the review)
- Link to v2: https://patch.msgid.link/20260914-clk-eyeq-res-v2-0-687e5de3aba7@bootlin.com

Changes in v2:
- Fix early return comment in eqc_probe() (Thanks Théo for the review)
- Split the patch in two (Thanks Brian for the review)
- Link to v1: https://patch.msgid.link/20260911-clk-eyeq-res-v1-1-39b04542db38@bootlin.com

To: Vladimir Kondratiev <vladimir.kondratiev@mobileye.com>
To: Gregory CLEMENT <gregory.clement@bootlin.com>
To: Théo Lebrun <theo.lebrun@bootlin.com>
To: Stephen Boyd <sboyd@kernel.org>
To: Brian Masney <bmasney+clk@redhat.com>
To: Jerome Brunet <jbrunet+clk@baylibre.com>
To: Benoît Monin <benoit.monin@bootlin.com>
Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Cc: Tawfik Bayouk <tawfik.bayouk@mobileye.com>
Cc: linux-mips@vger.kernel.org
Cc: linux-clk@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

---
Benoît Monin (2):
      clk: eyeq: Use devm_platform_ioremap_resource()
      clk: eyeq: Add mobileye,eyeq6h-central-olb compatible

 drivers/clk/clk-eyeq.c | 31 ++++++++++++++++++++-----------
 1 file changed, 20 insertions(+), 11 deletions(-)
---
base-commit: cee9395acd8043be0644b25c34bfa86623f2b935
change-id: 20260910-clk-eyeq-res-ddbf87fc4fd4

Best regards,
--  
Benoît Monin, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com

Re: [PATCH v3 0/2] clk: eyeq: Reserve OLB memory regions
Posted by Brian Masney 1 week ago
On Wed, 16 Sep 2026 14:08:53 +0200, Benoît Monin wrote:
> clk: eyeq: Reserve OLB memory regions
> 
> The Other Logic Blocks of Mobileye SoCs are clock providers, and some of
> them are registered early with CLK_OF_DECLARE_DRIVER(). Their early init
> maps the registers with of_iomap(), which does not request the memory
> region. On the platform device side, eqc_probe() used a plain ioremap()
> too, so none of the OLB regions were reserved in the iomem_resource
> tree.
> 
> [...]

Applied, thanks!

[1/2] clk: eyeq: Use devm_platform_ioremap_resource()
      commit: b8bd186778e74492a2bbeaed7e00d87dbe46b6f2
[2/2] clk: eyeq: Add mobileye,eyeq6h-central-olb compatible
      commit: 07bdb358bc50f17442b6b685d18a6f141b6f276b

Best regards,
-- 
Brian Masney <bmasney@redhat.com>