From: Yann Dirson <yann@blade-group.com> TF-A runs between two u-boot stages which both uses 1500000 baud, it just makes no sense to use the same UART at a different rate. Here is a sample session with the successive stages, with TF-A artificially separated for emphasis: [20210406-175438.135934] U-Boot TPL 2021.01 (Jan 11 2021 - 18:11:43) [20210406-175438.135956] Channel 0: DDR3, 933MHz [20210406-175438.236974] BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB [20210406-175438.237000] Channel 1: DDR3, 933MHz [20210406-175438.237004] BW=32 Col=10 Bk=8 CS0 Row=15 CS=1 Die BW=16 Size=1024MB [20210406-175438.237008] 256B stride [20210406-175438.237012] Trying to boot from BOOTROM [20210406-175438.237015] Returning to boot ROM... [20210406-175438.237018] [20210406-175438.573394] U-Boot SPL 2021.01 (Jan 11 2021 - 18:11:43 +0000) [20210406-175438.573431] Trying to boot from MMC1 [20210406-175438.589254] NOTICE: BL31: v2.3():v2.3-dirty [20210406-175440.534055] NOTICE: BL31: Built : 15:56:43, Apr 20 2020 [20210406-175441.393423] U-Boot 2021.01 (Jan 11 2021 - 18:11:43 +0000) [20210406-175441.393429] [20210406-175441.393433] SoC: Rockchip rk3399
Very good. TF-A should work "out of the box" in meta-rockchip, so
I think changing it's baudrate to 1500000 makes sense at this
point (at least until u-boot can pass the DTB)
Signed-off-by: Yann Dirson <yann@blade-group.com> --- .../files/serial-console-baudrate.patch | 35 +++++++++++++++++++ .../trusted-firmware-a_%.bbappend | 5 +++ 2 files changed, 40 insertions(+) create mode 100644 recipes-bsp/trusted-firmware-a/files/serial-console-baudrate.patch diff --git a/recipes-bsp/trusted-firmware-a/files/serial-console-baudrate.patch b/recipes-bsp/trusted-firmware-a/files/serial-console-baudrate.patch new file mode 100644 index 0000000..10b5a2b --- /dev/null +++ b/recipes-bsp/trusted-firmware-a/files/serial-console-baudrate.patch @@ -0,0 +1,35 @@ +From 840d6b6420e1fd8cdf6e4de7fa58a6f8de151622 Mon Sep 17 00:00:00 2001 +From: Yann Dirson <yann@blade-group.com> +Date: Tue, 6 Apr 2021 17:28:45 +0200 +Subject: [PATCH] Set serial console baudrate back to 1500000. + +TF-A runs between two u-boot stages which both uses 1500000 baud, it +just makes no sense to use the same UART at a different rate. + +This effectively reverts part of 0c05748bdebfad9fa43a80962186438bb8fbce62. +Main reason for that change stated in https://developer.trustedfirmware.org/T762 +is ChromeOS compatibility. + +Looks like this patch may become unnecessary in the future, when +u-boot and TF-A get to communicate this value.
Please add Upstream-Status:
+ +--- + plat/rockchip/rk3399/rk3399_def.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/plat/rockchip/rk3399/rk3399_def.h b/plat/rockchip/rk3399/rk3399_def.h +index ba83242eb..8d6ecfbe6 100644 +--- a/plat/rockchip/rk3399/rk3399_def.h ++++ b/plat/rockchip/rk3399/rk3399_def.h +@@ -17,7 +17,7 @@ + /************************************************************************** + * UART related constants + **************************************************************************/ +-#define RK3399_BAUDRATE 115200 ++#define RK3399_BAUDRATE 1500000 + #define RK3399_UART_CLOCK 24000000 + + /****************************************************************************** +-- +2.30.2 + diff --git a/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend b/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend index 442dee8..1942c17 100644 --- a/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend +++ b/recipes-bsp/trusted-firmware-a/trusted-firmware-a_%.bbappend @@ -4,3 +4,8 @@ DEPENDS_append_rk3399 = " virtual/arm-none-eabi-gcc-native" COMPATIBLE_MACHINE_append_rk3399 = "|rk3399" COMPATIBLE_MACHINE_append_rk3328 = "|rk3328" + +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" +SRC_URI += "\ + file://serial-console-baudrate.patch \ +"