diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2015-09-21 18:54:03 +0200 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2015-09-25 21:59:02 -0700 |
commit | 0822f933735c1eee6adfc236c72f763f42ac0f3d (patch) | |
tree | e75629660b00c3758d4cf4d7a9833e560cb643ce /drivers/clk/imx/clk-imx6sl.c | |
parent | 89981a6f7bbe5b98c3f9c8e01ca53c1f7b28030d (diff) | |
download | lwn-0822f933735c1eee6adfc236c72f763f42ac0f3d.tar.gz lwn-0822f933735c1eee6adfc236c72f763f42ac0f3d.zip |
clk: imx6: retain early UART clocks during kernel init
Make sure to keep UART clocks enabled during kernel init if
earlyprintk or earlycon are active.
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
Diffstat (limited to 'drivers/clk/imx/clk-imx6sl.c')
-rw-r--r-- | drivers/clk/imx/clk-imx6sl.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/clk/imx/clk-imx6sl.c b/drivers/clk/imx/clk-imx6sl.c index a0d4cf26cfa9..3c3333faae8e 100644 --- a/drivers/clk/imx/clk-imx6sl.c +++ b/drivers/clk/imx/clk-imx6sl.c @@ -184,6 +184,12 @@ void imx6sl_set_wait_clk(bool enter) imx6sl_enable_pll_arm(false); } +static struct clk ** const uart_clks[] __initconst = { + &clks[IMX6SL_CLK_UART], + &clks[IMX6SL_CLK_UART_SERIAL], + NULL +}; + static void __init imx6sl_clocks_init(struct device_node *ccm_node) { struct device_node *np; @@ -439,5 +445,7 @@ static void __init imx6sl_clocks_init(struct device_node *ccm_node) clk_set_parent(clks[IMX6SL_CLK_LCDIF_AXI_SEL], clks[IMX6SL_CLK_PLL2_PFD2]); + + imx_register_uart_clocks(uart_clks); } CLK_OF_DECLARE(imx6sl, "fsl,imx6sl-ccm", imx6sl_clocks_init); |