[PATCH] i2c: mvtwsi: Add support for DM clocks and resets

The controller may need to have clocks/resets enabled for it to work. Add support for this. Since the clocks/resets are optional on some platforms (per the device tree binding), do not prevent probing the controller if they are missing.
Signed-off-by: Samuel Holland samuel@sholland.org ---
drivers/i2c/mvtwsi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
diff --git a/drivers/i2c/mvtwsi.c b/drivers/i2c/mvtwsi.c index d33e2c7c9d8..236bfb8d8e7 100644 --- a/drivers/i2c/mvtwsi.c +++ b/drivers/i2c/mvtwsi.c @@ -17,7 +17,9 @@ #include <linux/bitops.h> #include <linux/compat.h> #if CONFIG_IS_ENABLED(DM_I2C) +#include <clk.h> #include <dm.h> +#include <reset.h> #endif
DECLARE_GLOBAL_DATA_PTR; @@ -835,7 +837,18 @@ static int mvtwsi_i2c_bind(struct udevice *bus) static int mvtwsi_i2c_probe(struct udevice *bus) { struct mvtwsi_i2c_dev *dev = dev_get_priv(bus); + struct reset_ctl reset; + struct clk clk; uint actual_speed; + int ret; + + ret = reset_get_by_index(bus, 0, &reset); + if (!ret) + reset_deassert(&reset); + + ret = clk_get_by_index(bus, 0, &clk); + if (!ret) + clk_enable(&clk);
__twsi_i2c_init(dev->base, dev->speed, dev->slaveadd, &actual_speed); dev->speed = actual_speed;

Hello Samuel,
On 12.09.21 17:21, Samuel Holland wrote:
The controller may need to have clocks/resets enabled for it to work. Add support for this. Since the clocks/resets are optional on some platforms (per the device tree binding), do not prevent probing the controller if they are missing.
Signed-off-by: Samuel Holland samuel@sholland.org
drivers/i2c/mvtwsi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
Reviewed-by: Heiko Schocher hs@denx.de
bye, Heiko

Hello Samuel,
On 21.09.21 06:43, Heiko Schocher wrote:
Hello Samuel,
On 12.09.21 17:21, Samuel Holland wrote:
The controller may need to have clocks/resets enabled for it to work. Add support for this. Since the clocks/resets are optional on some platforms (per the device tree binding), do not prevent probing the controller if they are missing.
Signed-off-by: Samuel Holland samuel@sholland.org
drivers/i2c/mvtwsi.c | 13 +++++++++++++ 1 file changed, 13 insertions(+)
Reviewed-by: Heiko Schocher hs@denx.de
Applied to u-boot-i2c next
Thanks!
bye, Heiko
bye, Heiko
participants (2)
-
Heiko Schocher
-
Samuel Holland