Adds support for BeagleBone AI-64 board by introducing the
beagleboneai64_defconfig file and related support files.
The BeagleBone AI-64 uses the TI J721E SoC, also known as DRA829, also
known as TDA4VM.
Retrieve BSP settings from meta-ti (may be useful for other TI boards):
- This defconfig requires u-boot binman support added in u-boot since
2023.10.
See FOSDEM 2024 talk by TI folks about Binman and how it simplify
the overall boot-loader build flow [1].
- Set BR2_TARGET_ARM_TRUSTED_FIRMWARE_TARGET_BOARD = "generic"
meta-ti]$ git grep TFA_BOARD
meta-ti-bsp/conf/machine/beagleplay.conf:TFA_BOARD = "lite"
meta-ti-bsp/conf/machine/include/am62axx.inc:TFA_BOARD = "lite"
meta-ti-bsp/conf/machine/include/am62pxx.inc:TFA_BOARD = "lite"
meta-ti-bsp/conf/machine/include/am62xx.inc:TFA_BOARD = "lite"
meta-ti-bsp/conf/machine/include/am64xx.inc:TFA_BOARD = "lite"
meta-ti-bsp/conf/machine/include/am65xx.inc:TFA_BOARD = "generic"
meta-ti-bsp/conf/machine/include/j7200.inc:TFA_BOARD = "generic"
meta-ti-bsp/conf/machine/include/j721e.inc:TFA_BOARD = "generic"
meta-ti-bsp/conf/machine/include/j721s2.inc:TFA_BOARD = "generic"
meta-ti-bsp/conf/machine/include/j722s.inc:TFA_BOARD = "lite"
meta-ti-bsp/conf/machine/include/j784s4.inc:TFA_BOARD = "j784s4"
- Set BR2_TARGET_UBOOT_NEEDS_ATF_BL31 to provide BL31 variable pointing
to ATF bl31.bin to the U-Boot build process [2].
- Set BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE to OP-TEE as BL32
secure payload. meta-ti set "SPD=opteed" to build ATF [3].
- Set BR2_TARGET_OPTEE_OS_PLATFORM to "k3-j721e".
meta-ti uses the OPTEEMACHINE to set optee-os platform [4].
meta-ti]$ git grep OPTEEMACHINE
meta-ti-bsp/conf/machine/am437x-hs-evm.conf:OPTEEMACHINE = "ti-am43xx"
meta-ti-bsp/conf/machine/am57xx-hs-evm.conf:OPTEEMACHINE = "ti-am57xx"
meta-ti-bsp/conf/machine/beagleplay.conf:OPTEEMACHINE = "k3-am62x"
meta-ti-bsp/conf/machine/dra7xx-hs-evm.conf:OPTEEMACHINE = "ti-dra7xx"
meta-ti-bsp/conf/machine/include/am62axx.inc:OPTEEMACHINE = "k3-am62x"
meta-ti-bsp/conf/machine/include/am62pxx.inc:OPTEEMACHINE = "k3-am62x"
meta-ti-bsp/conf/machine/include/am62xx.inc:OPTEEMACHINE = "k3-am62x"
meta-ti-bsp/conf/machine/include/am64xx.inc:OPTEEMACHINE = "k3-am64x"
meta-ti-bsp/conf/machine/include/am65xx.inc:OPTEEMACHINE = "k3-am65x"
meta-ti-bsp/conf/machine/include/j7200.inc:OPTEEMACHINE = "k3-j721e"
meta-ti-bsp/conf/machine/include/j721e.inc:OPTEEMACHINE = "k3-j721e"
meta-ti-bsp/conf/machine/include/j721s2.inc:OPTEEMACHINE = "k3-j784s4"
meta-ti-bsp/conf/machine/include/j722s.inc:OPTEEMACHINE = "k3-am62x"
meta-ti-bsp/conf/machine/include/j784s4.inc:OPTEEMACHINE = "k3-j784s4"
- Use j721e_beagleboneai64_a72 and j721e_beagleboneai64_r5 u-boot
defconfigs introduced in u-boot v2024.04.
- u-boot distroboot (bootflow) detect extlinux.conf file from the first
SDcard partition, se we have to install the kernel and its dtb file.
Use devicetreedir instead of devicetree in extlinux.conf file to
avoid hardcoding the devicetree file name. TI boards are able to
retrieve dtb file name from an EEPROM (see TI_I2C_BOARD_DETECT in
uboot).
- Provide a hash file for all custom package version
(arm-trusted-firmware, linux, ti-k3-r5-loader, uboot) to enable
BR2_DOWNLOAD_FORCE_CHECK_HASHES.
[1] https://fosdem.org/2024/schedule/event/fosdem-2024-3067-standardizing-the-generation-and-signing-of-boot-images/
[2] https://git.yoctoproject.org/meta-ti/commit/?id=e74b9a1746d4d04757c87c1920a0f743e55ff096
[3] https://git.yoctoproject.org/meta-ti/tree/meta-ti-bsp/recipes-bsp/trusted-firmware-a/trusted-firmware-a-ti.inc?h=09.02.00.004#n7
[4] https://git.yoctoproject.org/meta-arm/tree/meta-arm/recipes-security/optee/optee-os.inc?h=4.0.3#n23
More information about the board can be found at:
https://www.beagleboard.org/boards/beaglebone-ai-64
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Bump OpenSBI to v1.4 and Kernel to v6.6.26.
Signed-off-by: Julien Olivain <ju.o@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
- With uClibc-ng-1.0.48 we can restore this defconfig because uClibc-ng
now provides the fix for SPARC.
- The instructions in board/qemu/sparc-ss10/readme.txt are still valid
without any corrections. The system boots properly ang the login
prompt appears.
Signed-off-by: Dmitry Chestnykh <dm.chestnykh@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Update to the latest kernel to pull in the latest bug fixes and features
for TI's SoCs and reference boards
Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Update to the latest kernel to pull in the latest bug fixes and features
for TI's SoCs and reference boards
Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Update the TFA firmware to the latest LTS tag for v2.10 release of
arm-trusted-firmware
Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Update the TFA firmware to the latest LTS tag for v2.10 release of
arm-trusted-firmware
Signed-off-by: Bryan Brattlof <bb@ti.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This patch adds basic support for the new OrangePi Zero2W board:
- http://www.orangepi.org/html/hardWare/computerAndMicrocontrollers/details/Orange-Pi-Zero-2W.html
Brief summary of the board features:
- H618 Allwinner SoC
- Quad-Core ARM Cortex-A53 Processor 1.5GHz
- Mali G31 MP2 GPU
- LPDDR4: 1GB/2GB/4GB
- Wi-Fi5.0+BT 5.0
- 2x Type-C USB 2.0
- 1x Mini HDMI
- Wi-Fi 5.0 + BT 5.0
- 40-pin expansion interface (GPIO / UART / I2C / SPI / PWM)
- 24-pin expansion interface (2x USB 2.0 / ETH / IR / audio)
BSP includes the following components:
- mainline ATF v2.10
- mainline U-Boot v2024.04
- mainline Linux kernel v6.8
No custom scripts required: all is covered by common orangepi scripts.
However new option BR2_DOWNLOAD_FORCE_CHECK_HASHES requires checksums
for all the BSP components. They are added as board specific patches.
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
And enable BR2_DOWNLOAD_FORCE_CHECK_HASHES.
Generated by utils/add-custom-hashes, with the (redundant)
linux-headers.hash replaced by a symlink.
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/6761770801
The Linux kernel fails to build since commit e88225ed88 (package/binutils:
make 2.41 the default version):
arch/arm/mm/proc-feroceon.S: Assembler messages:
arch/arm/mm/proc-feroceon.S:587: Error: junk at end of line, first unrecognized character is `#'
make[3]: *** [scripts/Makefile.build:430: arch/arm/mm/proc-feroceon.o] Error 1
make[3]: *** Waiting for unfinished jobs....
Fix the build by bumping the kernel to 4.14.336, which includes commit
3ab03df64f77 (ARM: 8933/1: replace Sun/Solaris style flag on section
directive):
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-4.14.y&id=3ab03df64f7754728a2257c47775a70a88428331
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
And enable BR2_DOWNLOAD_FORCE_CHECK_HASHES.
Signed-off-by: Edgar Bonet <bonet@grenoble.cnrs.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
As suggested by Arnout during the review [1], we can assume that U-Boot
needs ti-k3-boot-firmware when it is selected (likely by
ti-k3-r5-loader).
We can remove BR2_TARGET_UBOOT_NEEDS_TI_K3_BOOT_FIRMWARE without
legacy handling since this option is not part of any Buildroot
release.
[1] http://lists.busybox.net/pipermail/buildroot/2024-April/689263.html
Cc: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
As asked by Romain. Armadeus boards share same Linux hashes.
Signed-off-by: Julien BOIBESSOT <julien.boibessot@armadeus.com>
[yann.morin.1998@free.fr: fix check-package]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
And enable BR2_DOWNLOAD_FORCE_CHECK_HASHES. As asked By Romain.
Signed-off-by: Julien BOIBESSOT <julien.boibessot@armadeus.com>
[yann.morin.1998@free.fr: fix check-package]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The patch doesn't introduce any functional changes but reorganizes the
code to prevent the execution of the commands:
make ti_am62x_sk_defconfig
make savedefconfig
from showing a change in the defconfig.
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
Reviewed-by: Gero Schwäricke <gero.schwaericke@grandcentrix.net>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Wireless regulatory database lists the allowed radio frequencies for
each local jurisdiction. Since linux-4.15 the kernel supports loading
the files regulatory.db/regulatory.db.p7s directly from the
/lib/firmware directory. Currently this package is not enabled and
kernel complains with the following message on every boot:
"""
platform regulatory.0: Direct firmware load for regulatory.db failed
with error -2
cfg80211: failed to load regulatory.db
"""
Add wireless regulatory database package to fix the issue.
Signed-off-by: Konstantin Aladyshev <aladyshev22@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This patch adds a new defconfig for the Star64 board made by
Pine64. This board is based on the Starfive JH7110 RISC-V 64 bits
SoC. See: https://wiki.pine64.org/wiki/STAR64.
This patch uses a custom Kernel and U-Boot made for this board. The
SPL has to be signed with the Starfive SPL-Tool which is a software
provided by the vendor to get the necessary headers on the SPL.
The image configuration is based on the work done by Ivan Velickovic
<i.velickovic@unsw.edu.au>.
Signed-off-by: Thomas Bonnefille <thomas.bonnefille@bootlin.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since the switch to binutils 2.41 as default version [1], the arm Linux
kernel build is broken with:
arch/arm/mm/proc-v7.S: Assembler messages:
arch/arm/mm/proc-v7.S:640: Error: junk at end of line, first unrecognized character is `#'
A similar issue has already be fixed for qemu m68k [2].
Bump to the latest kernel 5.10 that already include the backport
of 790756c7e022 ("ARM: 8933/1: replace Sun/Solaris style flag on section directive")
Select BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y to fix the following
build error:
scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory
#include <openssl/bio.h>
[1] e88225ed88
[2] a1ce9474e4
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/6655119386
Signed-off-by: Julien BOIBESSOT <julien.boibessot@armadeus.com>
[Romain:
- improve commit log
- Select BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL
]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Since the switch to binutils 2.41 as default version [1], the arm Linux
kernel build is broken with:
arch/arm/mm/proc-v7.S: Assembler messages:
arch/arm/mm/proc-v7.S:640: Error: junk at end of line, first unrecognized character is `#'
A similar issue has already be fixed for qemu m68k [2].
Bump to the latest kernel 5.10 that already include the backport
of 790756c7e022 ("ARM: 8933/1: replace Sun/Solaris style flag on section directive")
Select BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y to fix the following
build error:
scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory
#include <openssl/bio.h>
[1] e88225ed88
[2] a1ce9474e4
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/6655119389
Signed-off-by: Julien BOIBESSOT <julien.boibessot@armadeus.com>
[Romain:
- improve commit log
- Select BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL
]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Since the switch to binutils 2.41 as default version [1], the arm Linux
kernel build is broken with:
arch/arm/mm/proc-v7.S: Assembler messages:
arch/arm/mm/proc-v7.S:640: Error: junk at end of line, first unrecognized character is `#'
A similar issue has already be fixed for qemu m68k [2].
Bump to the latest kernel 5.10 that already include the backport
of 790756c7e022 ("ARM: 8933/1: replace Sun/Solaris style flag on section directive")
Select BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y to fix the following
build error:
scripts/extract-cert.c:21:25: fatal error: openssl/bio.h: No such file or directory
#include <openssl/bio.h>
[1] e88225ed88
[2] a1ce9474e4
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/6655119384
Signed-off-by: Julien BOIBESSOT <julien.boibessot@armadeus.com>
[Romain:
- improve commit log
- Select BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL
]
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Builds the spi-nor.img together with the sdcard.img.
Readme is extended with SPI NOR flash writing instructions
and recovery.
The spi-nor.img layout is based on the following document:
https://doc-en.rvspace.org/VisionFive2/Boot_UG/JH7110_SDK/boot_address_allocation.html
Signed-off-by: Lukasz Tekieli <tekieli.lukasz@gmail.com>
[Arnout: extend readme.txt with paragraph that either boot mode works.]
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
The configuration is based on defconfig from starfive's kernel fork [1].
[1] 076ede06c0/arch/riscv/configs/starfive_visionfive2_defconfig
Signed-off-by: Lukasz Tekieli <tekieli.lukasz@gmail.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
Adjust DTS_NAME to current kernel source tree location of DTs in
per-vendor directories.
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/6665749909
Cc: Jan Kundrát <jan.kundrat@cesnet.cz>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The D1 support is now in mainline, so use that instead. There is no
dedicated nezha defconfig, so use the riscv defconfig. This defconfig has
most drivers as modules, so add mdev to ensure they get correctly loaded.
The defconfig does not have USB gadget/OTG support, so enable that using a
config fragment to make the USB-C connector work and get rid of the
following warning:
[ 7.233418] musb-sunxi 4100000.usb: Invalid or missing 'dr_mode' property
[ 7.240330] musb-sunxi: probe of 4100000.usb failed with error -22
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Arnout Vandecappelle <arnout@mind.be>
From Andreas Dannenberg (TI K3 architect) [1]:
"HS-FS should be the default for all TI AM6x devices. This is our
"production silicon" and what's used for (almost) all projects,
especially new projects. This being said having support for GP device
variants still is desirable for existing boards/projects, such as the
current BeaglePlay boards (amongst earlier version of TI starter kit
EVMs for AM6x)."
See further details on e2e Forum [2]:
"Unfortunately with this transition any existing GP device based AM62x
(and AM64x) boards will no longer boot with MMC/SD card images generated"
For such existing GP device based AM62x (and AM64x) boards, users have
to provide the tiboot3.bin name using BR2_TARGET_TI_K3_R5_LOADER_TIBOOT3_BIN.
[1] http://lists.busybox.net/pipermail/buildroot/2024-February/685821.html
[2] https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1210443/faq-am625-generating-sitara-am62x-am62ax-am64x-gp-device-bootable-mmc-sd-card-images-using-sdk-v8-6-and-yocto
Reviewed-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Since all AM62 and AM64 defconfig has been updated to use binman
and ti-k3-image-gen has been removed, binman is now mandatory
for all TI K3 SoC. So remove BR2_TARGET_TI_K3_R5_LOADER_USE_BINMAN
option since since it can't be disabled anymore.
We can remove BR2_TARGET_TI_K3_R5_LOADER_USE_BINMAN without
legacy handling since this option is not part of any Buildroot
release.
While at it, add one more like to binman dependencies in comments.
Reviewed-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Romain Naour <romain.naour@smile.fr>