clk: imx8mq: Keep uart clocks on during system boot
authorAnson Huang <Anson.Huang@nxp.com>
Wed, 19 Jun 2019 07:12:40 +0000 (15:12 +0800)
committerShawn Guo <shawnguo@kernel.org>
Mon, 24 Jun 2019 01:43:40 +0000 (09:43 +0800)
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>
Signed-off-by: Shawn Guo <shawnguo@kernel.org>
drivers/clk/imx/clk-imx8mq.c

index 5fbc2a7..d407a07 100644 (file)
@@ -272,6 +272,14 @@ static const char * const imx8mq_clko2_sels[] = {"osc_25m", "sys2_pll_200m", "sy
 
 static struct clk_onecell_data clk_data;
 
+static struct clk ** const uart_clks[] = {
+       &clks[IMX8MQ_CLK_UART1_ROOT],
+       &clks[IMX8MQ_CLK_UART2_ROOT],
+       &clks[IMX8MQ_CLK_UART3_ROOT],
+       &clks[IMX8MQ_CLK_UART4_ROOT],
+       NULL
+};
+
 static int imx8mq_clocks_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
@@ -555,6 +563,8 @@ static int imx8mq_clocks_probe(struct platform_device *pdev)
        err = of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data);
        WARN_ON(err);
 
+       imx_register_uart_clocks(uart_clks);
+
        return err;
 }