Merge changes from topic "st-uart-baudrate" into integration
* changes: refactor(st): configure UART baudrate docs(stm32mp1): document some compilation flags feat(st-uart): manage oversampling by 8 fix(st-uart): correctly fill BRR register
This commit is contained in:
commit
8dec6481c3
|
@ -115,6 +115,24 @@ Available storage medias are:
|
|||
- ``STM32MP_SPI_NAND``
|
||||
- ``STM32MP_SPI_NOR``
|
||||
|
||||
Serial boot devices:
|
||||
|
||||
- ``STM32MP_UART_PROGRAMMER``
|
||||
- ``STM32MP_USB_PROGRAMMER``
|
||||
|
||||
|
||||
Other configuration flags:
|
||||
|
||||
- | ``DTB_FILE_NAME``: to precise board device-tree blob to be used.
|
||||
| Default: stm32mp157c-ev1.dtb
|
||||
- | ``STM32MP_EARLY_CONSOLE``: to enable early traces before clock driver is setup.
|
||||
| Default: 0 (disabled)
|
||||
- | ``STM32MP_UART_BAUDRATE``: to select UART baud rate.
|
||||
| Default: 115200
|
||||
- | ``STM32_TF_VERSION``: to manage BL2 monotonic counter.
|
||||
| Default: 0
|
||||
|
||||
|
||||
Boot with FIP
|
||||
~~~~~~~~~~~~~
|
||||
You need to build BL2, BL32 (SP_min or OP-TEE) and BL33 (U-Boot) before building FIP binary.
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright (c) 2018-2021, ARM Limited and Contributors. All rights reserved.
|
||||
* Copyright (c) 2018-2022, ARM Limited and Contributors. All rights reserved.
|
||||
*
|
||||
* SPDX-License-Identifier: BSD-3-Clause
|
||||
*/
|
||||
|
@ -67,9 +67,24 @@ func console_stm32_core_init
|
|||
bic r3, r3, #USART_CR2_STOP
|
||||
str r3, [r0, #USART_CR2]
|
||||
/* Divisor = (Uart clock + (baudrate / 2)) / baudrate */
|
||||
lsl r3, r2, #1
|
||||
lsr r3, r2, #1
|
||||
add r3, r1, r3
|
||||
udiv r3, r3, r2
|
||||
cmp r3, #16
|
||||
bhi 2f
|
||||
/* Oversampling 8 */
|
||||
/* Divisor = (2 * Uart clock + (baudrate / 2)) / baudrate */
|
||||
lsr r3, r2, #1
|
||||
add r3, r3, r1, lsl #1
|
||||
udiv r3, r3, r2
|
||||
and r1, r3, #USART_BRR_DIV_FRACTION
|
||||
lsr r1, r1, #1
|
||||
bic r3, r3, #USART_BRR_DIV_FRACTION
|
||||
orr r3, r3, r1
|
||||
ldr r1, [r0, #USART_CR1]
|
||||
orr r1, r1, #USART_CR1_OVER8
|
||||
str r1, [r0, #USART_CR1]
|
||||
2:
|
||||
str r3, [r0, #USART_BRR]
|
||||
/* Enable UART */
|
||||
ldr r3, [r0, #USART_CR1]
|
||||
|
|
|
@ -210,7 +210,7 @@ static void set_console(uintptr_t base, uint32_t clk_rate)
|
|||
unsigned int console_flags;
|
||||
|
||||
if (console_stm32_register(base, clk_rate,
|
||||
STM32MP_UART_BAUDRATE, &console) == 0) {
|
||||
(uint32_t)STM32MP_UART_BAUDRATE, &console) == 0) {
|
||||
panic();
|
||||
}
|
||||
|
||||
|
|
|
@ -10,6 +10,7 @@ BL2_AT_EL3 := 1
|
|||
USE_COHERENT_MEM := 0
|
||||
|
||||
STM32MP_EARLY_CONSOLE ?= 0
|
||||
STM32MP_UART_BAUDRATE ?= 115200
|
||||
|
||||
# Allow TF-A to concatenate BL2 & BL32 binaries in a single file,
|
||||
# share DTB file between BL2 and BL32
|
||||
|
@ -172,6 +173,7 @@ $(eval $(call assert_numerics,\
|
|||
PLAT_PARTITION_MAX_ENTRIES \
|
||||
STM32_TF_A_COPIES \
|
||||
STM32_TF_VERSION \
|
||||
STM32MP_UART_BAUDRATE \
|
||||
)))
|
||||
|
||||
$(eval $(call add_defines,\
|
||||
|
@ -189,6 +191,7 @@ $(eval $(call add_defines,\
|
|||
STM32MP_SDMMC \
|
||||
STM32MP_SPI_NAND \
|
||||
STM32MP_SPI_NOR \
|
||||
STM32MP_UART_BAUDRATE \
|
||||
STM32MP_UART_PROGRAMMER \
|
||||
STM32MP_USB_PROGRAMMER \
|
||||
STM32MP_USE_STM32IMAGE \
|
||||
|
|
|
@ -202,7 +202,6 @@ enum ddr_type {
|
|||
#define USART6_BASE U(0x44003000)
|
||||
#define UART7_BASE U(0x40018000)
|
||||
#define UART8_BASE U(0x40019000)
|
||||
#define STM32MP_UART_BAUDRATE U(115200)
|
||||
|
||||
/* For UART crash console */
|
||||
#define STM32MP_DEBUG_USART_BASE UART4_BASE
|
||||
|
|
Loading…
Reference in New Issue