diff options
-rw-r--r-- | arch/arm/mach-imx/imx8/misc.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/arm/mach-imx/imx8/misc.c b/arch/arm/mach-imx/imx8/misc.c index c78b3105a90..508a7c85581 100644 --- a/arch/arm/mach-imx/imx8/misc.c +++ b/arch/arm/mach-imx/imx8/misc.c @@ -18,6 +18,9 @@ int sc_pm_setup_uart(sc_rsrc_t uart_rsrc, sc_pm_clock_rate_t clk_rate) sc_pm_clock_rate_t rate = clk_rate; int ret; + if (uart_rsrc < SC_R_UART_0 || uart_rsrc > SC_R_UART_4) + return -EINVAL; + /* Power up UARTn */ ret = sc_pm_set_resource_power_mode(-1, uart_rsrc, SC_PM_PW_MODE_ON); if (ret) @@ -33,7 +36,7 @@ int sc_pm_setup_uart(sc_rsrc_t uart_rsrc, sc_pm_clock_rate_t clk_rate) if (ret) return ret; - lpcg_all_clock_on(LPUART_0_LPCG); + lpcg_all_clock_on(LPUART_0_LPCG + (uart_rsrc - SC_R_UART_0) * 0x10000); return 0; } |