[PATCH 0/4] i2c: nomadik: support >=1MHz & Mobileye EyeQ6H platform
From: Théo Lebrun
Date: Tue Oct 08 2024 - 06:30:41 EST
Hi,
First two patches are about adding Mobileye EyeQ6H support to the
Nomadik I2C controller driver, in the same vein as was done a few
months ago for EyeQ5.
- dt-bindings wise, it is only a new compatible. EyeQ6H does NOT
require the same mobileye,olb custom prop as EyeQ5.
- driver wise, we are again on a 32bit memory bus, so reuse
the .has_32b_bus flag.
Next two patches are about supporting higher speeds (fast-plus and
high-speed).
- Fix computation of the bus rate clock divider (BRCR). It picks the
smallest divider that gives a bus rate above target. Switch to
picking the largest divider that gives a bus rate below target.
- Then support high SM (speed-mode) values. This is not much work.
It works on EyeQ6H HW just fine. 1MHz has been tested but not 3.4MHz
because HW doesn't support it. The theory is there, and BRCR
computation has been checked to be valid with 3.4MHz clocks.
DTS patches are not provided because they depend on the platform's clock
series [0]. Lore being down at the moment, see Patchwork [1].
Have a nice day,
Théo
[0]: https://lore.kernel.org/lkml/20241007-mbly-clk-v5-0-e9d8994269cb@xxxxxxxxxxx/
[1]: https://patchwork.kernel.org/project/linux-clk/cover/20241007-mbly-clk-v5-0-e9d8994269cb@xxxxxxxxxxx/
Signed-off-by: Théo Lebrun <theo.lebrun@xxxxxxxxxxx>
---
Théo Lebrun (4):
dt-bindings: i2c: nomadik: add mobileye,eyeq6h-i2c bindings
i2c: nomadik: support Mobileye EyeQ6H I2C controller
i2c: nomadik: fix BRCR computation
i2c: nomadik: support >=1MHz speed modes
.../devicetree/bindings/i2c/st,nomadik-i2c.yaml | 6 +-
drivers/i2c/busses/i2c-nomadik.c | 65 ++++++++++------------
2 files changed, 35 insertions(+), 36 deletions(-)
---
base-commit: 6f1cfa7816af8b3286140f1b0476200d5e914eb9
change-id: 20241007-mbly-i2c-267c9d482b90
Best regards,
--
Théo Lebrun <theo.lebrun@xxxxxxxxxxx>