aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManish Pandey <manish.pandey2@arm.com>2022-01-07 17:09:53 +0100
committerTrustedFirmware Code Review <review@review.trustedfirmware.org>2022-01-07 17:09:53 +0100
commit32de790f02dc440cac78af688154c72328b05af0 (patch)
tree31c1819563d4ee1741c795aacec6ac2bced2093b
parent4230998741c2f2e41348c73ac0fd052d27ced223 (diff)
parent9e52d45fdf619561e0a7a833b77aaacc947a4dfd (diff)
downloadtrusted-firmware-a-32de790f02dc440cac78af688154c72328b05af0.tar.gz
Merge "fix(st): manage UART clock and reset only in BL2" into integration
-rw-r--r--plat/st/common/stm32mp_common.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/plat/st/common/stm32mp_common.c b/plat/st/common/stm32mp_common.c
index 918c28989e..fb8e08ebd2 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) {