diff options
author | Manish Pandey <manish.pandey2@arm.com> | 2022-01-07 17:09:53 +0100 |
---|---|---|
committer | TrustedFirmware Code Review <review@review.trustedfirmware.org> | 2022-01-07 17:09:53 +0100 |
commit | 32de790f02dc440cac78af688154c72328b05af0 (patch) | |
tree | 31c1819563d4ee1741c795aacec6ac2bced2093b | |
parent | 4230998741c2f2e41348c73ac0fd052d27ced223 (diff) | |
parent | 9e52d45fdf619561e0a7a833b77aaacc947a4dfd (diff) | |
download | arm-trusted-firmware-32de790f02dc440cac78af688154c72328b05af0.tar.gz |
Merge "fix(st): manage UART clock and reset only in BL2" into integration
-rw-r--r-- | plat/st/common/stm32mp_common.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/plat/st/common/stm32mp_common.c b/plat/st/common/stm32mp_common.c index 918c28989..fb8e08ebd 100644 --- a/plat/st/common/stm32mp_common.c +++ b/plat/st/common/stm32mp_common.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2021, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2022, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -160,7 +160,7 @@ int stm32mp_uart_console_setup(void) { struct dt_node_info dt_uart_info; unsigned int console_flags; - uint32_t clk_rate; + uint32_t clk_rate = 0U; int result; uint32_t boot_itf __unused; uint32_t boot_instance __unused; @@ -168,11 +168,16 @@ int stm32mp_uart_console_setup(void) result = dt_get_stdout_uart_info(&dt_uart_info); if ((result <= 0) || - (dt_uart_info.status == DT_DISABLED) || - (dt_uart_info.clock < 0) || + (dt_uart_info.status == DT_DISABLED)) { + return -ENODEV; + } + +#if defined(IMAGE_BL2) + if ((dt_uart_info.clock < 0) || (dt_uart_info.reset < 0)) { return -ENODEV; } +#endif #if STM32MP_UART_PROGRAMMER || !defined(IMAGE_BL2) stm32_get_boot_interface(&boot_itf, &boot_instance); @@ -187,15 +192,13 @@ int stm32mp_uart_console_setup(void) if (dt_set_stdout_pinctrl() != 0) { return -ENODEV; } -#endif clk_enable((unsigned long)dt_uart_info.clock); -#if defined(IMAGE_BL2) reset_uart((uint32_t)dt_uart_info.reset); -#endif clk_rate = clk_get_rate((unsigned long)dt_uart_info.clock); +#endif if (console_stm32_register(dt_uart_info.base, clk_rate, STM32MP_UART_BAUDRATE, &console) == 0) { |