• Philipp Zabel's avatar
    clk: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only · 03d576f2
    Philipp Zabel authored
    Due to incorrect placement of the clock gate cell in the ldb_di[x]_clk
    tree, the glitchy parent mux of ldb_di[x]_clk can cause a glitch to
    enter the ldb_di_ipu_div divider. If the divider gets locked up, no
    ldb_di[x]_clk is generated, and the LVDS display will hang when the
    ipu_di_clk is sourced from ldb_di_clk.
    
    To fix the problem, both the new and current parent of the ldb_di_clk
    should be disabled before the switch. As this can not be guaranteed by
    the clock framework during runtime, make the ldb_di[x]_sel muxes read-only.
    A workaround to set the muxes once during boot could be added to the
    kernel or bootloader.
    Signed-off-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
    Signed-off-by: default avatarFabio Estevam <fabio.estevam@nxp.com>
    Signed-off-by: default avatarShawn Guo <shawnguo@kernel.org>
    03d576f2
clk.h 6.42 KB