Hi Jerome,

On 11/14/22 22:13, Jerome Forissier wrote:


On 11/14/22 18:37, Quentin Schulz wrote:
From: Quentin Schulz <[email protected]>

Long are gone the times TF-A couldn't handle the FDT passed by U-Boot.
Specifically, since commit e7b586987c0a ("rockchip: don't crash if we
get an FDT we can't parse") in TF-A, failure to parse the FDT will use
the fallback mechanism. This patch was merged in TF-A v2.4-rc0 from two
years ago.

Therefore, let's finally pass the FDT to TF-A so that it can get the
serial configuration from U-Boot FDT instead of requiring the user to
patch TF-A hardcoded fallback values.

Cc: Quentin Schulz <[email protected]>
Signed-off-by: Quentin Schulz <[email protected]>
---
rockchip: rk3399: pass platform parameter to TF-A

Finally pass the FDT address to TF-A since it now gracefully fallbacks to
hardcoded defaults if it cannot parse it. This allows us to avoid modifying
hardcoded values in TF-A to enable the console.

Does this mean that with this patch TF-A will properly set the baudrate of
the console UART to 1.5MBd? I'm asking because I am about to send the

Yes. I tested on my Puma RK3399 which defaults to 115200 with the following patch: diff --git a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
index d2349ae90e..1c8ec97d44 100644
--- a/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
+++ b/arch/arm/dts/rk3399-puma-haikou-u-boot.dtsi
@@ -22,7 +22,7 @@
        };

        chosen {
-               stdout-path = "serial0:115200n8";
+               stdout-path = "serial0:1500000n8";
                u-boot,spl-boot-order = \
                        "same-as-spl", &norflash, &sdhci, &sdmmc;
        };
diff --git a/configs/puma-rk3399_defconfig b/configs/puma-rk3399_defconfig
index 91f31b37e8..0aa0c1d911 100644
--- a/configs/puma-rk3399_defconfig
+++ b/configs/puma-rk3399_defconfig
@@ -92,6 +92,7 @@ CONFIG_PWM_ROCKCHIP=y
 CONFIG_DM_RESET=y
 CONFIG_DM_RTC=y
 CONFIG_RTC_ISL1208=y
+CONFIG_BAUDRATE=1500000
 CONFIG_DEBUG_UART_SHIFT=2
 CONFIG_ROCKCHIP_SPI=y
 CONFIG_SYSRESET=y

and TF-A prints at that baudrate after reading it from the DT passed by U-Boot (I added my own debug messages in TF-A to validate this claim).

This is supported since v2.2, commit 30970e0f2979 ("rockchip: make uart baudrate configurable").

following patch to TF-A (if I can figure out the Gerrit stuff that is...):


Since I went through this yesterday:
Link your GitHub account to the Gerrit instance.
Add your public ssh key in https://review.trustedfirmware.org/settings/#SSHKeys Then git clone the repo locally. For some reason the instructions in https://review.trustedfirmware.org/admin/repos/TF-A/trusted-firmware-a do not work for me, instead I did:
git clone "https://review.trustedfirmware.org/TF-A/trusted-firmware-a";
wget https://review.trustedfirmware.org/tools/hooks/commit-msg -O trusted-firmware-a/.git/hooks/commit-msg
chmod +x trusted-firmware-a/.git/hooks/commit-msg
then you should be able to push with:
git push origin HEAD:refs/for/integration -o topic=<some-topic>

=============
 From 51c1aa9277f6386b3a8055ad8ad582f894ab9230 Mon Sep 17 00:00:00 2001
From: Jerome Forissier <[email protected]>
Date: Thu, 10 Nov 2022 21:38:30 +0100
Subject: [PATCH] rk3399: set console baudrate to 1500000

The default speed for the console UART of the rk3399 SoC is 1.5 MBaud.
It is the value used by U-Boot so if TF-A has a different value there
is no output when the boot switches from TPL to TF-A BL31 (note that
OP-TEE which does not change the speed). The Rockchip loader aka flash
helper (rk3399_loader_v1.20.119.bin [1][2]) also uses the same speed.
Therefore set the default baudrate to 1500000.


This has already been discussed, see discussion there:
https://developer.trustedfirmware.org/T762, I would suggest to try to revive the discussion there.

Cheers,
Quentin

Reply via email to