diff options
author | Lucas Stach <l.stach@pengutronix.de> | 2015-09-21 12:54:01 -0400 |
---|---|---|
committer | Shawn Guo <shawnguo@kernel.org> | 2015-09-26 00:58:56 -0400 |
commit | 57d5a4c3ed001f813f1c8e1609db83c84d0e88cf (patch) | |
tree | 2b9f48fff56c9b94af12df5bb742ab9e0ada843b | |
parent | 5c678cdd02f25398b4908638d672b134cff9d59c (diff) |
clk: imx35: 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>
-rw-r--r-- | drivers/clk/imx/clk-imx35.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/clk/imx/clk-imx35.c b/drivers/clk/imx/clk-imx35.c index 76c463dcdb1c..a71d24cb4c06 100644 --- a/drivers/clk/imx/clk-imx35.c +++ b/drivers/clk/imx/clk-imx35.c | |||
@@ -84,6 +84,14 @@ enum mx35_clks { | |||
84 | 84 | ||
85 | static struct clk *clk[clk_max]; | 85 | static struct clk *clk[clk_max]; |
86 | 86 | ||
87 | static struct clk ** const uart_clks[] __initconst = { | ||
88 | &clk[ipg], | ||
89 | &clk[uart1_gate], | ||
90 | &clk[uart2_gate], | ||
91 | &clk[uart3_gate], | ||
92 | NULL | ||
93 | }; | ||
94 | |||
87 | static void __init _mx35_clocks_init(void) | 95 | static void __init _mx35_clocks_init(void) |
88 | { | 96 | { |
89 | void __iomem *base; | 97 | void __iomem *base; |
@@ -237,6 +245,8 @@ static void __init _mx35_clocks_init(void) | |||
237 | */ | 245 | */ |
238 | clk_prepare_enable(clk[scc_gate]); | 246 | clk_prepare_enable(clk[scc_gate]); |
239 | 247 | ||
248 | imx_register_uart_clocks(uart_clks); | ||
249 | |||
240 | imx_print_silicon_rev("i.MX35", mx35_revision()); | 250 | imx_print_silicon_rev("i.MX35", mx35_revision()); |
241 | } | 251 | } |
242 | 252 | ||