Merge tag 'u-boot-socfpga-next-20251217' of https://source.denx.de/u-boot/custodians/u-boot-socfpga into next
This pull request brings together a set of fixes and enhancements across the SoCFPGA platform family, with a focus on MMC/SPL robustness, EFI boot enablement, and Agilex5 SD/eMMC support. CI: https://source.denx.de/u-boot/custodians/u-boot-socfpga/-/pipelines/28776 Highlights: * SPL / MMC: o Fix Kconfig handling for SYS_MMCSD_RAW_MODE_U_BOOT_USE_PARTITION_TYPE o Correct raw sector calculations and respect explicit sector values when loading U-Boot from MMC in SPL o Adjust raw MMC loading logic for SoCFPGA platforms * EFI boot: o Permit EFI booting on SoCFPGA platforms o Disable mkeficapsule tool build for Arria 10 where unsupported * Agilex5: o Upgrade SDHCI controller from SD4HC to SD6HC o Enable MMC and Cadence SDHCI support in defconfig o Add dedicated eMMC device tree and defconfig for Agilex5 SoCDK o Revert incorrect GPIO configuration for SDIO_SEL o Refine U-Boot DT handling for SD and eMMC boot variants * SPI: o Allow disabling the DesignWare SPI driver in SPL via Kconfig * Board / configuration fixes: o Enable random MAC address generation for Cyclone V o Fix DE0-Nano-SoC boot configuration o Remove obsolete or conflicting options from multiple legacy SoCFPGA defconfigs
This commit is contained in:
@@ -162,7 +162,7 @@ List of mainline supported Rockchip boards:
|
||||
- Pine64 QuartzPro64 (quartzpro64-rk3588)
|
||||
- Radxa ROCK 5 ITX (rock-5-itx-rk3588)
|
||||
- Radxa ROCK 5A (rock5a-rk3588s)
|
||||
- Radxa ROCK 5B (rock5b-rk3588)
|
||||
- Radxa ROCK 5B/5B+/5T (rock5b-rk3588)
|
||||
- Radxa ROCK 5C (rock-5c-rk3588s)
|
||||
- Rockchip Toybrick TB-RK3588X (toybrick-rk3588)
|
||||
- Theobroma Systems RK3588-SBC Jaguar (jaguar-rk3588)
|
||||
|
||||
@@ -32,24 +32,47 @@ 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 RKBIN=$(pwd)
|
||||
export BL31=$RKBIN/bin/rk35/rk3588_bl31_v1.47.elf
|
||||
export ROCKCHIP_TPL=$RKBIN/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin
|
||||
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
|
||||
./tools/ddrbin_tool rk3588 tools/ddrbin_param.txt "$ROCKCHIP_TPL"
|
||||
sed -i 's/^uart iomux=.*$/uart iomux=0/' tools/ddrbin_param.txt
|
||||
python3 ./tools/ddrbin_tool.py rk3588 tools/ddrbin_param.txt "$ROCKCHIP_TPL"
|
||||
./tools/boot_merger RKBOOT/RK3588MINIALL.ini
|
||||
export RKDB=$RKBIN/rk3588_spl_loader_v1.11.112.bin
|
||||
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
|
||||
------------
|
||||
@@ -59,6 +82,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).
|
||||
|
||||
|
||||
@@ -95,8 +95,9 @@ To flash U-Boot on the eMMC with ``rkdeveloptool``:
|
||||
git clone https://github.com/rockchip-linux/rkbin.git
|
||||
cd rkbin
|
||||
./tools/boot_merger RKBOOT/RK3399MINIALL.ini
|
||||
export RKDB=$(readlink -f rk3399_loader_v*.bin | head -1)
|
||||
cd ..
|
||||
./rkdeveloptool db rkbin/rk3399_loader_v1.30.130.bin
|
||||
./rkdeveloptool db "$RKDB"
|
||||
./rkdeveloptool wl 64 ../u-boot-rockchip.bin
|
||||
|
||||
NOR-Flash
|
||||
@@ -121,7 +122,8 @@ To flash U-Boot on the SPI with ``rkdeveloptool``:
|
||||
git clone https://github.com/rockchip-linux/rkbin.git
|
||||
cd rkbin
|
||||
./tools/boot_merger RKBOOT/RK3399MINIALL_SPINOR.ini
|
||||
export RKDB=$(readlink -f rk3399_loader_spinor_v*.bin | head -1)
|
||||
cd ..
|
||||
./rkdeveloptool db rkbin/rk3399_loader_spinor_v1.30.114.bin
|
||||
./rkdeveloptool db "$RKDB"
|
||||
./rkdeveloptool ef
|
||||
./rkdeveloptool wl 0 ../u-boot-rockchip-spi.bin
|
||||
|
||||
@@ -90,6 +90,7 @@ To flash U-Boot on the eMMC with ``rkdeveloptool``:
|
||||
git clone https://github.com/rockchip-linux/rkbin.git
|
||||
cd rkbin
|
||||
./tools/boot_merger RKBOOT/PX30MINIALL.ini
|
||||
export RKDB=$(readlink -f px30_loader_v*.bin | head -1)
|
||||
cd ..
|
||||
./rkdeveloptool db rkbin/px30_loader_v2.08.135.bin
|
||||
./rkdeveloptool db "$RKDB"
|
||||
./rkdeveloptool wl 64 ../u-boot-rockchip.bin
|
||||
|
||||
@@ -39,25 +39,47 @@ 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 RKBIN=$(pwd)
|
||||
export BL31=$RKBIN/bin/rk35/rk3588_bl31_v1.47.elf
|
||||
export ROCKCHIP_TPL=$RKBIN/bin/rk35/rk3588_ddr_lp4_2112MHz_lp5_2400MHz_v1.18.bin
|
||||
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
|
||||
./tools/ddrbin_tool rk3588 tools/ddrbin_param.txt "$ROCKCHIP_TPL"
|
||||
python3 ./tools/ddrbin_tool.py rk3588 tools/ddrbin_param.txt "$ROCKCHIP_TPL"
|
||||
./tools/boot_merger RKBOOT/RK3588MINIALL.ini
|
||||
export RKDB=$RKBIN/rk3588_spl_loader_v1.11.112.bin
|
||||
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
|
||||
------------
|
||||
@@ -67,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).
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
.. SPDX-License-Identifier: GPL-2.0-or-later OR BSD-3-Clause
|
||||
.. sectionauthor:: Apurva Nandan <a-nandan@ti.com>
|
||||
|
||||
J784S4 and AM69 Platforms
|
||||
=========================
|
||||
J742S2, J784S4 and AM69 Platforms
|
||||
=================================
|
||||
|
||||
Introduction
|
||||
------------
|
||||
@@ -37,6 +37,11 @@ Platform information:
|
||||
* https://www.ti.com/tool/J784S4XEVM
|
||||
* https://www.ti.com/tool/SK-AM69
|
||||
|
||||
J742S2 is derivative of J784S24 SOC, More info can be found in
|
||||
|
||||
* TRM : https://www.ti.com/lit/ug/spruje3/spruje3.pdf
|
||||
* Platform Information : https://www.ti.com/tool/J742S2XH01EVM
|
||||
|
||||
Boot Flow
|
||||
---------
|
||||
Below is the pictorial representation of boot flow:
|
||||
@@ -99,6 +104,13 @@ Set the variables corresponding to this platform:
|
||||
export UBOOT_CFG_CORTEXR=am69_sk_r5_defconfig
|
||||
export UBOOT_CFG_CORTEXA=am69_sk_a72_defconfig
|
||||
|
||||
For J742S2-EVM, use the following U_BOOT_CFG instead:
|
||||
|
||||
.. prompt:: bash
|
||||
|
||||
export UBOOT_CFG_CORTEXR=j742s2_evm_r5_defconfig
|
||||
export UBOOT_CFG_CORTEXA=j742s2_evm_a72_defconfig
|
||||
|
||||
.. j784s4_evm_rst_include_start_build_steps
|
||||
|
||||
1. Trusted Firmware-A
|
||||
@@ -143,14 +155,21 @@ variant (GP, HS-FS, HS-SE) requires a different source for these files.
|
||||
* tiboot3-j784s4-gp-evm.bin from :ref:`step 3.1 <j784s4_evm_rst_u_boot_r5>`
|
||||
* tispl.bin_unsigned, u-boot.img_unsigned from :ref:`step 3.2 <j784s4_evm_rst_u_boot_a72>`
|
||||
|
||||
.. note::
|
||||
|
||||
For J742S2, GP variant is not available.
|
||||
|
||||
|
||||
- HS-FS
|
||||
|
||||
* tiboot3-j784s4-hs-fs-evm.bin from :ref:`step 3.1 <j784s4_evm_rst_u_boot_r5>`
|
||||
* tiboot3-j742s2-hs-fs-evm.bin from :ref:`step 3.1 <j784s4_evm_rst_u_boot_r5>`
|
||||
* tispl.bin, u-boot.img from :ref:`step 3.2 <j784s4_evm_rst_u_boot_a72>`
|
||||
|
||||
- HS-SE
|
||||
|
||||
* tiboot3-j784s4-hs-evm.bin from :ref:`step 3.1 <j784s4_evm_rst_u_boot_r5>`
|
||||
* tiboot3-j742s2-hs-evm.bin from :ref:`step 3.1 <j784s4_evm_rst_u_boot_r5>`
|
||||
* tispl.bin, u-boot.img from :ref:`step 3.2 <j784s4_evm_rst_u_boot_a72>`
|
||||
|
||||
Image formats
|
||||
|
||||
@@ -653,9 +653,9 @@ Refer (:ref:`U-boot ARMV8 build <k3_rst_include_start_build_steps_uboot>`)
|
||||
Saving environment
|
||||
------------------
|
||||
|
||||
SAVEENV is disabled by default and for the new flow uses Uenv.txt as the default
|
||||
way for saving the environments. This has been done as Uenv.txt is more granular
|
||||
then the saveenv command and can be used across various bootmodes too.
|
||||
SAVEENV is disabled by default and for the new flow uses uEnv.txt as the default
|
||||
way for saving the environments. This has been done as uEnv.txt is more granular
|
||||
than the saveenv command and can be used across various bootmodes too.
|
||||
|
||||
**Writing to MMC/EMMC**
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ part must be specified as partition name.
|
||||
dev
|
||||
device number
|
||||
part
|
||||
partition number
|
||||
partition name
|
||||
varname
|
||||
a variable to store the current partition number value into
|
||||
|
||||
|
||||
Reference in New Issue
Block a user