diff mbox series

[v3,6/7] boot/beaglev-secondboot: new package

Message ID 20210504205139.1055360-7-thomas.petazzoni@bootlin.com
State Accepted
Headers show
Series Support for the BeagleV platform | expand

Commit Message

Thomas Petazzoni May 4, 2021, 8:51 p.m. UTC
This packages allows to build the first stage bootloader used on the
BeagleV, which is used even before the DDR initialization and
OpenSBI/U-Boot. Yes, "secondboot" is strange for what is the first
stage bootloader, but that's the upstream name.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
---
 DEVELOPERS                                    |  1 +
 boot/Config.in                                |  1 +
 boot/beaglev-secondboot/Config.in             |  9 ++++++
 boot/beaglev-secondboot/beaglev-secondboot.mk | 29 +++++++++++++++++++
 4 files changed, 40 insertions(+)
 create mode 100644 boot/beaglev-secondboot/Config.in
 create mode 100644 boot/beaglev-secondboot/beaglev-secondboot.mk

Comments

Yann E. MORIN May 7, 2021, 10:07 p.m. UTC | #1
On 2021-05-04 22:51 +0200, Thomas Petazzoni spake thusly:
> This packages allows to build the first stage bootloader used on the
> BeagleV, which is used even before the DDR initialization and
> OpenSBI/U-Boot. Yes, "secondboot" is strange for what is the first
> stage bootloader, but that's the upstream name.

I've added a hash file.

I also changed the comment to not mention 'HEAD' since this will no
longer be the case when upstream pushes a new commit.

Applied to master, thanks.

Regards,
Yann E. MORIN.

> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
> ---
>  DEVELOPERS                                    |  1 +
>  boot/Config.in                                |  1 +
>  boot/beaglev-secondboot/Config.in             |  9 ++++++
>  boot/beaglev-secondboot/beaglev-secondboot.mk | 29 +++++++++++++++++++
>  4 files changed, 40 insertions(+)
>  create mode 100644 boot/beaglev-secondboot/Config.in
>  create mode 100644 boot/beaglev-secondboot/beaglev-secondboot.mk
> 
> diff --git a/DEVELOPERS b/DEVELOPERS
> index 39bc71ea34..1d786b6ffa 100644
> --- a/DEVELOPERS
> +++ b/DEVELOPERS
> @@ -2605,6 +2605,7 @@ F:	arch/Config.in.arm
>  F:	board/beaglev/
>  F:	board/stmicroelectronics/stm32mp157c-dk2/
>  F:	boot/beaglev-ddrinit/
> +F:	boot/beaglev-secondboot/
>  F:	boot/boot-wrapper-aarch64/
>  F:	boot/grub2/
>  F:	boot/gummiboot/
> diff --git a/boot/Config.in b/boot/Config.in
> index f581205c6c..08d9ac06b2 100644
> --- a/boot/Config.in
> +++ b/boot/Config.in
> @@ -7,6 +7,7 @@ source "boot/at91dataflashboot/Config.in"
>  source "boot/arm-trusted-firmware/Config.in"
>  source "boot/barebox/Config.in"
>  source "boot/beaglev-ddrinit/Config.in"
> +source "boot/beaglev-secondboot/Config.in"
>  source "boot/binaries-marvell/Config.in"
>  source "boot/boot-wrapper-aarch64/Config.in"
>  source "boot/grub2/Config.in"
> diff --git a/boot/beaglev-secondboot/Config.in b/boot/beaglev-secondboot/Config.in
> new file mode 100644
> index 0000000000..a9695fc138
> --- /dev/null
> +++ b/boot/beaglev-secondboot/Config.in
> @@ -0,0 +1,9 @@
> +config BR2_TARGET_BEAGLEV_SECONDBOOT
> +	bool "beaglev-secondboot"
> +	depends on BR2_riscv
> +	depends on BR2_HOSTARCH = "x86_64" # host-riscv64-elf-toolchain
> +	help
> +	  This package builds the SecondBoot firmware used on the
> +	  BeagleV platform.
> +
> +	  https://github.com/starfive-tech/beagle_secondBoot
> diff --git a/boot/beaglev-secondboot/beaglev-secondboot.mk b/boot/beaglev-secondboot/beaglev-secondboot.mk
> new file mode 100644
> index 0000000000..f3b255fb0c
> --- /dev/null
> +++ b/boot/beaglev-secondboot/beaglev-secondboot.mk
> @@ -0,0 +1,29 @@
> +################################################################################
> +#
> +# beaglev-secondboot
> +#
> +################################################################################
> +
> +# HEAD of the starfive branch
> +BEAGLEV_SECONDBOOT_VERSION = a4f0b4307f877890f998b3216cffcc9f27a5f993
> +BEAGLEV_SECONDBOOT_SITE = $(call github,starfive-tech,beagle_secondBoot,$(BEAGLEV_SECONDBOOT_VERSION))
> +BEAGLEV_SECONDBOOT_INSTALL_TARGET = NO
> +BEAGLEV_SECONDBOOT_INSTALL_IMAGES = YES
> +BEAGLEV_SECONDBOOT_DEPENDENCIES = host-riscv64-elf-toolchain
> +# unfortunately, no real license file, but several sources files are
> +# under GPL-2.0+, making the whole work GPL-2.0+
> +BEAGLEV_SECONDBOOT_LICENSE = GPL-2.0+
> +
> +define BEAGLEV_SECONDBOOT_BUILD_CMDS
> +	$(MAKE) -C $(@D)/build \
> +		CROSSCOMPILE=$(HOST_DIR)/bin/riscv64-unknown-elf- \
> +		SUFFIX=buildroot \
> +		GIT_VERSION=$(BEAGLEV_SECONDBOOT_VERSION)
> +endef
> +
> +define BEAGLEV_SECONDBOOT_INSTALL_IMAGES_CMDS
> +	$(INSTALL) -D -m 0644 $(@D)/build/bootloader-BEAGLEV-buildroot.bin.out \
> +		$(BINARIES_DIR)/bootloader-BEAGLEV-buildroot.bin.out
> +endef
> +
> +$(eval $(generic-package))
> -- 
> 2.30.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
diff mbox series

Patch

diff --git a/DEVELOPERS b/DEVELOPERS
index 39bc71ea34..1d786b6ffa 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -2605,6 +2605,7 @@  F:	arch/Config.in.arm
 F:	board/beaglev/
 F:	board/stmicroelectronics/stm32mp157c-dk2/
 F:	boot/beaglev-ddrinit/
+F:	boot/beaglev-secondboot/
 F:	boot/boot-wrapper-aarch64/
 F:	boot/grub2/
 F:	boot/gummiboot/
diff --git a/boot/Config.in b/boot/Config.in
index f581205c6c..08d9ac06b2 100644
--- a/boot/Config.in
+++ b/boot/Config.in
@@ -7,6 +7,7 @@  source "boot/at91dataflashboot/Config.in"
 source "boot/arm-trusted-firmware/Config.in"
 source "boot/barebox/Config.in"
 source "boot/beaglev-ddrinit/Config.in"
+source "boot/beaglev-secondboot/Config.in"
 source "boot/binaries-marvell/Config.in"
 source "boot/boot-wrapper-aarch64/Config.in"
 source "boot/grub2/Config.in"
diff --git a/boot/beaglev-secondboot/Config.in b/boot/beaglev-secondboot/Config.in
new file mode 100644
index 0000000000..a9695fc138
--- /dev/null
+++ b/boot/beaglev-secondboot/Config.in
@@ -0,0 +1,9 @@ 
+config BR2_TARGET_BEAGLEV_SECONDBOOT
+	bool "beaglev-secondboot"
+	depends on BR2_riscv
+	depends on BR2_HOSTARCH = "x86_64" # host-riscv64-elf-toolchain
+	help
+	  This package builds the SecondBoot firmware used on the
+	  BeagleV platform.
+
+	  https://github.com/starfive-tech/beagle_secondBoot
diff --git a/boot/beaglev-secondboot/beaglev-secondboot.mk b/boot/beaglev-secondboot/beaglev-secondboot.mk
new file mode 100644
index 0000000000..f3b255fb0c
--- /dev/null
+++ b/boot/beaglev-secondboot/beaglev-secondboot.mk
@@ -0,0 +1,29 @@ 
+################################################################################
+#
+# beaglev-secondboot
+#
+################################################################################
+
+# HEAD of the starfive branch
+BEAGLEV_SECONDBOOT_VERSION = a4f0b4307f877890f998b3216cffcc9f27a5f993
+BEAGLEV_SECONDBOOT_SITE = $(call github,starfive-tech,beagle_secondBoot,$(BEAGLEV_SECONDBOOT_VERSION))
+BEAGLEV_SECONDBOOT_INSTALL_TARGET = NO
+BEAGLEV_SECONDBOOT_INSTALL_IMAGES = YES
+BEAGLEV_SECONDBOOT_DEPENDENCIES = host-riscv64-elf-toolchain
+# unfortunately, no real license file, but several sources files are
+# under GPL-2.0+, making the whole work GPL-2.0+
+BEAGLEV_SECONDBOOT_LICENSE = GPL-2.0+
+
+define BEAGLEV_SECONDBOOT_BUILD_CMDS
+	$(MAKE) -C $(@D)/build \
+		CROSSCOMPILE=$(HOST_DIR)/bin/riscv64-unknown-elf- \
+		SUFFIX=buildroot \
+		GIT_VERSION=$(BEAGLEV_SECONDBOOT_VERSION)
+endef
+
+define BEAGLEV_SECONDBOOT_INSTALL_IMAGES_CMDS
+	$(INSTALL) -D -m 0644 $(@D)/build/bootloader-BEAGLEV-buildroot.bin.out \
+		$(BINARIES_DIR)/bootloader-BEAGLEV-buildroot.bin.out
+endef
+
+$(eval $(generic-package))