summaryrefslogtreecommitdiffstats
path: root/boot/uboot
diff options
context:
space:
mode:
Diffstat (limited to 'boot/uboot')
-rw-r--r--boot/uboot/Config.in31
-rw-r--r--boot/uboot/uboot.mk23
2 files changed, 54 insertions, 0 deletions
diff --git a/boot/uboot/Config.in b/boot/uboot/Config.in
index f0166e382b..124991d20b 100644
--- a/boot/uboot/Config.in
+++ b/boot/uboot/Config.in
@@ -368,6 +368,37 @@ config BR2_TARGET_UBOOT_ZYNQ_IMAGE
for u-boot-dtb.img file so this U-Boot format is required
to be set.
+config BR2_TARGET_UBOOT_ZYNQMP
+ bool "Boot on the Xilinx ZynqMP SoCs"
+ depends on BR2_aarch64
+ help
+ Enable options specific to the Xilinx ZynqMP family of SoCs.
+
+if BR2_TARGET_UBOOT_ZYNQMP
+
+config BR2_TARGET_UBOOT_ZYNQMP_PMUFW
+ string "PMU firmware location"
+ depends on BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG
+ help
+ Location of a PMU firmware binary.
+
+ If not empty, instructs the U-Boot build process to generate
+ a boot.bin (to be loaded by the ZynqMP boot ROM) containing
+ both the U-Boot SPL and the PMU firmware in the
+ Xilinx-specific boot format.
+
+ The value can be an absolute or relative path, and will be
+ used directly from where it is located, or an URI
+ (e.g. http://...), and it will be downloaded and used from
+ the download directory.
+
+ If empty, the generated boot.bin will not contain a PMU
+ firmware.
+
+ This feature requires U-Boot >= 2018.07.
+
+endif
+
config BR2_TARGET_UBOOT_ALTERA_SOCFPGA_IMAGE_CRC
bool "CRC image for Altera SoC FPGA (mkpimage)"
depends on BR2_arm
diff --git a/boot/uboot/uboot.mk b/boot/uboot/uboot.mk
index bf227f2893..d9c9b72e76 100644
--- a/boot/uboot/uboot.mk
+++ b/boot/uboot/uboot.mk
@@ -287,6 +287,25 @@ define UBOOT_INSTALL_IMAGES_CMDS
$(BINARIES_DIR)/boot.scr)
endef
+ifeq ($(BR2_TARGET_UBOOT_ZYNQMP),y)
+
+UBOOT_ZYNQMP_PMUFW = $(call qstrip,$(BR2_TARGET_UBOOT_ZYNQMP_PMUFW))
+
+ifneq ($(findstring ://,$(UBOOT_ZYNQMP_PMUFW)),)
+UBOOT_EXTRA_DOWNLOADS += $(UBOOT_ZYNQMP_PMUFW)
+BR_NO_CHECK_HASH_FOR += $(notdir $(UBOOT_ZYNQMP_PMUFW))
+UBOOT_ZYNQMP_PMUFW_PATH = $(UBOOT_DL_DIR)/$(notdir $(UBOOT_ZYNQMP_PMUFW))
+else ifneq ($(UBOOT_ZYNQMP_PMUFW),)
+UBOOT_ZYNQMP_PMUFW_PATH = $(shell readlink -f $(UBOOT_ZYNQMP_PMUFW))
+endif
+
+define UBOOT_ZYNQMP_KCONFIG_PMUFW
+ $(call KCONFIG_SET_OPT,CONFIG_PMUFW_INIT_FILE,"$(UBOOT_ZYNQMP_PMUFW_PATH)", \
+ $(@D)/.config)
+endef
+
+endif # BR2_TARGET_UBOOT_ZYNQMP
+
define UBOOT_INSTALL_OMAP_IFT_IMAGE
cp -dpf $(@D)/$(UBOOT_BIN_IFT) $(BINARIES_DIR)/
endef
@@ -336,6 +355,10 @@ UBOOT_DEPENDENCIES += host-mkpimage
UBOOT_POST_INSTALL_IMAGES_HOOKS += UBOOT_CRC_ALTERA_SOCFPGA_IMAGE
endif
+define UBOOT_KCONFIG_FIXUP_CMDS
+ $(UBOOT_ZYNQMP_KCONFIG_PMUFW)
+endef
+
ifeq ($(BR2_TARGET_UBOOT_ENVIMAGE),y)
ifeq ($(BR_BUILDING),y)
ifeq ($(call qstrip,$(BR2_TARGET_UBOOT_ENVIMAGE_SOURCE)),)
OpenPOWER on IntegriCloud