diff options
author | Théo Lebrun <theo.lebrun@bootlin.com> | 2024-03-06 20:59:28 +0300 |
---|---|---|
committer | Andi Shyti <andi.shyti@kernel.org> | 2024-03-12 13:50:45 +0300 |
commit | 7d4c57abb9284030dc58ffac4fb76eb12d3d947c (patch) | |
tree | 9cd209805014e9b27f61e632cab5e517f92a28d4 /drivers/i2c/busses/i2c-mlxcpld.c | |
parent | ec189b9fb83cd1c869d45bfe3c9cb27b71093a16 (diff) | |
download | linux-7d4c57abb9284030dc58ffac4fb76eb12d3d947c.tar.xz |
i2c: nomadik: support Mobileye EyeQ5 I2C controller
Add compatible for the integration of the same DB8500 IP block into the
Mobileye EyeQ5 platform. Two quirks are present:
- The memory bus only supports 32-bit accesses. Avoid writeb() and
readb() by introducing helper functions that fallback to writel()
and readl().
- A register must be configured for the I2C speed mode; it is located
in a shared register region called OLB. We access that memory region
using a syscon & regmap that gets passed as a phandle (mobileye,olb).
A two-bit enum per controller is written into the register; that
requires us to know the global index of the I2C controller (cell arg
to the mobileye,olb phandle).
We add #include <linux/mfd/syscon.h> and <linux/regmap.h>.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Reviewed-by: Andi Shyti <andi.shyti@kernel.org>
Signed-off-by: Andi Shyti <andi.shyti@kernel.org>
Diffstat (limited to 'drivers/i2c/busses/i2c-mlxcpld.c')
0 files changed, 0 insertions, 0 deletions