Short version: barebox always reparents the ldb_di[01] clocks to pll5_video_div. Due to a hardware erratum, this can trigger a glitch that causes LDB lock up. Thus: 1) remove the automatic reparenting, like the kernel now does and mark the affected clocks read only, so assigned-clock-parents can't affect them 2) parse assigned-clock-parents in the clk-imx6 code as well, but there use a convoluted non-glitchy work around to apply them Long version available alongside v1 here: https://www.spinics.net/lists/u-boot-v2/msg37658.html; and in the commit messages of the patches. Changes since v2: - reordered/squashed commits after discussion with Sascha and Phillip - removed superfluous comment - add MUX_READ_ONLY at the correct place in the MUX_READ_ONLY arguments Except for the last two, the total diff, is exactly the same as v1's. Ahmad Fatoum (2): clk: imx6: remove quirky clk_set_parent(LDB_diN_sel, pll5_video_div) clk: imx6: define an enum for ldb mux inputs Fabio Estevam (1): clk: imx6: Fix procedure to switch the parent of LDB_DI_CLK Philipp Zabel (2): clk: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only clk: imx6: Mask mmdc_ch1 handshake for periph2_sel and mmdc_ch1_axi_podf drivers/clk/imx/clk-imx6.c | 320 +++++++++++++++++++++++++++++++++++-- drivers/clk/imx/clk.h | 8 + 2 files changed, 312 insertions(+), 16 deletions(-) -- 2.20.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox