
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.
This was tested with TF-A v2.9.0 on Puma Haikou RK3399.
We do this only for new RK3399 boards, where this will be a conscious choice to enable CONFIG_SPL_ATF_NO_PLATFORM_PARAM, and Puma since it's been tested with upstream TF-A. The imply condition on SPL_ATF is always true because SPL_ATF is selected for all RK3399-based boards in arch/arm/mach-rockchip/Kconfig.
For board maintainers who received this mail, this patch series does not modify anything for your board. However, this highlights that your board does not make use of a feature (passing U-Boot DTB to TF-A) I find useful. I know this has been a pain point for some of you since TF-A has a default baudrate of 115200 on UART2 for its debug console which meant you had the choice of: 1) patch TF-A to run at 1500000 baudrate instead (Rockchip's BSP default) and/or a different UART controller than UART2, 2) not have TF-A output,
You're now aware there's a third choice: disable SPL_ATF_NO_PLATFORM_PARAM Kconfig option if your TF-A is of version 2.4 or newer. Up to you to send a patch for your board defconfig.
This option was not disabled on all platforms on purpose since Kever prefers to be careful since some boards might require downstream/blob-only TF-A that are older than 2.4 version.
Signed-off-by: Quentin Schulz quentin.schulz@theobroma-systems.com --- Changes in v3: - rebased on top of master - tested with TF-A v2.9.0 on Puma - changed defconfigs for new RK3399 boards since v2 - Link to v2: https://lore.kernel.org/r/20221114-rk3399-tf-a-plat-param-v2-0-29287f1a501e@...
Changes in v2: - keep the option selected for existing boards except Puma, - added board maintainers to recipients of this mail, - Link to v1: https://lore.kernel.org/r/20221114-rk3399-tf-a-plat-param-v1-0-0f873897bda7@...
--- Quentin Schulz (2): rockchip: rk3399: pass platform parameter to TF-A by default for new RK3399 boards rockchip: puma: pass platform parameter to TF-A
arch/arm/mach-rockchip/Kconfig | 1 - configs/chromebook_bob_defconfig | 1 + configs/chromebook_kevin_defconfig | 1 + configs/eaidk-610-rk3399_defconfig | 1 + configs/evb-rk3399_defconfig | 1 + configs/ficus-rk3399_defconfig | 1 + configs/firefly-rk3399_defconfig | 1 + configs/khadas-edge-captain-rk3399_defconfig | 1 + configs/khadas-edge-rk3399_defconfig | 1 + configs/khadas-edge-v-rk3399_defconfig | 1 + configs/leez-rk3399_defconfig | 1 + configs/nanopc-t4-rk3399_defconfig | 1 + configs/nanopi-m4-2gb-rk3399_defconfig | 1 + configs/nanopi-m4-rk3399_defconfig | 1 + configs/nanopi-m4b-rk3399_defconfig | 1 + configs/nanopi-neo4-rk3399_defconfig | 1 + configs/nanopi-r4s-rk3399_defconfig | 1 + configs/orangepi-rk3399_defconfig | 1 + configs/pinebook-pro-rk3399_defconfig | 1 + configs/pinephone-pro-rk3399_defconfig | 1 + configs/roc-pc-mezzanine-rk3399_defconfig | 1 + configs/roc-pc-rk3399_defconfig | 1 + configs/rock-4c-plus-rk3399_defconfig | 1 + configs/rock-pi-4-rk3399_defconfig | 1 + configs/rock-pi-4c-rk3399_defconfig | 1 + configs/rock-pi-n10-rk3399pro_defconfig | 1 + configs/rock960-rk3399_defconfig | 1 + configs/rockpro64-rk3399_defconfig | 1 + 28 files changed, 27 insertions(+), 1 deletion(-) --- base-commit: 50842b217fef505a0ec6662cc2acdc55d0bb23c5 change-id: 20221114-rk3399-tf-a-plat-param-3ab055f40b9e
Best regards,