* [Buildroot] [PATCH v4 0/3] ARM Trusted Firmware packages
@ 2016-10-15 8:03 Thomas Petazzoni
2016-10-15 8:03 ` [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package Thomas Petazzoni
` (2 more replies)
0 siblings, 3 replies; 12+ messages in thread
From: Thomas Petazzoni @ 2016-10-15 8:03 UTC (permalink / raw)
To: buildroot
Hello,
Here is a new iteration of Joao Pinto's patches to add packages for
the ARM Trusted Firmware bootloader, and the SCP Firmware used on the
ARM Juno platform.
The vexpress-firmware that contains the SCP Firmware is specific to
the ARM Juno.
The ARM Trusted Firmware package however can be used for other
platforms: lots of ARM64 platforms use ATF.
This new iteration improves a number of things compared to Joao's
proposal, the detailed changes are visible in the packages commit log
themselves.
Thomas
Joao Pinto (3):
vexpress-firmware: new package
arm-trusted-firmware: new package
configs/arm_juno: add the bootloader build
board/arm/juno/readme.txt | 21 ++++++-
boot/Config.in | 2 +
boot/arm-trusted-firmware/Config.in | 65 ++++++++++++++++++++
.../arm-trusted-firmware/arm-trusted-firmware.hash | 3 +
boot/arm-trusted-firmware/arm-trusted-firmware.mk | 69 ++++++++++++++++++++++
boot/vexpress-firmware/Config.in | 6 ++
boot/vexpress-firmware/vexpress-firmware.mk | 20 +++++++
configs/arm_juno_defconfig | 10 ++++
8 files changed, 193 insertions(+), 3 deletions(-)
create mode 100644 boot/arm-trusted-firmware/Config.in
create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.hash
create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.mk
create mode 100644 boot/vexpress-firmware/Config.in
create mode 100644 boot/vexpress-firmware/vexpress-firmware.mk
--
2.7.4
^ permalink raw reply [flat|nested] 12+ messages in thread* [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package 2016-10-15 8:03 [Buildroot] [PATCH v4 0/3] ARM Trusted Firmware packages Thomas Petazzoni @ 2016-10-15 8:03 ` Thomas Petazzoni 2016-10-15 9:13 ` Yann E. MORIN ` (2 more replies) 2016-10-15 8:03 ` [Buildroot] [PATCH v4 2/3] arm-trusted-firmware: " Thomas Petazzoni 2016-10-15 8:03 ` [Buildroot] [PATCH v4 3/3] configs/arm_juno: add the bootloader build Thomas Petazzoni 2 siblings, 3 replies; 12+ messages in thread From: Thomas Petazzoni @ 2016-10-15 8:03 UTC (permalink / raw) To: buildroot From: Joao Pinto <jpinto@synopsys.com> This commit adds a new package for the SCP (System Control Processor) firmware for the ARM reference platforms. There will most likely be other SCP firmware provided by other vendors, but they might be provided in a different form, so we for now create a vendor-specific package named vexpress-firmware. Since this firmware is used for booting, we create the package in boot/ and not in package/. The package simply installs a single pre-built binary file into the images directory. Signed-off-by: Joao Pinto <jpinto@synopsys.com> [Thomas: - Rename the package from scpfirmware to vexpress-firmware. - Add a Config.in prompt for the package. - Remove the prompt-less Config.in options to select the Git repo and version. Since we only support the Vexpress firmware, there's no need for configurability here, so we just use the right Git repo/version in the .mk file. - Use $(INSTALL) -D to install the firmware file. - Add license information.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- boot/Config.in | 1 + boot/vexpress-firmware/Config.in | 6 ++++++ boot/vexpress-firmware/vexpress-firmware.mk | 20 ++++++++++++++++++++ 3 files changed, 27 insertions(+) create mode 100644 boot/vexpress-firmware/Config.in create mode 100644 boot/vexpress-firmware/vexpress-firmware.mk diff --git a/boot/Config.in b/boot/Config.in index 677e5f0..6ffacc6 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -15,6 +15,7 @@ source "boot/s500-bootloader/Config.in" source "boot/syslinux/Config.in" source "boot/ts4800-mbrboot/Config.in" source "boot/uboot/Config.in" +source "boot/vexpress-firmware/Config.in" source "boot/xloader/Config.in" endmenu diff --git a/boot/vexpress-firmware/Config.in b/boot/vexpress-firmware/Config.in new file mode 100644 index 0000000..8479df3 --- /dev/null +++ b/boot/vexpress-firmware/Config.in @@ -0,0 +1,6 @@ +config BR2_TARGET_VEXPRESS_FIRMWARE + bool "vexpress-firmware" + depends on BR2_aarch64 + help + Versatile Express firmware from ARM, with Linaro mods last + change. diff --git a/boot/vexpress-firmware/vexpress-firmware.mk b/boot/vexpress-firmware/vexpress-firmware.mk new file mode 100644 index 0000000..693a9cb --- /dev/null +++ b/boot/vexpress-firmware/vexpress-firmware.mk @@ -0,0 +1,20 @@ +################################################################################ +# +# vexpress-firmware +# +################################################################################ + +VEXPRESS_FIRMWARE_VERSION = 901f81977c3b367a2e0bf3d6444be302822d97a3 +VEXPRESS_FIRMWARE_SITE = https://git.linaro.org/arm/vexpress-firmware.git +VEXPRESS_FIRMWARE_SITE_METHOD = git +# The only available license files are in PDF and RTF formats, and we +# support only plain text. +VEXPRESS_FIRMWARE_LICENSE = ARM EULA + +VEXPRESS_FIRMWARE_INSTALL_IMAGES = YES + +define VEXPRESS_FIRMWARE_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/SOFTWARE/bl30.bin $(BINARIES_DIR)/scp-fw.bin +endef + +$(eval $(generic-package)) -- 2.7.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package 2016-10-15 8:03 ` [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package Thomas Petazzoni @ 2016-10-15 9:13 ` Yann E. MORIN 2016-10-15 10:50 ` Thomas Petazzoni 2016-10-15 11:10 ` Thomas Petazzoni 2 siblings, 0 replies; 12+ messages in thread From: Yann E. MORIN @ 2016-10-15 9:13 UTC (permalink / raw) To: buildroot Thomas, Joao, All, On 2016-10-15 10:03 +0200, Thomas Petazzoni spake thusly: > From: Joao Pinto <jpinto@synopsys.com> > > This commit adds a new package for the SCP (System Control Processor) > firmware for the ARM reference platforms. There will most likely be > other SCP firmware provided by other vendors, but they might be provided > in a different form, so we for now create a vendor-specific package > named vexpress-firmware. > > Since this firmware is used for booting, we create the package in boot/ > and not in package/. > > The package simply installs a single pre-built binary file into the > images directory. > > Signed-off-by: Joao Pinto <jpinto@synopsys.com> > [Thomas: > - Rename the package from scpfirmware to vexpress-firmware. > - Add a Config.in prompt for the package. > - Remove the prompt-less Config.in options to select the Git repo and > version. Since we only support the Vexpress firmware, there's no need > for configurability here, so we just use the right Git repo/version > in the .mk file. > - Use $(INSTALL) -D to install the firmware file. > - Add license information.] > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> No hash file? ;-) Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Regards, Yann E. MORIN. > --- > boot/Config.in | 1 + > boot/vexpress-firmware/Config.in | 6 ++++++ > boot/vexpress-firmware/vexpress-firmware.mk | 20 ++++++++++++++++++++ > 3 files changed, 27 insertions(+) > create mode 100644 boot/vexpress-firmware/Config.in > create mode 100644 boot/vexpress-firmware/vexpress-firmware.mk > > diff --git a/boot/Config.in b/boot/Config.in > index 677e5f0..6ffacc6 100644 > --- a/boot/Config.in > +++ b/boot/Config.in > @@ -15,6 +15,7 @@ source "boot/s500-bootloader/Config.in" > source "boot/syslinux/Config.in" > source "boot/ts4800-mbrboot/Config.in" > source "boot/uboot/Config.in" > +source "boot/vexpress-firmware/Config.in" > source "boot/xloader/Config.in" > > endmenu > diff --git a/boot/vexpress-firmware/Config.in b/boot/vexpress-firmware/Config.in > new file mode 100644 > index 0000000..8479df3 > --- /dev/null > +++ b/boot/vexpress-firmware/Config.in > @@ -0,0 +1,6 @@ > +config BR2_TARGET_VEXPRESS_FIRMWARE > + bool "vexpress-firmware" > + depends on BR2_aarch64 > + help > + Versatile Express firmware from ARM, with Linaro mods last > + change. > diff --git a/boot/vexpress-firmware/vexpress-firmware.mk b/boot/vexpress-firmware/vexpress-firmware.mk > new file mode 100644 > index 0000000..693a9cb > --- /dev/null > +++ b/boot/vexpress-firmware/vexpress-firmware.mk > @@ -0,0 +1,20 @@ > +################################################################################ > +# > +# vexpress-firmware > +# > +################################################################################ > + > +VEXPRESS_FIRMWARE_VERSION = 901f81977c3b367a2e0bf3d6444be302822d97a3 > +VEXPRESS_FIRMWARE_SITE = https://git.linaro.org/arm/vexpress-firmware.git > +VEXPRESS_FIRMWARE_SITE_METHOD = git > +# The only available license files are in PDF and RTF formats, and we > +# support only plain text. > +VEXPRESS_FIRMWARE_LICENSE = ARM EULA > + > +VEXPRESS_FIRMWARE_INSTALL_IMAGES = YES > + > +define VEXPRESS_FIRMWARE_INSTALL_IMAGES_CMDS > + $(INSTALL) -D -m 0644 $(@D)/SOFTWARE/bl30.bin $(BINARIES_DIR)/scp-fw.bin > +endef > + > +$(eval $(generic-package)) > -- > 2.7.4 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package 2016-10-15 8:03 ` [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package Thomas Petazzoni 2016-10-15 9:13 ` Yann E. MORIN @ 2016-10-15 10:50 ` Thomas Petazzoni 2016-10-17 10:57 ` Joao Pinto 2016-10-15 11:10 ` Thomas Petazzoni 2 siblings, 1 reply; 12+ messages in thread From: Thomas Petazzoni @ 2016-10-15 10:50 UTC (permalink / raw) To: buildroot Hello, On Sat, 15 Oct 2016 10:03:41 +0200, Thomas Petazzoni wrote: > From: Joao Pinto <jpinto@synopsys.com> > > This commit adds a new package for the SCP (System Control Processor) > firmware for the ARM reference platforms. There will most likely be > other SCP firmware provided by other vendors, but they might be provided > in a different form, so we for now create a vendor-specific package > named vexpress-firmware. > > Since this firmware is used for booting, we create the package in boot/ > and not in package/. > > The package simply installs a single pre-built binary file into the > images directory. > > Signed-off-by: Joao Pinto <jpinto@synopsys.com> > [Thomas: > - Rename the package from scpfirmware to vexpress-firmware. > - Add a Config.in prompt for the package. > - Remove the prompt-less Config.in options to select the Git repo and > version. Since we only support the Vexpress firmware, there's no need > for configurability here, so we just use the right Git repo/version > in the .mk file. > - Use $(INSTALL) -D to install the firmware file. > - Add license information.] > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > --- > boot/Config.in | 1 + > boot/vexpress-firmware/Config.in | 6 ++++++ > boot/vexpress-firmware/vexpress-firmware.mk | 20 ++++++++++++++++++++ > 3 files changed, 27 insertions(+) > create mode 100644 boot/vexpress-firmware/Config.in > create mode 100644 boot/vexpress-firmware/vexpress-firmware.mk Applied to master, after adding a hash file, as suggested by Yann. Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package 2016-10-15 10:50 ` Thomas Petazzoni @ 2016-10-17 10:57 ` Joao Pinto 0 siblings, 0 replies; 12+ messages in thread From: Joao Pinto @ 2016-10-17 10:57 UTC (permalink / raw) To: buildroot Hi Thomas and Yann, Thanks for the review and extra-effort. Joao On 10/15/2016 11:50 AM, Thomas Petazzoni wrote: > Hello, > > On Sat, 15 Oct 2016 10:03:41 +0200, Thomas Petazzoni wrote: >> From: Joao Pinto <jpinto@synopsys.com> >> >> This commit adds a new package for the SCP (System Control Processor) >> firmware for the ARM reference platforms. There will most likely be >> other SCP firmware provided by other vendors, but they might be provided >> in a different form, so we for now create a vendor-specific package >> named vexpress-firmware. >> >> Since this firmware is used for booting, we create the package in boot/ >> and not in package/. >> >> The package simply installs a single pre-built binary file into the >> images directory. >> >> Signed-off-by: Joao Pinto <jpinto@synopsys.com> >> [Thomas: >> - Rename the package from scpfirmware to vexpress-firmware. >> - Add a Config.in prompt for the package. >> - Remove the prompt-less Config.in options to select the Git repo and >> version. Since we only support the Vexpress firmware, there's no need >> for configurability here, so we just use the right Git repo/version >> in the .mk file. >> - Use $(INSTALL) -D to install the firmware file. >> - Add license information.] >> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> >> --- >> boot/Config.in | 1 + >> boot/vexpress-firmware/Config.in | 6 ++++++ >> boot/vexpress-firmware/vexpress-firmware.mk | 20 ++++++++++++++++++++ >> 3 files changed, 27 insertions(+) >> create mode 100644 boot/vexpress-firmware/Config.in >> create mode 100644 boot/vexpress-firmware/vexpress-firmware.mk > > Applied to master, after adding a hash file, as suggested by Yann. > > Thomas > ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package 2016-10-15 8:03 ` [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package Thomas Petazzoni 2016-10-15 9:13 ` Yann E. MORIN 2016-10-15 10:50 ` Thomas Petazzoni @ 2016-10-15 11:10 ` Thomas Petazzoni 2016-10-17 10:56 ` Joao Pinto 2 siblings, 1 reply; 12+ messages in thread From: Thomas Petazzoni @ 2016-10-15 11:10 UTC (permalink / raw) To: buildroot Hello, On Sat, 15 Oct 2016 10:03:41 +0200, Thomas Petazzoni wrote: > +VEXPRESS_FIRMWARE_VERSION = 901f81977c3b367a2e0bf3d6444be302822d97a3 > +VEXPRESS_FIRMWARE_SITE = https://git.linaro.org/arm/vexpress-firmware.git Joao, this is an old version of the firmware. Can you test with a newer version? Indeed, this old version in fact doesn't have any license file in the tree. Newer versions have license.pdf and license.rtf files. Best regards, Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package 2016-10-15 11:10 ` Thomas Petazzoni @ 2016-10-17 10:56 ` Joao Pinto [not found] ` <20161017121541.GI8762@e106497-lin.cambridge.arm.com> 0 siblings, 1 reply; 12+ messages in thread From: Joao Pinto @ 2016-10-17 10:56 UTC (permalink / raw) To: buildroot Hi Thomas, On 10/15/2016 12:10 PM, Thomas Petazzoni wrote: > Hello, > > On Sat, 15 Oct 2016 10:03:41 +0200, Thomas Petazzoni wrote: > >> +VEXPRESS_FIRMWARE_VERSION = 901f81977c3b367a2e0bf3d6444be302822d97a3 >> +VEXPRESS_FIRMWARE_SITE = https://git.linaro.org/arm/vexpress-firmware.git > > Joao, this is an old version of the firmware. Can you test with a newer > version? This was the version suggested by Liviu Dudau. @Liviu: Could you please confirm that there is more recent version that we can use? > > Indeed, this old version in fact doesn't have any license file in the > tree. Newer versions have license.pdf and license.rtf files. > > Best regards, > > Thomas > Thanks, Joao ^ permalink raw reply [flat|nested] 12+ messages in thread
[parent not found: <20161017121541.GI8762@e106497-lin.cambridge.arm.com>]
* [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package [not found] ` <20161017121541.GI8762@e106497-lin.cambridge.arm.com> @ 2016-10-17 12:19 ` Thomas Petazzoni 0 siblings, 0 replies; 12+ messages in thread From: Thomas Petazzoni @ 2016-10-17 12:19 UTC (permalink / raw) To: buildroot Hello, On Mon, 17 Oct 2016 13:15:41 +0100, Liviu Dudau wrote: > > This was the version suggested by Liviu Dudau. > > @Liviu: Could you please confirm that there is more recent version that we can use? > > I think at that time that was the latest HEAD version. You can pick any > later versions from Linaro. I suggest (for now) to use 16.08 tag. Could you send a patch doing this? It should also add the license.pdf file in the LICENSE_FILES variable. Thanks a lot! Thomas -- Thomas Petazzoni, CTO, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 2/3] arm-trusted-firmware: new package 2016-10-15 8:03 [Buildroot] [PATCH v4 0/3] ARM Trusted Firmware packages Thomas Petazzoni 2016-10-15 8:03 ` [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package Thomas Petazzoni @ 2016-10-15 8:03 ` Thomas Petazzoni 2016-10-15 10:47 ` Yann E. MORIN 2016-10-15 8:03 ` [Buildroot] [PATCH v4 3/3] configs/arm_juno: add the bootloader build Thomas Petazzoni 2 siblings, 1 reply; 12+ messages in thread From: Thomas Petazzoni @ 2016-10-15 8:03 UTC (permalink / raw) To: buildroot From: Joao Pinto <jpinto@synopsys.com> Signed-off-by: Joao Pinto <jpinto@synopsys.com> [Thomas: - Rename the package from atfirmware to arm-trusted-firmware, in order to match upstream. - Remove option to apply custom patches. We no longer add such options, and use the global patch directory instead. - Rename the repo URL/version options, in order to not be Git specific, in case support for fetching from other VCS is added later. This is consistent with how other bootloaders handle this. - Add license information. - Do not add a weird dependency on the vexpress-firmware package in Config.in. Instead, simply use it if it's available. Of course, some configurations (such as the juno configuration) will fail to build if vexpress-image is not enabled, but it's the responsibility of the user to create a config that builds. - Simplify misc aspects in the .mk file.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- boot/Config.in | 1 + boot/arm-trusted-firmware/Config.in | 65 ++++++++++++++++++++ .../arm-trusted-firmware/arm-trusted-firmware.hash | 3 + boot/arm-trusted-firmware/arm-trusted-firmware.mk | 69 ++++++++++++++++++++++ 4 files changed, 138 insertions(+) create mode 100644 boot/arm-trusted-firmware/Config.in create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.hash create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.mk diff --git a/boot/Config.in b/boot/Config.in index 6ffacc6..273c1c7 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -4,6 +4,7 @@ source "boot/afboot-stm32/Config.in" source "boot/at91bootstrap/Config.in" source "boot/at91bootstrap3/Config.in" source "boot/at91dataflashboot/Config.in" +source "boot/arm-trusted-firmware/Config.in" source "boot/barebox/Config.in" source "boot/boot-wrapper-aarch64/Config.in" source "boot/grub/Config.in" diff --git a/boot/arm-trusted-firmware/Config.in b/boot/arm-trusted-firmware/Config.in new file mode 100644 index 0000000..2df8267 --- /dev/null +++ b/boot/arm-trusted-firmware/Config.in @@ -0,0 +1,65 @@ +config BR2_TARGET_ARM_TRUSTED_FIRMWARE + bool "ARM Trusted Firmware (ATF)" + depends on BR2_aarch64 && BR2_TARGET_UBOOT + help + Enable this option if you want to build the ATF for your ARM + based embedded device. + + https://github.com/ARM-software/arm-trusted-firmware + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE +choice + prompt "ATF Version" + help + Select the specific ATF version you want to use + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION + bool "v1.2" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL + bool "Custom tarball" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT + bool "Custom Git repository" + +endchoice + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION + string "URL of custom ATF tarball" + +endif + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION + string + default "v1.2" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION + default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL + default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \ + if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT + +if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL + string "URL of custom repository" + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION + string "Custom repository version" + help + Revision to use in the typical format used by Git + E.G. a sha id, a tag, .. + +endif + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM + string "ATF platform" + help + Target plaform to build for. + +config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES + string "Additional ATF build variables" + help + Additional parameters for the ATF build + E.G. 'DEBUG=1 LOG_LEVEL=20' + +endif diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.hash b/boot/arm-trusted-firmware/arm-trusted-firmware.hash new file mode 100644 index 0000000..e048e01 --- /dev/null +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 cbdd9b770ec1ab4933fc7f9f520daea5a364bb4dc964820fb017a0cf8c7df556 arm-trusted-firmware-v1.2.tar.gz +md5 fac2c08bd74337fec2e14a98fc9f748f arm-trusted-firmware-v1.2.tar.gz diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk new file mode 100644 index 0000000..5acfab3 --- /dev/null +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk @@ -0,0 +1,69 @@ +################################################################################ +# +# arm-trusted-firmware +# +################################################################################ + +ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION)) +ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3c +ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.md + +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot + +ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) +# Handle custom ATF tarballs as specified by the configuration +ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) +ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL))) +ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL)) +BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) +else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) +ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)) +ARM_TRUSTED_FIRMWARE_SITE_METHOD = git +else +ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) +endif + +ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES + +ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM)) + +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ + CROSS_COMPILE="$(TARGET_CROSS)" \ + BL33=$(BINARIES_DIR)/u-boot.bin \ + $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ + PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) \ + all fip + +ifeq ($(BR2_TARGET_VEXPRESS_FIRMWARE),y) +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += vexpress-firmware +endif + +define ARM_TRUSTED_FIRMWARE_BUILD_CMDS + $(TARGET_CONFIGURE_OPTS) \ + $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ + $(ARM_TRUSTED_FIRMWARE_MAKE_TARGET) +endef + +define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS + cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/ +endef + +# Configuration ckeck +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR_BUILDING),yy) + +ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))),) +$(error No tarball location specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) +endif +endif + +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)),) +$(error No repository specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL) +endif +endif + +endif + +$(eval $(generic-package)) -- 2.7.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 2/3] arm-trusted-firmware: new package 2016-10-15 8:03 ` [Buildroot] [PATCH v4 2/3] arm-trusted-firmware: " Thomas Petazzoni @ 2016-10-15 10:47 ` Yann E. MORIN 0 siblings, 0 replies; 12+ messages in thread From: Yann E. MORIN @ 2016-10-15 10:47 UTC (permalink / raw) To: buildroot Thomas, Joao, All, On 2016-10-15 10:03 +0200, Thomas Petazzoni spake thusly: > From: Joao Pinto <jpinto@synopsys.com> > > Signed-off-by: Joao Pinto <jpinto@synopsys.com> > [Thomas: > - Rename the package from atfirmware to arm-trusted-firmware, in order > to match upstream. > - Remove option to apply custom patches. We no longer add such options, > and use the global patch directory instead. > - Rename the repo URL/version options, in order to not be Git specific, > in case support for fetching from other VCS is added later. This is > consistent with how other bootloaders handle this. > - Add license information. > - Do not add a weird dependency on the vexpress-firmware package in > Config.in. Instead, simply use it if it's available. Of course, some > configurations (such as the juno configuration) will fail to build if > vexpress-image is not enabled, but it's the responsibility of the > user to create a config that builds. > - Simplify misc aspects in the .mk file.] > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> > --- > boot/Config.in | 1 + > boot/arm-trusted-firmware/Config.in | 65 ++++++++++++++++++++ > .../arm-trusted-firmware/arm-trusted-firmware.hash | 3 + > boot/arm-trusted-firmware/arm-trusted-firmware.mk | 69 ++++++++++++++++++++++ > 4 files changed, 138 insertions(+) > create mode 100644 boot/arm-trusted-firmware/Config.in > create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.hash > create mode 100644 boot/arm-trusted-firmware/arm-trusted-firmware.mk [--SNIP--] > diff --git a/boot/arm-trusted-firmware/arm-trusted-firmware.mk b/boot/arm-trusted-firmware/arm-trusted-firmware.mk > new file mode 100644 > index 0000000..5acfab3 > --- /dev/null > +++ b/boot/arm-trusted-firmware/arm-trusted-firmware.mk > @@ -0,0 +1,69 @@ > +################################################################################ > +# > +# arm-trusted-firmware > +# > +################################################################################ > + > +ARM_TRUSTED_FIRMWARE_VERSION = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION)) > +ARM_TRUSTED_FIRMWARE_LICENSE = BSD-3c > +ARM_TRUSTED_FIRMWARE_LICENSE_FILES = license.md > + > +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += uboot > + > +ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) > +# Handle custom ATF tarballs as specified by the configuration > +ARM_TRUSTED_FIRMWARE_TARBALL = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) > +ARM_TRUSTED_FIRMWARE_SITE = $(patsubst %/,%,$(dir $(ARM_TRUSTED_FIRMWARE_TARBALL))) > +ARM_TRUSTED_FIRMWARE_SOURCE = $(notdir $(ARM_TRUSTED_FIRMWARE_TARBALL)) > +BR_NO_CHECK_HASH_FOR += $(ARM_TRUSTED_FIRMWARE_SOURCE) > +else ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) > +ARM_TRUSTED_FIRMWARE_SITE = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)) > +ARM_TRUSTED_FIRMWARE_SITE_METHOD = git > +else > +ARM_TRUSTED_FIRMWARE_SITE = $(call github,ARM-software,arm-trusted-firmware,$(ARM_TRUSTED_FIRMWARE_VERSION)) > +endif > + > +ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES = YES > + > +ARM_TRUSTED_FIRMWARE_PLATFORM = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM)) > + > +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \ > + CROSS_COMPILE="$(TARGET_CROSS)" \ > + BL33=$(BINARIES_DIR)/u-boot.bin \ > + $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_VARIABLES)) \ > + PLAT=$(ARM_TRUSTED_FIRMWARE_PLATFORM) \ > + all fip > + > +ifeq ($(BR2_TARGET_VEXPRESS_FIRMWARE),y) > +ARM_TRUSTED_FIRMWARE_MAKE_OPTS += SCP_BL2=$(BINARIES_DIR)/scp-fw.bin > +ARM_TRUSTED_FIRMWARE_DEPENDENCIES += vexpress-firmware > +endif > + > +define ARM_TRUSTED_FIRMWARE_BUILD_CMDS > + $(TARGET_CONFIGURE_OPTS) \ > + $(MAKE) -C $(@D) $(ARM_TRUSTED_FIRMWARE_MAKE_OPTS) \ > + $(ARM_TRUSTED_FIRMWARE_MAKE_TARGET) > +endef > + > +define ARM_TRUSTED_FIRMWARE_INSTALL_IMAGES_CMDS > + cp -dpf $(@D)/build/$(ARM_TRUSTED_FIRMWARE_PLATFORM)/release/*.bin $(BINARIES_DIR)/ Usually, we do create the destination directory before copying a bunch files in there. But that one directory, we do guarantee it exists. Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Regards, Yann E. MORIN. > +endef > + > +# Configuration ckeck > +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE)$(BR_BUILDING),yy) > + > +ifeq ($(ARM_TRUSTED_FIRMWARE_VERSION),custom) > +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION))),) > +$(error No tarball location specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL_LOCATION)) > +endif > +endif > + > +ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT),y) > +ifeq ($(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL)),) > +$(error No repository specified. Please check BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL) > +endif > +endif > + > +endif > + > +$(eval $(generic-package)) > -- > 2.7.4 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 3/3] configs/arm_juno: add the bootloader build 2016-10-15 8:03 [Buildroot] [PATCH v4 0/3] ARM Trusted Firmware packages Thomas Petazzoni 2016-10-15 8:03 ` [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package Thomas Petazzoni 2016-10-15 8:03 ` [Buildroot] [PATCH v4 2/3] arm-trusted-firmware: " Thomas Petazzoni @ 2016-10-15 8:03 ` Thomas Petazzoni 2016-10-15 11:01 ` Yann E. MORIN 2 siblings, 1 reply; 12+ messages in thread From: Thomas Petazzoni @ 2016-10-15 8:03 UTC (permalink / raw) To: buildroot From: Joao Pinto <jpinto@synopsys.com> Thanks to the recent addition of the vexpress-firmware and arm-trusted-firmware packages, this commit improves the ARM Juno defconfig to also build a bootloader. Signed-off-by: Joao Pinto <jpinto@synopsys.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> --- board/arm/juno/readme.txt | 21 ++++++++++++++++++--- configs/arm_juno_defconfig | 10 ++++++++++ 2 files changed, 28 insertions(+), 3 deletions(-) diff --git a/board/arm/juno/readme.txt b/board/arm/juno/readme.txt index 9314bb0..b292d96 100644 --- a/board/arm/juno/readme.txt +++ b/board/arm/juno/readme.txt @@ -8,8 +8,8 @@ These instructions apply to all models of the ARM Juno: - Juno r1 (supports PCIe) - Juno r2 (Big Cluster with A72) -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 =============== @@ -44,6 +44,20 @@ After building, you should obtain this tree: +-- juno-r1.dtb (if Juno r1 is used) +-- juno-r2.dtb (if Juno r2 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 ====================== @@ -113,7 +127,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), 'juno.dtb' (r0) or juno-r2.dtb (r2) 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. diff --git a/configs/arm_juno_defconfig b/configs/arm_juno_defconfig index 75ed63c..8bc3a7a 100644 --- a/configs/arm_juno_defconfig +++ b/configs/arm_juno_defconfig @@ -10,3 +10,13 @@ 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 arm/juno-r2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.2" +BR2_TARGET_ARM_TRUSTED_FIRMWARE_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" +BR2_TARGET_VEXPRESS_FIRMWARE=y -- 2.7.4 ^ permalink raw reply related [flat|nested] 12+ messages in thread
* [Buildroot] [PATCH v4 3/3] configs/arm_juno: add the bootloader build 2016-10-15 8:03 ` [Buildroot] [PATCH v4 3/3] configs/arm_juno: add the bootloader build Thomas Petazzoni @ 2016-10-15 11:01 ` Yann E. MORIN 0 siblings, 0 replies; 12+ messages in thread From: Yann E. MORIN @ 2016-10-15 11:01 UTC (permalink / raw) To: buildroot Thomas, Joao, All, On 2016-10-15 10:03 +0200, Thomas Petazzoni spake thusly: > From: Joao Pinto <jpinto@synopsys.com> > > Thanks to the recent addition of the vexpress-firmware and > arm-trusted-firmware packages, this commit improves the ARM Juno > defconfig to also build a bootloader. > > Signed-off-by: Joao Pinto <jpinto@synopsys.com> > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Regards, Yann E. MORIN. > --- > board/arm/juno/readme.txt | 21 ++++++++++++++++++--- > configs/arm_juno_defconfig | 10 ++++++++++ > 2 files changed, 28 insertions(+), 3 deletions(-) > > diff --git a/board/arm/juno/readme.txt b/board/arm/juno/readme.txt > index 9314bb0..b292d96 100644 > --- a/board/arm/juno/readme.txt > +++ b/board/arm/juno/readme.txt > @@ -8,8 +8,8 @@ These instructions apply to all models of the ARM Juno: > - Juno r1 (supports PCIe) > - Juno r2 (Big Cluster with A72) > > -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 > =============== > @@ -44,6 +44,20 @@ After building, you should obtain this tree: > +-- juno-r1.dtb (if Juno r1 is used) > +-- juno-r2.dtb (if Juno r2 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 > ====================== > @@ -113,7 +127,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), 'juno.dtb' (r0) or juno-r2.dtb (r2) 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. > diff --git a/configs/arm_juno_defconfig b/configs/arm_juno_defconfig > index 75ed63c..8bc3a7a 100644 > --- a/configs/arm_juno_defconfig > +++ b/configs/arm_juno_defconfig > @@ -10,3 +10,13 @@ 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 arm/juno-r2" > +BR2_TARGET_ARM_TRUSTED_FIRMWARE=y > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git" > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v1.2" > +BR2_TARGET_ARM_TRUSTED_FIRMWARE_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" > +BR2_TARGET_VEXPRESS_FIRMWARE=y > -- > 2.7.4 > > _______________________________________________ > buildroot mailing list > buildroot at busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot -- .-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 223 225 172 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2016-10-17 12:19 UTC | newest]
Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-10-15 8:03 [Buildroot] [PATCH v4 0/3] ARM Trusted Firmware packages Thomas Petazzoni
2016-10-15 8:03 ` [Buildroot] [PATCH v4 1/3] vexpress-firmware: new package Thomas Petazzoni
2016-10-15 9:13 ` Yann E. MORIN
2016-10-15 10:50 ` Thomas Petazzoni
2016-10-17 10:57 ` Joao Pinto
2016-10-15 11:10 ` Thomas Petazzoni
2016-10-17 10:56 ` Joao Pinto
[not found] ` <20161017121541.GI8762@e106497-lin.cambridge.arm.com>
2016-10-17 12:19 ` Thomas Petazzoni
2016-10-15 8:03 ` [Buildroot] [PATCH v4 2/3] arm-trusted-firmware: " Thomas Petazzoni
2016-10-15 10:47 ` Yann E. MORIN
2016-10-15 8:03 ` [Buildroot] [PATCH v4 3/3] configs/arm_juno: add the bootloader build Thomas Petazzoni
2016-10-15 11:01 ` Yann E. MORIN
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.