clk: imx6: don't restrict LDB mux changes on QuadPlus
Subsystems (3)
PATCH 1/1 clk: imx6: don't restrict LDB mux changes on QuadPlus
The LDB mux/gate layout has been fixed on QuadPlus, so there is no need to restrict the LDB mux changes on this hardware, as the erratum preventing this from working properly is gone.
--- drivers/clk/imx/clk-imx6q.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-)
drivers/clk/imx/clk-imx6q.c +13 -8
@@ -592,15 +592,20 @@ static void __init imx6q_clocks_init(struct device_node *ccm_node)imx6q_mmdc_ch1_mask_handshake (base); -/* -* The LDB_DI0/1_SEL muxes are registered read-only due to a hardware -* bug. Set the muxes to the requested values before registering the -* ldb_di_sel clocks. -*/ -init_ldb_clks (np, base); +if (clk_on_imx6qp ()) { + clk[IMX6QDL_CLK_LDB_DI0_SEL ] =imx_clk_mux_flags ("ldb_di0_sel" , base +0x2c ,9 ,3 , ldb_di_sels,ARRAY_SIZE (ldb_di_sels),CLK_SET_RATE_PARENT ); + clk[IMX6QDL_CLK_LDB_DI1_SEL ] =imx_clk_mux_flags ("ldb_di1_sel" , base +0x2c ,12 ,3 , ldb_di_sels,ARRAY_SIZE (ldb_di_sels),CLK_SET_RATE_PARENT ); + }else { +/* +* The LDB_DI0/1_SEL muxes are registered read-only due to a hardware +* bug. Set the muxes to the requested values before registering the +* ldb_di_sel clocks. +*/ +init_ldb_clks (np, base); - clk[IMX6QDL_CLK_LDB_DI0_SEL ] =imx_clk_mux_ldb ("ldb_di0_sel" , base +0x2c ,9 ,3 , ldb_di_sels,ARRAY_SIZE (ldb_di_sels)); - clk[IMX6QDL_CLK_LDB_DI1_SEL ] =imx_clk_mux_ldb ("ldb_di1_sel" , base +0x2c ,12 ,3 , ldb_di_sels,ARRAY_SIZE (ldb_di_sels)); + clk[IMX6QDL_CLK_LDB_DI0_SEL ] =imx_clk_mux_ldb ("ldb_di0_sel" , base +0x2c ,9 ,3 , ldb_di_sels,ARRAY_SIZE (ldb_di_sels)); + clk[IMX6QDL_CLK_LDB_DI1_SEL ] =imx_clk_mux_ldb ("ldb_di1_sel" , base +0x2c ,12 ,3 , ldb_di_sels,ARRAY_SIZE (ldb_di_sels)); + } clk[IMX6QDL_CLK_IPU1_DI0_PRE_SEL ] =imx_clk_mux_flags ("ipu1_di0_pre_sel" , base +0x34 ,6 ,3 , ipu_di_pre_sels,ARRAY_SIZE (ipu_di_pre_sels),CLK_SET_RATE_PARENT ); clk[IMX6QDL_CLK_IPU1_DI1_PRE_SEL ] =imx_clk_mux_flags ("ipu1_di1_pre_sel" , base +0x34 ,15 ,3 , ipu_di_pre_sels,ARRAY_SIZE (ipu_di_pre_sels),CLK_SET_RATE_PARENT ); clk[IMX6QDL_CLK_IPU2_DI0_PRE_SEL ] =imx_clk_mux_flags ("ipu2_di0_pre_sel" , base +0x38 ,6 ,3 , ipu_di_pre_sels,ARRAY_SIZE (ipu_di_pre_sels),CLK_SET_RATE_PARENT );
Signature · 1 line
2.11.0
Fabio Estevam
reviewerPATCH 1/1 clk: imx6: don't restrict LDB mux changes on QuadPlus
Quoted 5 lines · Lucas Stach
The LDB mux/gate layout has been fixed on QuadPlus, so there is no need to restrict the LDB mux changes on this hardware, as the erratum preventing this from working properly is gone.
Signed-off-by Lucas Stach <[email protected]>
That's correct: mx6qp does not suffer from the LDB clock glitch issue:
Stephen Boyd
AppliedPATCH 1/1 clk: imx6: don't restrict LDB mux changes on QuadPlus
In reply to Lucas StachQuoted 6 lines · Lucas Stach
The LDB mux/gate layout has been fixed on QuadPlus, so there is no need to restrict the LDB mux changes on this hardware, as the erratum preventing this from working properly is gone.
Signed-off-by Lucas Stach <[email protected]>---
Applied to clk-next
Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a Linux Foundation Collaborative Project