Message ID | 20190724075017.11003-1-Anson.Huang@nxp.com (mailing list archive) |
---|---|
State | Mainlined |
Commit | f7988ba3b2ed3ec8e6c3623e281c278fea845bd8 |
Headers | show |
Series | clk: imx8mn: Keep uart clocks on for early console | expand |
On 19-07-24 15:50:17, Anson.Huang@nxp.com wrote: > From: Anson Huang <Anson.Huang@nxp.com> > > Call imx_register_uart_clocks() API to keep uart clocks enabled > when earlyprintk or earlycon is active. > > Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Reviewed-by: Abel Vesa <abel.vesa@nxp.com> > --- > drivers/clk/imx/clk-imx8mn.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/clk/imx/clk-imx8mn.c b/drivers/clk/imx/clk-imx8mn.c > index 07481a5..ecd1062 100644 > --- a/drivers/clk/imx/clk-imx8mn.c > +++ b/drivers/clk/imx/clk-imx8mn.c > @@ -355,6 +355,14 @@ static const char * const imx8mn_clko2_sels[] = {"osc_24m", "sys_pll2_200m", "sy > static struct clk *clks[IMX8MN_CLK_END]; > static struct clk_onecell_data clk_data; > > +static struct clk ** const uart_clks[] = { > + &clks[IMX8MN_CLK_UART1_ROOT], > + &clks[IMX8MN_CLK_UART2_ROOT], > + &clks[IMX8MN_CLK_UART3_ROOT], > + &clks[IMX8MN_CLK_UART4_ROOT], > + NULL > +}; > + > static int imx8mn_clocks_probe(struct platform_device *pdev) > { > struct device *dev = &pdev->dev; > @@ -612,6 +620,8 @@ static int imx8mn_clocks_probe(struct platform_device *pdev) > goto unregister_clks; > } > > + imx_register_uart_clocks(uart_clks); > + > return 0; > > unregister_clks: > -- > 2.7.4 >
On Wed, Jul 24, 2019 at 03:50:17PM +0800, Anson.Huang@nxp.com wrote: > From: Anson Huang <Anson.Huang@nxp.com> > > Call imx_register_uart_clocks() API to keep uart clocks enabled > when earlyprintk or earlycon is active. > > Signed-off-by: Anson Huang <Anson.Huang@nxp.com> Applied, thanks.
diff --git a/drivers/clk/imx/clk-imx8mn.c b/drivers/clk/imx/clk-imx8mn.c index 07481a5..ecd1062 100644 --- a/drivers/clk/imx/clk-imx8mn.c +++ b/drivers/clk/imx/clk-imx8mn.c @@ -355,6 +355,14 @@ static const char * const imx8mn_clko2_sels[] = {"osc_24m", "sys_pll2_200m", "sy static struct clk *clks[IMX8MN_CLK_END]; static struct clk_onecell_data clk_data; +static struct clk ** const uart_clks[] = { + &clks[IMX8MN_CLK_UART1_ROOT], + &clks[IMX8MN_CLK_UART2_ROOT], + &clks[IMX8MN_CLK_UART3_ROOT], + &clks[IMX8MN_CLK_UART4_ROOT], + NULL +}; + static int imx8mn_clocks_probe(struct platform_device *pdev) { struct device *dev = &pdev->dev; @@ -612,6 +620,8 @@ static int imx8mn_clocks_probe(struct platform_device *pdev) goto unregister_clks; } + imx_register_uart_clocks(uart_clks); + return 0; unregister_clks: