new packages: atfirmware and scpfirmware
v3 cover new packages: atfirmware and scpfirmware
This patch adds to buildroot an important package for ARM64 based development
boards: The ARM Trusted Firmware (atfirmware).
It also adds the scpfirmware which is a hidden package to get the System Control Processor (SCP) binary to be included in the bootloader (fip image), which is a requirement for ARM Juno's board. With this 2 packages, Juno gets fully supported in the Buildroot.
Joao Pinto (3):
new package: atfirmware
new package: scpfirmware
configs: add u-boot and atfirmware options to juno
board/arm/juno/readme.txt | 21 ++++++++-- boot/Config.in | 2 + boot/atfirmware/Config.in | 70 +++++++++++++++++++++++++++++++++ boot/atfirmware/atfirmware.hash | 5 +++ boot/atfirmware/atfirmware.mk | 85 +++++++++++++++++++++++++++++++++++++++++ boot/scpfirmware/Config.in | 23 +++++++++++ boot/scpfirmware/scpfirmware.mk | 18 +++++++++ configs/arm_juno_defconfig | 9 +++++ 8 files changed, 230 insertions(+), 3 deletions(-) create mode 100644 boot/atfirmware/Config.in create mode 100644 boot/atfirmware/atfirmware.hash create mode 100644 boot/atfirmware/atfirmware.mk create mode 100644 boot/scpfirmware/Config.in create mode 100644 boot/scpfirmware/scpfirmware.mk
Signature · 1 line
1.8.1.5
PATCH v3 1/3 new package: atfirmware
--- boot/Config.in | 1 + boot/atfirmware/Config.in | 70 +++++++++++++++++++++++++++++++++ boot/atfirmware/atfirmware.hash | 5 +++ boot/atfirmware/atfirmware.mk | 85 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 161 insertions(+) create mode 100644 boot/atfirmware/Config.in create mode 100644 boot/atfirmware/atfirmware.hash create mode 100644 boot/atfirmware/atfirmware.mk
boot/Config.in +1 -0
@@ -3,6 +3,7 @@ menu "Bootloaders" source "boot/at91bootstrap/Config.in" source "boot/at91bootstrap3/Config.in" source "boot/at91dataflashboot/Config.in" +source "boot/atfirmware/Config.in" source "boot/barebox/Config.in" source "boot/boot-wrapper-aarch64/Config.in" source "boot/grub/Config.in"
boot/atfirmware/Config.in new file +70 -0
70 lines not on this page · raw message
boot/atfirmware/atfirmware.hash new file +5 -0
@@ -0,0 +1,5 @@ +# From https://github.com/ARM-software/arm-trusted-firmware/archive/v1.2.tar.gz +# Locally calculated +sha256 fac2c08bd74337fec2e14a98fc9f748f atfirmware-v1.2.tar.gz +md5 fac2c08bd74337fec2e14a98fc9f748f atfirmware-v1.2.tar.gz +
boot/atfirmware/atfirmware.mk new file +85 -0
85 lines not on this page · raw message
Signature · 1 line
1.8.1.5
PATCH v3 2/3 new package: scpfirmware
In reply to Joao Pinto--- boot/Config.in | 1 + boot/scpfirmware/Config.in | 23 +++++++++++++++++++++++ boot/scpfirmware/scpfirmware.mk | 18 ++++++++++++++++++ 3 files changed, 42 insertions(+) create mode 100644 boot/scpfirmware/Config.in create mode 100644 boot/scpfirmware/scpfirmware.mk
boot/Config.in +1 -0
@@ -12,6 +12,7 @@ source "boot/gummiboot/Config.in" source "boot/lpc32xxcdl/Config.in" source "boot/mxs-bootlets/Config.in" source "boot/syslinux/Config.in" +source "boot/scpfirmware/Config.in" source "boot/uboot/Config.in" source "boot/xloader/Config.in"
boot/scpfirmware/Config.in new file +23 -0
@@ -0,0 +1,23 @@ +config BR2_TARGET_SCPFIRMWARE + bool + depends on BR2_aarch64 + +if BR2_TARGET_SCPFIRMWARE + +config BR2_TARGET_SCPFIRMWARE_VERSION + string + default BR2_TARGET_SCPFIRMWARE_CUSTOM_GIT_VERSION + +config BR2_TARGET_SCPFIRMWARE_CUSTOM_GIT + bool + default "y" + +config BR2_TARGET_SCPFIRMWARE_CUSTOM_GIT_REPO_URL + string + default "https://git.linaro.org/arm/vexpress-firmware.git" + +config BR2_TARGET_SCPFIRMWARE_CUSTOM_GIT_VERSION + string + default "901f81977c3b367a2e0bf3d6444be302822d97a3" + +endif
boot/scpfirmware/scpfirmware.mk new file +18 -0
@@ -0,0 +1,18 @@ +################################################################################ +# +# System Control Processor (SCP) Firmware +# +################################################################################ + +SCPFIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_SCPFIRMWARE_VERSION)) +SCPFIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_SCPFIRMWARE_CUSTOM_GIT_REPO_URL)) +SCPFIRMWARE_SITE_METHOD = git + +SCPFIRMWARE_INSTALL_IMAGES = YES + +define SCPFIRMWARE_INSTALL_IMAGES_CMDS + mv $(@D)/SOFTWARE/bl30.bin $(@D)/SOFTWARE/scp-fw.bin ; \ + cp -dpf $(@D)/SOFTWARE/scp-fw.bin $(BINARIES_DIR)/ ; +endef + +$(eval $(generic-package))
Signature · 1 line
1.8.1.5
PATCH v3 3/3 configs: add u-boot and atfirmware options to juno
In reply to Joao Pinto--- board/arm/juno/readme.txt | 21 ++++++++++++++++++--- configs/arm_juno_defconfig | 9 +++++++++ 2 files changed, 27 insertions(+), 3 deletions(-)
board/arm/juno/readme.txt +18 -3
@@ -7,8 +7,8 @@ These instructions apply to all models of the ARM Juno: - Juno r0 (does not support PCIe) - Juno r1 (supports PCIe) -Buildroot will generate the kernel image, device tree blob and a -minimal root filesystem. +Buildroot will generate the kernel image, device tree blob, bootloader binaries +and a minimal root filesystem. How to build it ===============
@@ -42,6 +42,20 @@ After building, you should obtain this tree: +-- juno.dtb (if Juno r0 is used) +-- juno-r1.dtb (if Juno r1 is used) +-- Image + +-- bl1.bin + +-- bl2.bin + +-- bl2u.bin + +-- bl31.bin + +-- fip.bin + +-- scp-fw.bin + +-- u-boot.bin + +Preparing your rootfs +====================== + +Format your pen drive as a ext3 filesystem by executing: + + $ mkfs.ext3 /dev/<your device> Preparing your rootfs ======================
@@ -98,7 +112,8 @@ Installing kernel image and DTB 3. Open the software/ folder 4. Copy the 'Image' file to software/ 5. Copy the 'juno-r1.dtb' (r1) or the 'juno.dtb' (r0) file to software/ -6. Press the red button in the front pannel of ARM Juno +6. Copy the bootloader binaries (bl1.bin and fip.bin) to software/ +7. Press the red button in the front pannel of ARM Juno At this time, the board will erase the Flash entry for each new item and replace it with the lastest ones.
configs/arm_juno_defconfig +9 -0
@@ -12,3 +12,12 @@ BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="board/arm/juno/linux-juno-defconfig" BR2_LINUX_KERNEL_DTS_SUPPORT=y BR2_LINUX_KERNEL_INTREE_DTS_NAME="arm/juno arm/juno-r1" +BR2_TARGET_ATFIRMWARE=y +BR2_TARGET_ATFIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ATFIRMWARE_CUSTOM_GIT_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ATFIRMWARE_CUSTOM_GIT_VERSION="v1.2" +BR2_TARGET_ATFIRMWARE_PLATFORM="juno" +BR2_TARGET_UBOOT=y +BR2_TARGET_UBOOT_BOARDNAME="vexpress_aemv8a_juno" +BR2_TARGET_UBOOT_CUSTOM_VERSION=y +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2016.03"
Signature · 1 line
1.8.1.5
v3 cover new packages: atfirmware and scpfirmware
In reply to Joao PintoHello,
Quoted 8 lines · Joao Pinto
This patch adds to buildroot an important package for ARM64 based development
boards: The ARM Trusted Firmware (atfirmware).
It also adds the scpfirmware which is a hidden package to get the System Control Processor (SCP) binary to be included in the bootloader (fip image), which is a requirement for ARM Juno's board. With this 2 packages, Juno gets fully supported in the Buildroot.Tested-by Liviu Dudau <[email protected]>
I sent a new iteration of your patches, see
http://lists.busybox.net/pipermail/buildroot/2016-October/174316.html.
Sorry I forgot to Cc you on this.
Best regards,
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com