[RFC PATCH 3/3] serial: mxc: restore booting for imx8mn_bsh_smm_s2
Dario Binacchi
dario.binacchi at amarulasolutions.com
Thu May 15 15:12:42 CEST 2025
The commit dda454e933c6 ("serial: mxc: Support bulk enabling clocks")
breaks the booting of the BSH SMM S2 board.
Restore proper booting of the board even in case of failure of either
clk_get_bulk() or clk_enable_bulk().
Fixes: dda454e933c6 ("serial: mxc: Support bulk enabling clocks")
Signed-off-by: Dario Binacchi <dario.binacchi at amarulasolutions.com>
---
drivers/serial/serial_mxc.c | 23 ++++++++++++++++-------
1 file changed, 16 insertions(+), 7 deletions(-)
diff --git a/drivers/serial/serial_mxc.c b/drivers/serial/serial_mxc.c
index 28f4435d01dd..b09a5fe0f7a4 100644
--- a/drivers/serial/serial_mxc.c
+++ b/drivers/serial/serial_mxc.c
@@ -310,22 +310,31 @@ int mxc_serial_setbrg(struct udevice *dev, int baudrate)
return 0;
}
-static int mxc_serial_probe(struct udevice *dev)
+#if CONFIG_IS_ENABLED(CLK_CCF)
+static void mxc_serial_enable_clk_bulk(struct udevice *dev)
{
struct mxc_serial_plat *plat = dev_get_plat(dev);
-#if CONFIG_IS_ENABLED(CLK_CCF)
int ret;
ret = clk_get_bulk(dev, &plat->clks);
if (ret)
- return ret;
+ return;
- ret = clk_enable_bulk(&plat->clks);
- if (ret)
- return ret;
+ clk_enable_bulk(&plat->clks);
+}
+#else
+static mxc_serial_enable_clk_bulk(struct udevice *dev)
+{
+}
#endif
- _mxc_serial_init(plat->reg, plat->use_dte);
+static int mxc_serial_probe(struct udevice *dev)
+{
+ struct mxc_serial_plat *plat = dev_get_plat(dev);
+
+ mxc_serial_enable_clk_bulk(dev);
+
+ _mxc_serial_init(plat->reg, plat->use_dte);
return 0;
}
--
2.43.0
More information about the U-Boot
mailing list