clk: imx8mn: Keep uart clocks on for early console
authorAnson Huang <Anson.Huang@nxp.com>
Wed, 24 Jul 2019 07:50:17 +0000 (15:50 +0800)
committerShawn Guo <shawnguo@kernel.org>
Sat, 3 Aug 2019 09:03:48 +0000 (11:03 +0200)
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>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/clk/imx/clk-imx8mn.c

index 07481a53e33611d1414542e7c551143a1d9f47db..ecd1062f6847f6b009e3611604413520ba0bacae 100644 (file)
@@ -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: