[PATCH 2/3] board: theobroma-systems: add instructions for how to use upstream TF-A

Kever Yang kever.yang at rock-chips.com
Sat Nov 1 08:57:19 CET 2025


On 2025/7/30 20:46, Quentin Schulz wrote:
> From: Quentin Schulz <quentin.schulz at cherry.de>
>
> Upstream TF-A has support for RK3588 since v2.12 so let's document how
> to use upstream TF-A instead of the prebuilt binary blob from Rockchip
> if one wants to do that.
>
> Signed-off-by: Quentin Schulz <quentin.schulz at cherry.de>
Reviewed-by: Kever Yang <kever.yang at rock-chips.com>

Thanks,
- Kever
> ---
>   doc/board/theobroma-systems/jaguar_rk3588.rst | 38 +++++++++++++++++++++++----
>   doc/board/theobroma-systems/tiger_rk3588.rst  | 38 +++++++++++++++++++++++----
>   2 files changed, 66 insertions(+), 10 deletions(-)
>
> diff --git a/doc/board/theobroma-systems/jaguar_rk3588.rst b/doc/board/theobroma-systems/jaguar_rk3588.rst
> index 33cd7276852c5b74b750ad14ce2beb4a9440ef3f..eff0ee7347c7d0e810d9dba542ce3aaf28ef359d 100644
> --- a/doc/board/theobroma-systems/jaguar_rk3588.rst
> +++ b/doc/board/theobroma-systems/jaguar_rk3588.rst
> @@ -32,14 +32,13 @@ It provides the following features:
>   Here is the step-by-step to boot to U-Boot on SBC-RK3588-AMR Jaguar from Theobroma
>   Systems.
>   
> -Get the TF-A and DDR init (TPL) binaries
> -----------------------------------------
> +Get DDR init (TPL) binary
> +-------------------------
>   
>   .. prompt:: bash
>   
>      git clone https://github.com/rockchip-linux/rkbin
>      cd rkbin
> -   export BL31=$(readlink -f bin/rk35/rk3588_bl31_v*.elf | head -1)
>      export ROCKCHIP_TPL=$(readlink -f bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v*.bin | head -1)
>      sed -i 's/^uart baudrate=.*$/uart baudrate=115200/' tools/ddrbin_param.txt
>      python3 ./tools/ddrbin_tool.py rk3588 tools/ddrbin_param.txt "$ROCKCHIP_TPL"
> @@ -47,8 +46,32 @@ Get the TF-A and DDR init (TPL) binaries
>      export RKDB=$(readlink -f rk3588_spl_loader_v*.bin | head -1)
>   
>   This will setup all required external dependencies for compiling U-Boot. This will
> -be updated in the future once upstream Trusted-Firmware-A supports RK3588 or U-Boot
> -gains support for open-source DRAM initialization in TPL.
> +be updated in the future once U-Boot gains support for open-source DRAM initialization
> +in TPL.
> +
> +Get TF-A
> +--------
> +
> +There are two possible options, pick one or the other. Note that the instructions need
> +to be run from the ``rkbin`` directory.
> +
> +Prebuilt binary from Rockchip
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +.. prompt:: bash
> +
> +   export BL31=$(readlink -f bin/rk35/rk3588_bl31_v*.elf | head -1)
> +
> +Upstream
> +~~~~~~~~
> +
> +.. prompt:: bash
> +
> +   cd ../
> +   git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
> +   cd trusted-firmware-a
> +   make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3588 bl31
> +   export BL31=$PWD/build/rk3588/release/bl31/bl31.elf
>   
>   Build U-Boot
>   ------------
> @@ -58,6 +81,11 @@ Build U-Boot
>      cd ../u-boot
>      make CROSS_COMPILE=aarch64-linux-gnu- jaguar-rk3588_defconfig all
>   
> +.. note::
> +   If using upstream TF-A, one should disable ``SPL_ATF_NO_PLATFORM_PARAM`` symbol in
> +   U-Boot config (via e.g. ``make CROSS_COMPILE=aarch64-linux-gnu- menuconfig``) which
> +   will, among other things, enable console output in TF-A.
> +
>   This will build ``u-boot-rockchip.bin`` which can be written to an MMC device
>   (eMMC or SD card).
>   
> diff --git a/doc/board/theobroma-systems/tiger_rk3588.rst b/doc/board/theobroma-systems/tiger_rk3588.rst
> index 71dbe4c59de8f8b3ccb6ece440a780459db127b1..493f191020fd4326bd19aa3a3c927ea9258a4720 100644
> --- a/doc/board/theobroma-systems/tiger_rk3588.rst
> +++ b/doc/board/theobroma-systems/tiger_rk3588.rst
> @@ -39,14 +39,13 @@ It provides the following feature set:
>   Here is the step-by-step to boot to U-Boot on SOM-RK3588-Q7 Tiger from Theobroma
>   Systems.
>   
> -Get the TF-A and DDR init (TPL) binaries
> -----------------------------------------
> +Get DDR init (TPL) binary
> +-------------------------
>   
>   .. prompt:: bash
>   
>      git clone https://github.com/rockchip-linux/rkbin
>      cd rkbin
> -   export BL31=$(readlink -f bin/rk35/rk3588_bl31_v*.elf | head -1)
>      export ROCKCHIP_TPL=$(readlink -f bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v*.bin | head -1)
>      sed -i 's/^uart baudrate=.*$/uart baudrate=115200/' tools/ddrbin_param.txt
>      sed -i 's/^uart iomux=.*$/uart iomux=2/' tools/ddrbin_param.txt
> @@ -55,8 +54,32 @@ Get the TF-A and DDR init (TPL) binaries
>      export RKDB=$(readlink -f rk3588_spl_loader_v*.bin | head -1)
>   
>   This will setup all required external dependencies for compiling U-Boot. This will
> -be updated in the future once upstream Trusted-Firmware-A supports RK3588 or U-Boot
> -gains support for open-source DRAM initialization in TPL.
> +be updated in the future once U-Boot gains support for open-source DRAM initialization
> +in TPL.
> +
> +Get TF-A
> +--------
> +
> +There are two possible options, pick one or the other. Note that the instructions need
> +to be run from the ``rkbin`` directory.
> +
> +Prebuilt binary from Rockchip
> +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> +
> +.. prompt:: bash
> +
> +   export BL31=$(readlink -f bin/rk35/rk3588_bl31_v*.elf | head -1)
> +
> +Upstream
> +~~~~~~~~
> +
> +.. prompt:: bash
> +
> +   cd ../
> +   git clone https://git.trustedfirmware.org/TF-A/trusted-firmware-a.git
> +   cd trusted-firmware-a
> +   make CROSS_COMPILE=aarch64-linux-gnu- PLAT=rk3588 bl31
> +   export BL31=$PWD/build/rk3588/release/bl31/bl31.elf
>   
>   Build U-Boot
>   ------------
> @@ -66,6 +89,11 @@ Build U-Boot
>      cd ../u-boot
>      make CROSS_COMPILE=aarch64-linux-gnu- tiger-rk3588_defconfig all
>   
> +.. note::
> +   If using upstream TF-A, one should disable ``SPL_ATF_NO_PLATFORM_PARAM`` symbol in
> +   U-Boot config (via e.g. ``make CROSS_COMPILE=aarch64-linux-gnu- menuconfig``) which
> +   will, among other things, enable console output in TF-A.
> +
>   This will build ``u-boot-rockchip.bin`` which can be written to an MMC device
>   (eMMC or SD card).
>   
>


More information about the U-Boot mailing list