From 87b06f3a803a26b4d6822646ef3c2be0210ba163 Mon Sep 17 00:00:00 2001 From: Peter Korsgaard Date: Sat, 6 Nov 2021 18:29:54 +0100 Subject: [PATCH] boot/sun20i-d1-spl: new package U-Boot does not yet have SPL code to initialize the DDR controller on the Allwinner D1 - So instead package the sun20i-d1-spl bootloader, which is based on boot0 from the Allwinner BSP with some modifications to build it separately from the BSP and boot mainline U-Boot as explained on the linux-sunxi wiki: https://linux-sunxi.org/Allwinner_Nezha Signed-off-by: Peter Korsgaard --- DEVELOPERS | 1 + boot/Config.in | 1 + boot/sun20i-d1-spl/Config.in | 8 ++++++++ boot/sun20i-d1-spl/sun20i-d1-spl.hash | 2 ++ boot/sun20i-d1-spl/sun20i-d1-spl.mk | 23 +++++++++++++++++++++++ 5 files changed, 35 insertions(+) create mode 100644 boot/sun20i-d1-spl/Config.in create mode 100644 boot/sun20i-d1-spl/sun20i-d1-spl.hash create mode 100644 boot/sun20i-d1-spl/sun20i-d1-spl.mk diff --git a/DEVELOPERS b/DEVELOPERS index a2d34fdcc7..19d527b396 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -2112,6 +2112,7 @@ F: board/orangepi/ F: board/pandaboard/ F: board/roseapplepi/ F: boot/shim/ +F: boot/sun20i-d1-spl/ F: configs/avenger96_defconfig F: configs/beagleboneai_defconfig F: configs/lafrite_defconfig diff --git a/boot/Config.in b/boot/Config.in index ff98a49796..40472ae07d 100644 --- a/boot/Config.in +++ b/boot/Config.in @@ -20,6 +20,7 @@ source "boot/optee-os/Config.in" source "boot/opensbi/Config.in" source "boot/s500-bootloader/Config.in" source "boot/shim/Config.in" +source "boot/sun20i-d1-spl/Config.in" source "boot/syslinux/Config.in" source "boot/uboot/Config.in" source "boot/vexpress-firmware/Config.in" diff --git a/boot/sun20i-d1-spl/Config.in b/boot/sun20i-d1-spl/Config.in new file mode 100644 index 0000000000..9d94d87b1c --- /dev/null +++ b/boot/sun20i-d1-spl/Config.in @@ -0,0 +1,8 @@ +config BR2_TARGET_SUN20I_D1_SPL + bool "sun20-d1-spl" + depends on BR2_RISCV_64 + help + Allwinner D1 boot0 code with modifications to use as U-Boot + SPL. + + https://github.com/smaeul/sun20i_d1_spl diff --git a/boot/sun20i-d1-spl/sun20i-d1-spl.hash b/boot/sun20i-d1-spl/sun20i-d1-spl.hash new file mode 100644 index 0000000000..6ca60e5278 --- /dev/null +++ b/boot/sun20i-d1-spl/sun20i-d1-spl.hash @@ -0,0 +1,2 @@ +# Locally computed +sha256 69063601239a7254fb72e486b138d88a6f2b5c645b24cdfe9792123f975d4a8f sun20i-d1-spl-771192d0b3737798d7feca87263c8fa74a449787.tar.gz diff --git a/boot/sun20i-d1-spl/sun20i-d1-spl.mk b/boot/sun20i-d1-spl/sun20i-d1-spl.mk new file mode 100644 index 0000000000..2462ce2322 --- /dev/null +++ b/boot/sun20i-d1-spl/sun20i-d1-spl.mk @@ -0,0 +1,23 @@ +################################################################################ +# +# sun20i-d1-spl +# +################################################################################ + +# Commit on the 'mainline' branch +SUN20I_D1_SPL_VERSION = 771192d0b3737798d7feca87263c8fa74a449787 +SUN20I_D1_SPL_SITE = $(call github,smaeul,sun20i_d1_spl,$(SUN20I_D1_SPL_VERSION)) +SUN20I_D1_SPL_INSTALL_TARGET = NO +SUN20I_D1_SPL_INSTALL_IMAGES = YES +SUN20I_D1_SPL_LICENSE = GPL-2.0+ + +define SUN20I_D1_SPL_BUILD_CMDS + $(MAKE) -C $(@D) CROSS_COMPILE="$(TARGET_CROSS)" p=sun20iw1p1 mmc +endef + +define SUN20I_D1_SPL_INSTALL_IMAGES_CMDS + $(INSTALL) -D -m 0644 $(@D)/nboot/boot0_sdcard_sun20iw1p1.bin \ + $(BINARIES_DIR)/boot0_sdcard_sun20iw1p1.bin +endef + +$(eval $(generic-package))