The Linux environment for all boards using the Canaan Kendryte K210 SoC
can be built with the same process, using configurations that differ
only by the device tree used for the build. This patch add the
shared configurations, rootfs overlay and scripts used for all
K210-based boards.
Since the K210 SoC only has 8 MB of SRAM, a special busybox
configuration and rootfs overlay are added to save memory at runtime:
* For configurations using direct kernel boot (no boot loader), the
default busybox configuration busybox-minimal.config is modified
using the fragment file board/canaan/k210-soc/busybox-tiny.config.
This reduces the size of the busybox executable to save memory when
executing shell commands.
* Busybox init system is not used and a special init scripts is provided
using the rootfs_overlay root file system overlay. This init script
simply mounts devtmpfs, /proc and /sys, and exec an interactive shell
after printing a logo. This avoids (1) boot failures due to large
memory allocations by the regular busybox init system (these
allocations fail on the K210 for lack of enough memory) and avoids
(2) keeping the init process sleeping in the background (wasted
memory).
The board/canaan/k210-soc/busybox-tiny.config and the rootfs overlay
files in board/canaan/k210-soc/rootfs_overlay are used for all Canaan
K210 SoC based boards.
For board configurations booting using the U-Boot boot loader, a common
set of linux kernel configuration parameters is provided by the file
board/canaan/k210-soc/linux-sdcard.config. In addition, the post build
script board/canaan/k210-soc/post-build.sh file and U-Boot image
generation configuration file board/canaan/k210-soc/genimage.cfg are
provided. The post-build script creates a generic "k210.dtb" symlink to
the compiled device tree file for the target board. This symlink is used
by the genimage.cfg configuration, making this file common for all
boards.
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The genimage.cfg modified by this commit used the partition-type-uuid
c12a7328-f81f-11d2-ba4b-00a0c93ec93b, which identifies the EFI System
Partition, for a partition that isn't the EFI System Partition, but
just a regular FAT partition, for which GUID
ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 is more appropriate.
So we switch these to use partition-type-uuid = F, as it makes more
sense.
Please note that this commit introduces a difference in the resulting
output, as those partitions will now have a different GUID.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This allows to match the recently written rules for
partition-type-uuid values.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This commit changes to use partition-type-uuid = U instead of
c12a7328-f81f-11d2-ba4b-00a0c93ec93b where relevant for the EFI System
Partition.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The boot partition is not an EFI System Partition, it is a normal FAT
formatted partition, so using type F instead of U makes more sense.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This allows to comply with the recently specified genimage.cfg writing
rules.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The gpt = "true" form is deprecated in genimage, use
partition-table-type = "gpt" instead.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Like we do in all other genimage configuration files.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
The patch is required to fix an issue in U-Boot for linking
the mkeficapsule tool against -luuid and -lgnutls.
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/2720001065
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This patch adds additional uboot build options that are
required for kria k26 soms.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch fixes the DP audio and video PLL configurations for the zynqmp-sm-k26-revA som.
It needs to be applied for both the kv260 and kr260 starter kits.
The Linux DP driver expects the DP to be using the following PLL config:
- DP video PLL should use the VPLL (0x0)
- DP audio PLL should use the RPLL (0x3)
- DP system time clock PLL should use RPLL (0x3)
Register 0xFD1A0070 configures the DP video PLL.
Register 0xFD1A0074 configures the DP audio PLL.
Register 0xFD1A007C configures the DP system time clock PLL.
This patch was build and run tested on a zynqmp-kria-kv260 target board.
Upstream-Status: submitted (https://lore.kernel.org/all/fa7e9abc419c9d7648405d1c62367dbe701d09b8.1652709736.git.michal.simek@amd.com/)
This patch will be removed from buildroot in a future release when no longer necessary.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch improves the documentation for kria k26 som qspi programming.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net>
[Peter: drop trailing spaces]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The kernel is from upstream with a few extras to reduce the size of
the 'aspeed_g5' zImage because it is too big for the flash layout.
Mainline U-Boot has enough support to load the kernel from the flash
device and from network but it is still behind the OpenBMC branch
where most the development is done.
The main resulting file from the build is a flash image. The partition
layout matches the OpenBMC one for 32M chips. It makes it easier to
update the different partitions from Linux. Intermediate files can be
used to boot from U-Boot over the network or to boot QEMU using
-kernel/-initrd/-dtb.
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
The kernel is from upstream and U-Boot is from the OpenBMC branch
because mainline doesn't have the required support for HW, yet.
The main resulting file from the build is a flash image. The partition
layout matches the OpenBMC one for 64M chips. It makes it easier to
update the different partitions from Linux. Intermediate files can be
used to boot from U-boot over the network or to boot QEMU using
-kernel/-initrd/-dtb.
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Reviewed-by: Joel Stanley <joel@jms.id.au>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This patch is a temporary fix for the kv260 u-boot.itb generation
until a proper fix has been implemented within u-boot.
The problem is u-boot can only be configured to use the kria k26
som dts configuration at build time, and the kv260 carrier board
overlay is missing from the build. Without this, all of the carrier
board drivers are missing.
This patch will be removed from buildroot once u-boot can build a
correct u-boot.itb for the kria kv260 starter kit including the
carrier board overlay and corresponding drivers:
https://lore.kernel.org/all/20920b0df6b067aca4040459a9677d7d1d6d766a.1615354376.git.viresh.kumar@linaro.org/
Signed-off-by: Neal Frager <neal.frager@xilinx.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
[yann.morin.1998@free.fr: add URL provided by Luca]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Now that all of the extlinux.conf files have been removed,
it is no longer necessary to check if the file exists.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This patch enables the zynqmp_kria_kv260_defconfig to auto-generate the
extlinux.conf file.
The board/zynqmp/kria/extlinux.conf and board/zynqmp/kria/post-build.sh have
been removed as they are no longer necessary.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This patch enables the zynqmp_zcu102_defconfig and zynqmp_zcu106_defconfig to
auto-generate the extlinux.conf file.
The board/zynqmp/extlinux.conf has been removed as it is no longer necessary.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This patch uses the BR2_ROOTFS_POST_SCRIPT_ARGS to auto-generate the
extlinux.conf file, so developers will only need to modify the
board_defconfig file to change the console and boot file system locations.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Reviewed-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
As we're about to remove the nds32 architecture support, remove the
only defconfig that used this CPU architecture.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Yu Chien Peter Lin <peterlin@andestech.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Add RISC-V 64-bit nommu defconfig for QEMU virt machine with MMU
disabled.
Unlike qemu_riscv64_virt, qemu_riscv64_nommu_virt does not use OpenSBI,
since the kernel is running in machine mode (M-mode).
After the build is complete, you can start QEMU using the launcher
script:
$ output/images/start-qemu.sh
Signed-off-by: Niklas Cassel <niklas.cassel@wdc.com>
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Add the board/riscv/nommu directory to add a Linux kernel patch used
for all RISC-V NOMMU builds (QEMU and Canaan Kendryte K210 SoC based
boards). The patch is upstream and will be part of the upcoming 5.19
release.
Signed-off-by: Damien Le Moal <damien.lemoal@opensource.wdc.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since commit [1], the MMU support is mandatory for MMU-capable ARM
cores. This includes the arm926t ARM core used the
qemu_arm_versatile_nommu configuration.
From [2]
"I don't think supporting ARMv5 noMMU makes much sense, as
explained in the commit log. Supporting ARMv7-M definitely makes
sense, but not ARMv5 noMMU."
Remove this defconfig.
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/2477067386
[1] 8c925613dc
[2] http://lists.busybox.net/pipermail/buildroot/2022-May/643064.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Switch U-Boot from vendor downstream version to upstream. Since the
upstream U-Boot uses binman to build the bootable binary (flash.bin) the
need for the iMX specifc prepare script is no longer required.
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
This patch adds support for Xilinx Kria KV260 starter kit.
KV260 features can be found here:
https://www.xilinx.com/products/boards-and-kits/kv260.html
While the Kria SOM is based on a ZynqMP SoC, there are some key
boot config differences from the other ZynqMP evaluation boards.
1. There are no boot switches on Kria SOMs. The boot mode is thus
hard configured for QSPI flash. A pre-programmed boot.bin comes
with every Starter Kit. U-Boot can then find the Linux kernel and
file system on the SD card.
Optional instructions for updating the boot.bin in the QSPI flash
can be found in the readme.txt file and the link below.
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1641152513/Kria+K26+SOM
2. Kria SOMs use UART1 for the console instead of UART0. For this
reason, Kria Starter Kits will use a separate extlinux.conf file
from other ZynqMP evaluation boards.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch bumps configs/zynq_xxx_defconfigs to Xilinx software release 2022.1
which includes the following updates:
- U-Boot bumped to 2022.01
- Linux bumped to 5.15.19
- rootfs changed from CPIO to EXT4
- extlinux.conf for distro boot support
- U-Boot migrated from git clone to tarball for faster builds
This patch has been build and run tested on a ZC706 evaluation board.
This patch has been build tested only for zed, microzed and qmtech boards.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch fixes the DP audio and video PLL configurations for the
zynqmp-zcu106-revA evaluation board.
The Linux DP driver expects the DP to be using the following PLL config:
- DP video PLL should use the VPLL (0x0)
- DP audio PLL should use the RPLL (0x3)
Register 0xFD1A0070 configures the DP video PLL.
Register 0xFD1A0074 configures the DP audio PLL.
This patch was build and run tested on a zynqmp-zcu106-revA target board.
Upstream-Status: submitted (https://lore.kernel.org/all/62538b4a04dee28a6fc8ac5b85f8c845a5a76aa4.1651740988.git.michal.simek@amd.com/)
This patch will be removed from buildroot in a future release when no longer necessary.
Signed-off-by: Neal Frager <neal.frager@amd.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
When BR2_TARGET_OPTEE_OS=y, mkimage_fit_atf.sh is executed with two additional
variables so that the ITS file contains an additional node for the TEE binary.
Then the TEE binary will be packaged into the ITB in addition to TF-A and
U-Boot.
Signed-off-by: Thomas Perrot <thomas.perrot@bootlin.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This patch provides defconfig and basic support for Andes
45 series RISC-V architecture on AE350 platform.
http://www.andestech.com/en/products-solutions/andeshape-platforms/ae350-axi-based-platform-pre-integrated-with-n25f-nx25f-a25-ax25/
Signed-off-by: Yu Chien Peter Lin <peterlin@andestech.com>
Signed-off-by: Alan Kao <alankao@andestech.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Switch to extlinux instead of U-Boot boot script. Drop custom boot
script and genimage config. Instead use common orangepi files from
board/orangepi/common. To help extlinux to find DTB without U-Boot
environment changes, do not strip arm64 board specific directory
from DTB name when installing it in /boot directory. For this
purpose use BR2_KERNEL_DTB_KEEP_DIRNAME config option. Finally,
tidy up configuration file adding section names.
Signed-off-by: Sergey Matyukevich <geomatsi@gmail.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
- Bump Linux to version 5.4.137
- Bump U-Boot to add new targets, version remains the same
- Drop BR2_ROOTFS_OVERLAY and remove S09modload script because it was
only used by PFE and now PFE is loaded directly by the kernel
- Use Image.gz instead of Image to have a compressed kernel
- Rename ucls1012a.its to br2-ucls1012a.its since post-build.sh and
post-image.sh use different name. This fixes the bug that didn't
allow the creation of the part0-000000.itb file.
Signed-off-by: Oleksandr Zhadan <oleks@arcturusnetworks.com>
Signed-off-by: Michael Durrant <mdurrant@arcturusnetworks.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Changes:
* Switch to common orangepi scenario for multiple boards (board/orangepi/common) to create an SD image.
* Exclude FAT partition, it is no longer needed for U-Boot.
* Switch SD image from MBR to GPT for partition-uuid to work.
* Switch to extlinux, this is convenient for debugging.
Signed-off-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Technologic Systems has rebranded as embeddedTS with the current
domain eventually going offline. Update web/doc URLs to correct
resource locations.
Signed-off-by: Kris Bahnsen <kris@embeddedTS.com>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Fixes the following error during image generation:
ERROR: hdimage(sdcard.img): part boot: 'partition-type' is only valid
for mbr and hybrid partition-table-type
Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/2103784375
Signed-off-by: Marcus Hoffmann <marcus.hoffmann@othermo.de>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Add a U-Boot config fragment to set the correct control device tree file for
each board, rather than using the default (zcu100).
Signed-off-by: Neal Frager <neal.frager@xilinx.com>
Tested-by: Peter Korsgaard <peter@korsgaard.com>
[Peter: reword commit message, rename fragment files]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Genimage 15 restricted the partition-type option to mbr and hybrid
partition-table-type and now prints a warning when it is used [1]:
ERROR: hdimage(disk.img): part boot: 'partition-type' is only valid for mbr and hybrid partition-table-type
[1] 1d72d8091f
So let's use for EFI System partition:
'partition-type-uuid = c12a7328-f81f-11d2-ba4b-00a0c93ec93b'
and for Root partition (32-bit ARM):
'partition-type-uuid = 69DAD710-2CE4-4E3C-B16C-21A1D49ABED3'
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/1929717242
FTR, the magic UUID are from:
https://en.wikipedia.org/wiki/GUID_Partition_Table#Partition_type_GUIDs
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Changes:
* Exclude FAT partition, it is no longer needed for U-Boot.
* Switch the rootfs partition from MBR to GPT for partition-uuid to work.
* Switch to extlinux, this is convenient for debugging.
* Create common scenarios for multiple boards to create an SD image:
board/orangepi/common. Currently only orangepi_zero makes use of the
common infrastructure.
Signed-off-by: Sergey Kuzminov <kuzminov.sergey81@gmail.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[Arnout: remove rootfs size = 63M and remount rw]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Actually genimage fails to create final image with:
```
ERROR: hdimage(disk.img): partition [MBR] (offset 0x1b8, size 0x48) overlaps previous partition boot (offset 0x0, size 0x200)
ERROR: hdimage(disk.img): bootloaders, etc. that overlap with the partition table must declare the overlapping area as a hole.
```
This is because genimage 15 is less permissive than before, so let's add
holes = {"(440; 512)"} to leave room to MBR.
The generated image is identical to the image generated by the previous
version of genimage.
Fixes:
https://gitlab.com/buildroot.org/buildroot/-/jobs/1865935249
Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
This patch:
- adds support for Xilinx ZCU102 evaluation board
- ZCU102 features can be found here:
https://www.xilinx.com/products/boards-and-kits/zcu102.html
Signed-off-by: Neal Frager <neal.frager@xilinx.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[Giulio: only build tested]
[Peter: use git describe for git hashes for clarity, add DEVELOPERS entry]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This patch:
- bumps ATF to Xilinx v2.6: mainline v2.6 requires patch to build
- bumps U-Boot to Xilinx 2022.01: important drivers not in mainline
- bumps Linux to Xilinx 5.15: important drivers not in mainline
- deletes board/zynqmp/patches directory: patches already in mainline
- modifies board/zynqmp/genimage.cfg: U-Boot 2022.01 uses u-boot.itb format
- adds extlinux.conf to vfat bootfs
- modifies U-Boot to unified xilinx_zynqmp_virt_defconfig (supports all boards)
- adds support for SPL pm_cfg_obj.c loading to PMU firmware
- enables support for host machines without OpenSSL required by U-Boot and Linux
Signed-off-by: Neal Frager <neal.frager@xilinx.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
Tested-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[Giulio: only build tested]
[Peter: use git describe for git hashes for clarity]
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The BL i.MX8M Mini is a baseboard that includes the SoM SL i.MX8M Mini.
https://www.kontron.com/produkte/baseboard-bl-i.mx8m-mini/p158549
Cc: Frieder Schrempf <frieder.schrempf@kontron.de>
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
Reviewed-by: Giulio Benetti <giulio.benetti@benettiengineering.com>
[Arnout: explicitly set BR2_cortex_a53=y]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>