linux-stable/drivers/clk/imx
Philipp Zabel 03d576f202 clk: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only
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: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Fabio Estevam <fabio.estevam@nxp.com>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
2016-11-01 20:55:27 +08:00
..
clk-busy.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-cpu.c
clk-fixup-div.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-fixup-mux.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-gate-exclusive.c clk: move the common clock's to_clk_*(_hw) macros to clk-provider.h 2016-01-29 12:59:50 -08:00
clk-gate2.c clk: imx: clk-gate2: allow custom gate configuration 2016-03-31 17:01:55 +08:00
clk-imx1.c ARM: i.MX: Remove i.MX1 non-DT support 2016-08-09 22:47:26 +08:00
clk-imx6q.c clk: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only 2016-11-01 20:55:27 +08:00
clk-imx6sl.c clk: imx: fix pll clock parents 2016-06-12 21:21:41 +08:00
clk-imx6sx.c clk: imx: fix pll clock parents 2016-06-12 21:21:41 +08:00
clk-imx6ul.c clk: imx6ul: fix gpt2 clock names 2016-06-16 09:05:55 +08:00
clk-imx7d.c clk: imx7d: Add PLL_AUDIO_TEST_DIV/POST_DIV clocks 2016-08-30 14:58:15 -07:00
clk-imx21.c clk: i.MX: Remove clk.h include 2015-07-20 10:52:49 -07:00
clk-imx25.c clk: imx25: Remove osc clock from driver 2015-11-25 11:49:42 +08:00
clk-imx27.c clk: imx27: add missing of_node_put 2015-10-21 16:16:34 -07:00
clk-imx31.c clk: imx31: add missing of_node_put 2015-10-21 16:16:34 -07:00
clk-imx35.c ARM: clk-imx35: annotate clk enum with number values 2016-09-14 11:28:04 -07:00
clk-imx51-imx53.c clk: imx53: Add clocks configuration 2016-09-20 16:52:06 -07:00
clk-pfd.c clk: i.MX: Remove clk.h include 2015-07-20 10:52:49 -07:00
clk-pllv1.c imx/clk-pllv1: fix wrong do_div() usage 2015-11-30 12:58:35 -08:00
clk-pllv2.c imx/clk-pllv2: fix wrong do_div() usage 2015-11-30 12:58:38 -08:00
clk-pllv3.c clk: imx: refine the powerdown bit of clk-pllv3 2016-06-16 09:05:05 +08:00
clk-vf610.c clk: imx: vf610: Disable automatic clock gating for lpuart in LPSTOP mode 2016-07-08 11:38:17 -07:00
clk.c clk: imx: add common logic to detect early UART usage 2015-09-25 21:58:41 -07:00
clk.h clk: imx6: Make the LDB_DI0 and LDB_DI1 clocks read-only 2016-11-01 20:55:27 +08:00
Makefile clk: imx: add imx6ul clk tree support 2015-07-14 15:02:13 +08:00