fb92362bbf8b6e6b32fda820c4bb1692fe08625f
[oweals/u-boot.git] / arch / arm / mach-imx / imx8 / misc.c
1 // SPDX-License-Identifier: GPL-2.0+
2 #include <common.h>
3 #include <asm/arch/sci/sci.h>
4
5 int sc_pm_setup_uart(sc_rsrc_t uart_rsrc, sc_pm_clock_rate_t clk_rate)
6 {
7         sc_pm_clock_rate_t rate = clk_rate;
8         int ret;
9
10         /* Power up UARTn */
11         ret = sc_pm_set_resource_power_mode(-1, uart_rsrc, SC_PM_PW_MODE_ON);
12         if (ret)
13                 return ret;
14
15         /* Set UARTn clock root to 'rate' MHz */
16         ret = sc_pm_set_clock_rate(-1, uart_rsrc, SC_PM_CLK_PER, &rate);
17         if (ret)
18                 return ret;
19
20         /* Enable UARTn clock root */
21         ret = sc_pm_clock_enable(-1, uart_rsrc, SC_PM_CLK_PER, true, false);
22         if (ret)
23                 return ret;
24
25         return 0;
26 }