Message ID | 1465396420-27064-7-git-send-email-aisheng.dong@nxp.com (mailing list archive) |
---|---|
State | Not Applicable, archived |
Delegated to: | Stephen Boyd |
Headers | show |
On Wed, Jun 08, 2016 at 10:33:36PM +0800, Dong Aisheng wrote: > pllx_bypass_src mux shouldn't be the parent of pllx clock > since it's only valid when when pllx BYPASS bit is set. > Thus it is actually one parent of pllx_bypass only. > > Instead, pllx parent should be fixed to osc according to > reference manual. > Other plls have the same issue. > > e.g. before fix, the pll tree is: > osc 6 6 24000000 0 0 > pll1_bypass_src 0 0 24000000 0 0 > pll1 0 0 792000000 0 0 > pll1_bypass 0 0 792000000 0 0 > pll1_sys 0 0 792000000 0 0 > > After the fix, it's: > osc 6 6 24000000 0 0 > pll1 0 0 792000000 0 0 > pll1_bypass 0 0 792000000 0 0 > pll1_sys 0 0 792000000 0 0 > > Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> I squashed 7 ~ 11 into one patch and applied it, thanks. Shawn -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, Jun 12, 2016 at 07:43:53PM +0800, Shawn Guo wrote: > On Wed, Jun 08, 2016 at 10:33:36PM +0800, Dong Aisheng wrote: > > pllx_bypass_src mux shouldn't be the parent of pllx clock > > since it's only valid when when pllx BYPASS bit is set. > > Thus it is actually one parent of pllx_bypass only. > > > > Instead, pllx parent should be fixed to osc according to > > reference manual. > > Other plls have the same issue. > > > > e.g. before fix, the pll tree is: > > osc 6 6 24000000 0 0 > > pll1_bypass_src 0 0 24000000 0 0 > > pll1 0 0 792000000 0 0 > > pll1_bypass 0 0 792000000 0 0 > > pll1_sys 0 0 792000000 0 0 > > > > After the fix, it's: > > osc 6 6 24000000 0 0 > > pll1 0 0 792000000 0 0 > > pll1_bypass 0 0 792000000 0 0 > > pll1_sys 0 0 792000000 0 0 > > > > Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> > > I squashed 7 ~ 11 into one patch and applied it, thanks. > I'm fine. Thanks Regards Dong Aisheng > Shawn > -- > To unsubscribe from this list: send the line "unsubscribe linux-clk" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, Jun 12, 2016 at 07:52:04PM +0800, Dong Aisheng wrote: > On Sun, Jun 12, 2016 at 07:43:53PM +0800, Shawn Guo wrote: > > On Wed, Jun 08, 2016 at 10:33:36PM +0800, Dong Aisheng wrote: > > > pllx_bypass_src mux shouldn't be the parent of pllx clock > > > since it's only valid when when pllx BYPASS bit is set. > > > Thus it is actually one parent of pllx_bypass only. > > > > > > Instead, pllx parent should be fixed to osc according to > > > reference manual. > > > Other plls have the same issue. > > > > > > e.g. before fix, the pll tree is: > > > osc 6 6 24000000 0 0 > > > pll1_bypass_src 0 0 24000000 0 0 > > > pll1 0 0 792000000 0 0 > > > pll1_bypass 0 0 792000000 0 0 > > > pll1_sys 0 0 792000000 0 0 > > > > > > After the fix, it's: > > > osc 6 6 24000000 0 0 > > > pll1 0 0 792000000 0 0 > > > pll1_bypass 0 0 792000000 0 0 > > > pll1_sys 0 0 792000000 0 0 > > > > > > Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> > > > > I squashed 7 ~ 11 into one patch and applied it, thanks. > > > > I'm fine. > Thanks > You probably may need to change the patch title after merge. clk: imx: fix pll clock parents Regards Dong Aisheng > Regards > Dong Aisheng > > > Shawn > > -- > > To unsubscribe from this list: send the line "unsubscribe linux-clk" in > > the body of a message to majordomo@vger.kernel.org > > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Sun, Jun 12, 2016 at 08:19:47PM +0800, Dong Aisheng wrote: > You probably may need to change the patch title after merge. > clk: imx: fix pll clock parents Right, thanks for the reminding. Shawn -- To unsubscribe from this list: send the line "unsubscribe linux-clk" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/clk/imx/clk-imx6ul.c b/drivers/clk/imx/clk-imx6ul.c index 67ae3465dd37..bdf4cf807b78 100644 --- a/drivers/clk/imx/clk-imx6ul.c +++ b/drivers/clk/imx/clk-imx6ul.c @@ -130,13 +130,13 @@ static void __init imx6ul_clocks_init(struct device_node *ccm_node) clks[IMX6UL_PLL6_BYPASS_SRC] = imx_clk_mux("pll6_bypass_src", base + 0xe0, 14, 1, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels)); clks[IMX6UL_PLL7_BYPASS_SRC] = imx_clk_mux("pll7_bypass_src", base + 0x20, 14, 1, pll_bypass_src_sels, ARRAY_SIZE(pll_bypass_src_sels)); - clks[IMX6UL_CLK_PLL1] = imx_clk_pllv3(IMX_PLLV3_SYS, "pll1", "pll1_bypass_src", base + 0x00, 0x7f); - clks[IMX6UL_CLK_PLL2] = imx_clk_pllv3(IMX_PLLV3_GENERIC, "pll2", "pll2_bypass_src", base + 0x30, 0x1); - clks[IMX6UL_CLK_PLL3] = imx_clk_pllv3(IMX_PLLV3_USB, "pll3", "pll3_bypass_src", base + 0x10, 0x3); - clks[IMX6UL_CLK_PLL4] = imx_clk_pllv3(IMX_PLLV3_AV, "pll4", "pll4_bypass_src", base + 0x70, 0x7f); - clks[IMX6UL_CLK_PLL5] = imx_clk_pllv3(IMX_PLLV3_AV, "pll5", "pll5_bypass_src", base + 0xa0, 0x7f); - clks[IMX6UL_CLK_PLL6] = imx_clk_pllv3(IMX_PLLV3_ENET, "pll6", "pll6_bypass_src", base + 0xe0, 0x3); - clks[IMX6UL_CLK_PLL7] = imx_clk_pllv3(IMX_PLLV3_USB, "pll7", "pll7_bypass_src", base + 0x20, 0x3); + clks[IMX6UL_CLK_PLL1] = imx_clk_pllv3(IMX_PLLV3_SYS, "pll1", "osc", base + 0x00, 0x7f); + clks[IMX6UL_CLK_PLL2] = imx_clk_pllv3(IMX_PLLV3_GENERIC, "pll2", "osc", base + 0x30, 0x1); + clks[IMX6UL_CLK_PLL3] = imx_clk_pllv3(IMX_PLLV3_USB, "pll3", "osc", base + 0x10, 0x3); + clks[IMX6UL_CLK_PLL4] = imx_clk_pllv3(IMX_PLLV3_AV, "pll4", "osc", base + 0x70, 0x7f); + clks[IMX6UL_CLK_PLL5] = imx_clk_pllv3(IMX_PLLV3_AV, "pll5", "osc", base + 0xa0, 0x7f); + clks[IMX6UL_CLK_PLL6] = imx_clk_pllv3(IMX_PLLV3_ENET, "pll6", "osc", base + 0xe0, 0x3); + clks[IMX6UL_CLK_PLL7] = imx_clk_pllv3(IMX_PLLV3_USB, "pll7", "osc", base + 0x20, 0x3); clks[IMX6UL_PLL1_BYPASS] = imx_clk_mux_flags("pll1_bypass", base + 0x00, 16, 1, pll1_bypass_sels, ARRAY_SIZE(pll1_bypass_sels), CLK_SET_RATE_PARENT); clks[IMX6UL_PLL2_BYPASS] = imx_clk_mux_flags("pll2_bypass", base + 0x30, 16, 1, pll2_bypass_sels, ARRAY_SIZE(pll2_bypass_sels), CLK_SET_RATE_PARENT);
pllx_bypass_src mux shouldn't be the parent of pllx clock since it's only valid when when pllx BYPASS bit is set. Thus it is actually one parent of pllx_bypass only. Instead, pllx parent should be fixed to osc according to reference manual. Other plls have the same issue. e.g. before fix, the pll tree is: osc 6 6 24000000 0 0 pll1_bypass_src 0 0 24000000 0 0 pll1 0 0 792000000 0 0 pll1_bypass 0 0 792000000 0 0 pll1_sys 0 0 792000000 0 0 After the fix, it's: osc 6 6 24000000 0 0 pll1 0 0 792000000 0 0 pll1_bypass 0 0 792000000 0 0 pll1_sys 0 0 792000000 0 0 Signed-off-by: Dong Aisheng <aisheng.dong@nxp.com> --- drivers/clk/imx/clk-imx6ul.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-)