MLK-21877 imx_lpi2c: Fix IPG clock issue
There are two clocks for lpi2c, PER and IPG. But the clk driver
only enables PER clock without IPG, this will cause problem if IPG clock
is disabled during partition reboot.
Signed-off-by: Ye Li <ye.li@nxp.com>
diff --git a/drivers/i2c/imx_lpi2c.c b/drivers/i2c/imx_lpi2c.c
index 226411a..08d98b7 100644
--- a/drivers/i2c/imx_lpi2c.c
+++ b/drivers/i2c/imx_lpi2c.c
@@ -462,6 +462,7 @@
}
if (IS_ENABLED(CONFIG_CLK)) {
+ struct clk ipg_clk;
ret = clk_get_by_name(bus, "per", &i2c_bus->per_clk);
if (ret) {
dev_err(bus, "Failed to get per clk\n");
@@ -472,6 +473,17 @@
dev_err(bus, "Failed to enable per clk\n");
return ret;
}
+
+ ret = clk_get_by_name(bus, "ipg", &ipg_clk);
+ if (ret) {
+ dev_err(bus, "Failed to get ipg clk\n");
+ return ret;
+ }
+ ret = clk_enable(&ipg_clk);
+ if (ret) {
+ dev_err(bus, "Failed to enable ipg clk\n");
+ return ret;
+ }
} else {
/* To i.MX7ULP, only i2c4-7 can be handled by A7 core */
ret = enable_i2c_clk(1, bus->seq);