stm32mp1: manage CONSOLE_FLAG_TRANSLATE_CRLF and cleanup driver
authorYann Gautier <yann.gautier@st.com>
Wed, 4 Sep 2019 09:55:10 +0000 (11:55 +0200)
committerYann Gautier <yann.gautier@st.com>
Tue, 10 Sep 2019 15:21:58 +0000 (17:21 +0200)
The STM32 console driver was pre-pending '\r' before '\n'.
It is now managed by the framework with the flag:
CONSOLE_FLAG_TRANSLATE_CRLF.
Remove the code in driver, and add the flag for STM32MP1.

Change-Id: I5d0d5d5c4abee0b7dc11c2f8707b1b5cf10149ab
Signed-off-by: Yann Gautier <yann.gautier@st.com>
drivers/st/uart/aarch32/stm32_console.S
plat/st/stm32mp1/bl2_plat_setup.c
plat/st/stm32mp1/sp_min/sp_min_setup.c

index 39e449b29d5558df057534f11383d2ba7a673cb9..ca3c1f61854a5d6420f1267ff2f8330294b0dffd 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018, ARM Limited and Contributors. All rights reserved.
+ * Copyright (c) 2018-2019, ARM Limited and Contributors. All rights reserved.
  *
  * SPDX-License-Identifier: BSD-3-Clause
  */
@@ -138,34 +138,18 @@ func console_stm32_core_putc
        /* Check the input parameter */
        cmp     r1, #0
        beq     putc_error
-       /* Prepend '\r' to '\n' */
-       cmp     r0, #0xA
-       bne     2f
-1:
-       /* Check Transmit Data Register Empty */
-txe_loop_1:
-       ldr     r2, [r1, #USART_ISR]
-       tst     r2, #USART_ISR_TXE
-       beq     txe_loop_1
-       mov     r2, #0xD
-       str     r2, [r1, #USART_TDR]
-       /* Check transmit complete flag */
-tc_loop_1:
-       ldr     r2, [r1, #USART_ISR]
-       tst     r2, #USART_ISR_TC
-       beq     tc_loop_1
-2:
+
        /* Check Transmit Data Register Empty */
-txe_loop_2:
+txe_loop:
        ldr     r2, [r1, #USART_ISR]
        tst     r2, #USART_ISR_TXE
-       beq     txe_loop_2
+       beq     txe_loop
        str     r0, [r1, #USART_TDR]
        /* Check transmit complete flag */
-tc_loop_2:
+tc_loop:
        ldr     r2, [r1, #USART_ISR]
        tst     r2, #USART_ISR_TC
-       beq     tc_loop_2
+       beq     tc_loop
        bx      lr
 putc_error:
        mov     r0, #-1
index 75ae372aee7a4aa2dd37460f1a7ad7e28a5bba83..c6aefe324d93acd0e83a4d81ba32333d0fd519fe 100644 (file)
@@ -272,6 +272,9 @@ void bl2_el3_plat_arch_setup(void)
                panic();
        }
 
+       console_set_scope(&console.console, CONSOLE_FLAG_BOOT |
+                         CONSOLE_FLAG_CRASH | CONSOLE_FLAG_TRANSLATE_CRLF);
+
        stm32mp_print_cpuinfo();
 
        board_model = dt_get_board_model();
index 417115b6540e52496d550f281c520500e8c17bac..e10dfbfc047c632ae7d10d1b7a72a2111a799b10 100644 (file)
@@ -129,16 +129,20 @@ void sp_min_early_platform_setup2(u_register_t arg0, u_register_t arg1,
        result = dt_get_stdout_uart_info(&dt_uart_info);
 
        if ((result > 0) && (dt_uart_info.status != 0U)) {
+               unsigned int console_flags;
+
                if (console_stm32_register(dt_uart_info.base, 0,
                                           STM32MP_UART_BAUDRATE, &console) ==
                    0) {
                        panic();
                }
 
+               console_flags = CONSOLE_FLAG_BOOT | CONSOLE_FLAG_CRASH |
+                       CONSOLE_FLAG_TRANSLATE_CRLF;
 #ifdef DEBUG
-               console_set_scope(&console.console,
-                                 CONSOLE_FLAG_BOOT | CONSOLE_FLAG_RUNTIME);
+               console_flags |= CONSOLE_FLAG_RUNTIME;
 #endif
+               console_set_scope(&console.console, console_flags);
        }
 }