The i.MX8M differntiates between three types of composite clocks (called slices): Core, Bus and IP (peripheral) clocks. How muxes are configured differs between these clocks, so the driver is populating a mux_ops variable to point at the correct struct clk_ops. Unfortunately, mux_ops wasn't actually used, leading to barebox hangs, depending on the assigned-clock-parents properties in the device tree. This is correct here. The issues were observed on an i.MX8MP. Ahmad Fatoum (3): clk: imx: add IMX_COMPOSITE_CLK_FLAGS_DEFAULT macro clk: imx: composite-8m: fix muxing of core and bus clocks clk: imx: imx8mp: sync with Linux v6.9-rc3 drivers/clk/imx/clk-composite-8m.c | 26 +++++---- drivers/clk/imx/clk-imx8mp.c | 93 +++++++++++++++++++----------- drivers/clk/imx/clk.h | 19 +++++- 3 files changed, 90 insertions(+), 48 deletions(-) -- 2.39.2