diff --git a/board/zynqmp/patches/uboot/0001-kbuild-cherry-pick-kbuild-fdtoverlay-changes-from-linux.patch b/board/zynqmp/patches/uboot/0001-kbuild-cherry-pick-kbuild-fdtoverlay-changes-from-linux.patch deleted file mode 100644 index cf7f101af4..0000000000 --- a/board/zynqmp/patches/uboot/0001-kbuild-cherry-pick-kbuild-fdtoverlay-changes-from-linux.patch +++ /dev/null @@ -1,198 +0,0 @@ -From: Prasad Kummari -Date: Fri, 6 Sep 2024 12:38:07 +0530 -Subject: [PATCH] kbuild: cherry-pick kbuild fdtoverlay changes from linux - -Linux commits: -15d16d6dadf6 kbuild: Add generic rule to apply fdtoverlay -44f87191d105 kbuild: parameterize the .o part of suffix-search - -The Linux commit 15d16d6dadf6 adds a generic rule in Makefile.lib -to automatically apply fdtoverlay, so that each platform doesn't -need to include a complex rule. This also automatically appends -DTC_FLAGS_foo_base += -@ to all base files - -The platform's Makefile only needs to have this now: - -foo-dtbs := foo_base.dtb foo_overlay1.dtbo foo_overlay2.dtbo -dtb-y := foo.dtb - -Signed-off-by: Prasad Kummari -Reviewed-by: Tom Rini -Signed-off-by: Michal Simek -Link: https://lore.kernel.org/r/20240906070808.1045991-2-prasad.kummari@amd.com -Upstream: https://source.denx.de/u-boot/u-boot/-/commit/10de9b5a6a5b53a37600894115685f00d3bbfc2d ---- - arch/arm/dts/Makefile | 57 ++++++++++++++++++++++++++++++++++++++++++ - scripts/Kbuild.include | 4 +++ - scripts/Makefile.build | 1 + - scripts/Makefile.lib | 27 ++++++++++++++++++++ - 4 files changed, 89 insertions(+) - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 48ca62521b8..8b6f65a61a2 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -477,6 +477,63 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += \ - zynqmp-zc1751-xm017-dc3.dtb \ - zynqmp-zc1751-xm018-dc4.dtb \ - zynqmp-zc1751-xm019-dc5.dtb -+ -+zynqmp-p-a2197-00-revA-x-prc-01-revA-dtbs := zynqmp-p-a2197-00-revA.dtb zynqmp-p-a2197-00-revA-x-prc-01-revA.dtbo -+zynqmp-p-a2197-00-revA-x-prc-02-revA-dtbs := zynqmp-p-a2197-00-revA.dtb zynqmp-p-a2197-00-revA-x-prc-02-revA.dtbo -+zynqmp-p-a2197-00-revA-x-prc-03-revA-dtbs := zynqmp-p-a2197-00-revA.dtb zynqmp-p-a2197-00-revA-x-prc-03-revA.dtbo -+zynqmp-p-a2197-00-revA-x-prc-04-revA-dtbs := zynqmp-p-a2197-00-revA.dtb zynqmp-p-a2197-00-revA-x-prc-04-revA.dtbo -+zynqmp-p-a2197-00-revA-x-prc-05-revA-dtbs := zynqmp-p-a2197-00-revA.dtb zynqmp-p-a2197-00-revA-x-prc-05-revA.dtbo -+ -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-p-a2197-00-revA-x-prc-01-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-p-a2197-00-revA-x-prc-02-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-p-a2197-00-revA-x-prc-03-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-p-a2197-00-revA-x-prc-04-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-p-a2197-00-revA-x-prc-05-revA.dtb -+ -+zynqmp-sc-vek280-revA-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vek280-revA.dtbo -+zynqmp-sc-vek280-revB-dtbs := zynqmp-sc-revC.dtb zynqmp-sc-vek280-revB.dtbo -+zynqmp-sc-vhk158-revA-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vhk158-revA.dtbo -+zynqmp-sc-vpk120-revB-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vpk120-revB.dtbo -+zynqmp-sc-vpk180-revA-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vpk180-revA.dtbo -+zynqmp-sc-vpk180-revB-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vpk180-revB.dtbo -+zynqmp-sc-vn-p-b2197-00-revA-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vn-p-b2197-00-revA.dtbo -+ -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vek280-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vek280-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vhk158-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vpk120-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vpk180-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vpk180-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vn-p-b2197-00-revA.dtb -+ -+zynqmp-sm-k26-revA-sck-kv-g-revA-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revA.dtbo -+zynqmp-sm-k26-revA-sck-kv-g-revB-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revB.dtbo -+zynqmp-smk-k26-revA-sck-kv-g-revA-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kv-g-revA.dtbo -+zynqmp-smk-k26-revA-sck-kv-g-revB-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kv-g-revB.dtbo -+ -+zynqmp-sm-k26-revA-sck-kr-g-revA-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kr-g-revA.dtbo -+zynqmp-sm-k26-revA-sck-kr-g-revB-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kr-g-revB.dtbo -+zynqmp-smk-k26-revA-sck-kr-g-revA-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kr-g-revA.dtbo -+zynqmp-smk-k26-revA-sck-kr-g-revB-dtbs := zynqmp-smk-k26-revA.dtb zynqmp-sck-kr-g-revB.dtbo -+ -+zynqmp-sm-k24-revA-sck-kd-g-revA-dtbs := zynqmp-sm-k24-revA.dtb zynqmp-sck-kd-g-revA.dtbo -+zynqmp-smk-k24-revA-sck-kd-g-revA-dtbs := zynqmp-smk-k24-revA.dtb zynqmp-sck-kd-g-revA.dtbo -+zynqmp-sm-k24-revA-sck-kv-g-revB-dtbs := zynqmp-sm-k24-revA.dtb zynqmp-sck-kv-g-revB.dtbo -+zynqmp-smk-k24-revA-sck-kv-g-revB-dtbs := zynqmp-smk-k24-revA.dtb zynqmp-sck-kv-g-revB.dtbo -+ -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kv-g-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kv-g-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k26-revA-sck-kv-g-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k26-revA-sck-kv-g-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kr-g-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kr-g-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k26-revA-sck-kr-g-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k26-revA-sck-kr-g-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k24-revA-sck-kd-g-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k24-revA-sck-kd-g-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k24-revA-sck-kv-g-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k24-revA-sck-kv-g-revB.dtb -+ - dtb-$(CONFIG_ARCH_VERSAL) += \ - versal-emb-plus-ve2302-revA.dtb \ - versal-mini.dtb \ -diff --git a/scripts/Kbuild.include b/scripts/Kbuild.include -index 62e0207f91b..5daceb26061 100644 ---- a/scripts/Kbuild.include -+++ b/scripts/Kbuild.include -@@ -31,6 +31,10 @@ baseprereq = $(basename $(notdir $<)) - # Escape single quote for use in echo statements - escsq = $(subst $(squote),'\$(squote)',$1) - -+### -+# real prerequisites without phony targets -+real-prereqs = $(filter-out $(PHONY), $^) -+ - ### - # Easy method for doing a status message - kecho := : -diff --git a/scripts/Makefile.build b/scripts/Makefile.build -index 97dd4a64f6e..b3bb8e558d3 100644 ---- a/scripts/Makefile.build -+++ b/scripts/Makefile.build -@@ -293,6 +293,7 @@ $(obj)/%.o: $(src)/%.S FORCE - - targets += $(real-objs-y) $(real-objs-m) $(lib-y) - targets += $(extra-y) $(MAKECMDGOALS) $(always) -+targets += $(real-dtb-y) $(lib-y) $(always-y) - - # Linker scripts preprocessor (.lds.S -> .lds) - # --------------------------------------------------------------------------- -diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib -index 16bbc277a9f..b867941816d 100644 ---- a/scripts/Makefile.lib -+++ b/scripts/Makefile.lib -@@ -47,6 +47,13 @@ obj-m := $(filter-out %/, $(obj-m)) - - subdir-ym := $(sort $(subdir-y) $(subdir-m)) - -+# Expand $(foo-objs) $(foo-y) etc. by replacing their individuals -+suffix-search = $(strip $(foreach s, $3, $($(1:%$(strip $2)=%$s)))) -+# List composite targets that are constructed by combining other targets -+multi-search = $(sort $(foreach m, $1, $(if $(call suffix-search, $m, $2, $3 -), $m))) -+# List primitive targets that are compiled from source files -+real-search = $(foreach m, $1, $(if $(call suffix-search, $m, $2, $3 -), $(call suffix-search, $m, $2, $3), $m)) -+ - # if $(foo-objs) exists, foo.o is a composite object - multi-used-y := $(sort $(foreach m,$(obj-y), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))), $(m)))) - multi-used-m := $(sort $(foreach m,$(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y))), $(m)))) -@@ -58,6 +65,13 @@ single-used-m := $(sort $(filter-out $(multi-used-m),$(obj-m))) - multi-objs-y := $(foreach m, $(multi-used-y), $($(m:.o=-objs)) $($(m:.o=-y))) - multi-objs-m := $(foreach m, $(multi-used-m), $($(m:.o=-objs)) $($(m:.o=-y))) - -+# Composite DTB (i.e. DTB constructed by overlay) -+multi-dtb-y := $(call multi-search, $(dtb-y), .dtb, -dtbs) -+# Primitive DTB compiled from *.dts -+real-dtb-y := $(call real-search, $(dtb-y), .dtb, -dtbs) -+# Base DTB that overlay is applied onto (each first word of $(*-dtbs) expansion) -+base-dtb-y := $(foreach m, $(multi-dtb-y), $(firstword $(call suffix-search, $m, .dtb, -dtbs))) -+ - # $(subdir-obj-y) is the list of objects in $(obj-y) which uses dir/ to - # tell kbuild to descend - subdir-obj-y := $(filter %/built-in.o, $(obj-y)) -@@ -69,6 +83,7 @@ real-objs-m := $(foreach m, $(obj-m), $(if $(strip $($(m:.o=-objs)) $($(m:.o=-y) - # Add subdir path - - extra-y := $(addprefix $(obj)/,$(extra-y)) -+always-y := $(addprefix $(obj)/,$(always-y)) - always := $(addprefix $(obj)/,$(always)) - targets := $(addprefix $(obj)/,$(targets)) - modorder := $(addprefix $(obj)/,$(modorder)) -@@ -83,6 +98,8 @@ multi-used-y := $(addprefix $(obj)/,$(multi-used-y)) - multi-used-m := $(addprefix $(obj)/,$(multi-used-m)) - multi-objs-y := $(addprefix $(obj)/,$(multi-objs-y)) - multi-objs-m := $(addprefix $(obj)/,$(multi-objs-m)) -+multi-dtb-y := $(addprefix $(obj)/,$(multi-dtb-y)) -+real-dtb-y := $(addprefix $(obj)/,$(real-dtb-y)) - subdir-ym := $(addprefix $(obj)/,$(subdir-ym)) - - # These flags are needed for modversions and compiling, so we define them here -@@ -296,6 +313,9 @@ endif - - DTC_FLAGS += $(DTC_FLAGS_$(basetarget)) - -+# Set -@ if the target is a base DTB that overlay is applied onto -+DTC_FLAGS += $(if $(filter $(patsubst $(obj)/%,%,$@), $(base-dtb-y)), -@) -+ - # Generate an assembly file to wrap the output of the device tree compiler - quiet_cmd_dt_S_dtb= DTB $@ - # Modified for U-Boot -@@ -382,6 +402,13 @@ $(obj)/%.dtbo: $(src)/%.dts $(DTC) FORCE - $(obj)/%.dtbo: $(src)/%.dtso $(DTC) FORCE - $(call if_changed_dep,dtco) - -+quiet_cmd_fdtoverlay = DTOVL $@ -+ cmd_fdtoverlay = fdtoverlay -o $@ -i $(real-prereqs) -+ -+$(multi-dtb-y): FORCE -+ $(call if_changed,fdtoverlay) -+$(call multi_depend, $(multi-dtb-y), .dtb, -dtbs) -+ - # Fonts - # --------------------------------------------------------------------------- - diff --git a/board/zynqmp/patches/uboot/0002-arm64-zynqmp-remove-overlays-and-add-new-dtb-entries-for-zynqmp.patch b/board/zynqmp/patches/uboot/0002-arm64-zynqmp-remove-overlays-and-add-new-dtb-entries-for-zynqmp.patch deleted file mode 100644 index 975200137f..0000000000 --- a/board/zynqmp/patches/uboot/0002-arm64-zynqmp-remove-overlays-and-add-new-dtb-entries-for-zynqmp.patch +++ /dev/null @@ -1,91 +0,0 @@ -From: Prasad Kummari -Date: Fri, 6 Sep 2024 12:38:08 +0530 -Subject: [PATCH] arm64: zynqmp: Remove overlays and add new dtb entries for - ZynqMP - -Remove device tree overlay (DTBO) entries for the ZynqMP target -from the Makefile. Add new device tree binaries (DTBs) for the -zynqmp-sm-k24-revA and zynqmp-smk-k24-revA configurations. - -Signed-off-by: Prasad Kummari -Signed-off-by: Michal Simek -Link: https://lore.kernel.org/r/20240906070808.1045991-3-prasad.kummari@amd.com -Upstream: https://source.denx.de/u-boot/u-boot/-/commit/290385f374fba69f9c4f473c8bd25d64935a4c82 ---- - arch/arm/dts/Makefile | 24 ++++++------------------ - 1 file changed, 6 insertions(+), 18 deletions(-) - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 8b6f65a61a2..35623380673 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -414,11 +414,6 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += \ - zynqmp-m-a2197-02-revA.dtb \ - zynqmp-m-a2197-03-revA.dtb \ - zynqmp-p-a2197-00-revA.dtb \ -- zynqmp-p-a2197-00-revA-x-prc-01-revA.dtbo \ -- zynqmp-p-a2197-00-revA-x-prc-02-revA.dtbo \ -- zynqmp-p-a2197-00-revA-x-prc-03-revA.dtbo \ -- zynqmp-p-a2197-00-revA-x-prc-04-revA.dtbo \ -- zynqmp-p-a2197-00-revA-x-prc-05-revA.dtbo \ - zynqmp-mini.dtb \ - zynqmp-mini-emmc0.dtb \ - zynqmp-mini-emmc1.dtb \ -@@ -433,23 +428,10 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += \ - zynqmp-mini-qspi-x2-stacked.dtb \ - zynqmp-sc-revB.dtb \ - zynqmp-sc-revC.dtb \ -- zynqmp-sc-vek280-revA.dtbo \ -- zynqmp-sc-vek280-revB.dtbo \ -- zynqmp-sc-vhk158-revA.dtbo \ -- zynqmp-sc-vpk120-revB.dtbo \ -- zynqmp-sc-vpk180-revA.dtbo \ -- zynqmp-sc-vpk180-revB.dtbo \ -- zynqmp-sc-vn-p-b2197-00-revA.dtbo \ -- zynqmp-sc-vm-p-m1369-00-revA.dtbo \ - zynqmp-sm-k24-revA.dtb \ - zynqmp-smk-k24-revA.dtb \ - zynqmp-sm-k26-revA.dtb \ - zynqmp-smk-k26-revA.dtb \ -- zynqmp-sck-kd-g-revA.dtbo \ -- zynqmp-sck-kr-g-revA.dtbo \ -- zynqmp-sck-kr-g-revB.dtbo \ -- zynqmp-sck-kv-g-revA.dtbo \ -- zynqmp-sck-kv-g-revB.dtbo \ - zynqmp-topic-miamimp-xilinx-xdp-v1r1.dtb \ - zynqmp-vpk120-revA.dtb \ - zynqmp-vp-x-a2785-00-revA.dtb \ -@@ -497,6 +479,7 @@ zynqmp-sc-vpk120-revB-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vpk120-revB.dtbo - zynqmp-sc-vpk180-revA-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vpk180-revA.dtbo - zynqmp-sc-vpk180-revB-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vpk180-revB.dtbo - zynqmp-sc-vn-p-b2197-00-revA-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vn-p-b2197-00-revA.dtbo -+zynqmp-sc-vm-p-b1369-00-revA-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vm-p-m1369-00-revA.dtbo - - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vek280-revA.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vek280-revB.dtb -@@ -505,6 +488,7 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vpk120-revB.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vpk180-revA.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vpk180-revB.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vn-p-b2197-00-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sc-vm-p-b1369-00-revA.dtb - - zynqmp-sm-k26-revA-sck-kv-g-revA-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revA.dtbo - zynqmp-sm-k26-revA-sck-kv-g-revB-dtbs := zynqmp-sm-k26-revA.dtb zynqmp-sck-kv-g-revB.dtbo -@@ -520,6 +504,8 @@ zynqmp-sm-k24-revA-sck-kd-g-revA-dtbs := zynqmp-sm-k24-revA.dtb zynqmp-sck-kd-g- - zynqmp-smk-k24-revA-sck-kd-g-revA-dtbs := zynqmp-smk-k24-revA.dtb zynqmp-sck-kd-g-revA.dtbo - zynqmp-sm-k24-revA-sck-kv-g-revB-dtbs := zynqmp-sm-k24-revA.dtb zynqmp-sck-kv-g-revB.dtbo - zynqmp-smk-k24-revA-sck-kv-g-revB-dtbs := zynqmp-smk-k24-revA.dtb zynqmp-sck-kv-g-revB.dtbo -+zynqmp-sm-k24-revA-sck-kr-g-revB-dtbs := zynqmp-sm-k24-revA.dtb zynqmp-sck-kr-g-revB.dtbo -+zynqmp-smk-k24-revA-sck-kr-g-revB-dtbs := zynqmp-smk-k24-revA.dtb zynqmp-sck-kr-g-revB.dtbo - - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kv-g-revA.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k26-revA-sck-kv-g-revB.dtb -@@ -533,6 +519,8 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k24-revA-sck-kd-g-revA.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k24-revA-sck-kd-g-revA.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k24-revA-sck-kv-g-revB.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k24-revA-sck-kv-g-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k24-revA-sck-kr-g-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k24-revA-sck-kr-g-revB.dtb - - dtb-$(CONFIG_ARCH_VERSAL) += \ - versal-emb-plus-ve2302-revA.dtb \ diff --git a/board/zynqmp/patches/uboot/0003-binman-add-option-for-pointing-to-separate-description.patch b/board/zynqmp/patches/uboot/0003-binman-add-option-for-pointing-to-separate-description.patch deleted file mode 100644 index 76343afcc3..0000000000 --- a/board/zynqmp/patches/uboot/0003-binman-add-option-for-pointing-to-separate-description.patch +++ /dev/null @@ -1,66 +0,0 @@ -From: Michal Simek -Date: Fri, 1 Nov 2024 10:17:54 +0100 -Subject: [PATCH] binman: Add option for pointing to separate description - -Adding binman node with target images description can be unwanted feature -but as of today there is no way to disable it. -Also on size constrained systems it is not useful to add binman description -to DTB. -Introduce BINMAN_DTB Kconfig symbol which allows separate DTB for target -from DTB for binman itself. - -Signed-off-by: Michal Simek -Link: https://lore.kernel.org/r/f1379d2587f9bf279a7a75c318aabbc1b35ee0c6.1730452668.git.michal.simek@amd.com -Upstream: https://source.denx.de/u-boot/u-boot/-/commit/d92fdb60677b3990919a4216d3452418db215224 ---- - Makefile | 11 ++++++++++- - lib/Kconfig | 9 +++++++++ - 2 files changed, 19 insertions(+), 1 deletion(-) - -diff --git a/Makefile b/Makefile -index f049d77dcaf..cb0ff66eccf 100644 ---- a/Makefile -+++ b/Makefile -@@ -1337,12 +1337,21 @@ u-boot.ldr: u-boot - # Use 'make BINMAN_VERBOSE=3' to set vebosity level - default_dt := $(if $(DEVICE_TREE),$(DEVICE_TREE),$(CONFIG_DEFAULT_DEVICE_TREE)) - -+binman_dtb := $(shell echo $(CONFIG_BINMAN_DTB)) -+ifeq ($(strip $(binman_dtb)),) -+ifeq ($(CONFIG_OF_EMBED),y) -+binman_dtb = ./dts/dt.dtb -+else -+binman_dtb = ./u-boot.dtb -+endif -+endif -+ - quiet_cmd_binman = BINMAN $@ - cmd_binman = $(srctree)/tools/binman/binman $(if $(BINMAN_DEBUG),-D) \ - $(foreach f,$(BINMAN_TOOLPATHS),--toolpath $(f)) \ - --toolpath $(objtree)/tools \ - $(if $(BINMAN_VERBOSE),-v$(BINMAN_VERBOSE)) \ -- build -u -d u-boot.dtb -O . -m \ -+ build -u -d $(binman_dtb) -O . -m \ - --allow-missing $(if $(BINMAN_ALLOW_MISSING),--ignore-missing) \ - -I . -I $(srctree) -I $(srctree)/board/$(BOARDDIR) \ - -I arch/$(ARCH)/dts -a of-list=$(CONFIG_OF_LIST) \ -diff --git a/lib/Kconfig b/lib/Kconfig -index d47df6bb1cf..a1ee51e6eae 100644 ---- a/lib/Kconfig -+++ b/lib/Kconfig -@@ -45,6 +45,15 @@ config BINMAN_FDT - locate entries in the firmware image. See binman.h for the available - functionality. - -+config BINMAN_DTB -+ string "binman DTB description" -+ depends on BINMAN -+ help -+ This enables option to point to different DTB file with binman node which -+ is outside of DTB used by the firmware. Use this option if information -+ about generated images shouldn't be the part of target binary. Or on system -+ with limited storage. -+ - config CC_OPTIMIZE_LIBS_FOR_SPEED - bool "Optimize libraries for speed" - help diff --git a/board/zynqmp/patches/uboot/0004-arm64-zynqmp-describe-empty-binman-node.patch b/board/zynqmp/patches/uboot/0004-arm64-zynqmp-describe-empty-binman-node.patch deleted file mode 100644 index b2923f6199..0000000000 --- a/board/zynqmp/patches/uboot/0004-arm64-zynqmp-describe-empty-binman-node.patch +++ /dev/null @@ -1,64 +0,0 @@ -From: Michal Simek -Date: Fri, 1 Nov 2024 10:17:56 +0100 -Subject: [PATCH] arm64: zynqmp: Describe empty binman node - -For enabling binman by default there is a need to have at least empty node -present that's why create -u-boot.dtsi with empty node to cover all ZynqMP -platforms. - -Signed-off-by: Michal Simek -Link: https://lore.kernel.org/r/14d874ad4568fa8e3178e893224fecc5c676f04c.1730452668.git.michal.simek@amd.com -Upstream: https://source.denx.de/u-boot/u-boot/-/commit/afbc1fa5f18a2eebf1cf06f62574016edc093f50 ---- - arch/arm/dts/Makefile | 1 + - arch/arm/dts/zynqmp-binman-mini.dts | 10 ++++++++++ - arch/arm/dts/zynqmp-u-boot.dtsi | 11 +++++++++++ - 3 files changed, 22 insertions(+) - create mode 100644 arch/arm/dts/zynqmp-binman-mini.dts - create mode 100644 arch/arm/dts/zynqmp-u-boot.dtsi - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 35623380673..4bdfb204ae3 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -426,6 +426,7 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += \ - zynqmp-mini-qspi-x1-stacked.dtb \ - zynqmp-mini-qspi-x2-single.dtb \ - zynqmp-mini-qspi-x2-stacked.dtb \ -+ zynqmp-binman-mini.dtb \ - zynqmp-sc-revB.dtb \ - zynqmp-sc-revC.dtb \ - zynqmp-sm-k24-revA.dtb \ -diff --git a/arch/arm/dts/zynqmp-binman-mini.dts b/arch/arm/dts/zynqmp-binman-mini.dts -new file mode 100644 -index 00000000000..8f3d18ef394 ---- /dev/null -+++ b/arch/arm/dts/zynqmp-binman-mini.dts -@@ -0,0 +1,10 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* -+ * (C) Copyright 2024, Advanced Micro Devices, Inc. -+ * -+ * Michal Simek -+ */ -+ -+/dts-v1/; -+ -+#include "zynqmp-u-boot.dtsi" -diff --git a/arch/arm/dts/zynqmp-u-boot.dtsi b/arch/arm/dts/zynqmp-u-boot.dtsi -new file mode 100644 -index 00000000000..9a7527ed5a1 ---- /dev/null -+++ b/arch/arm/dts/zynqmp-u-boot.dtsi -@@ -0,0 +1,11 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* -+ * (C) Copyright 2024, Advanced Micro Devices, Inc. -+ * -+ * Michal Simek -+ */ -+ -+/ { -+ binman: binman { -+ }; -+}; diff --git a/board/zynqmp/patches/uboot/0005-arm64-zynqmp-add-binman-description-for-som.patch b/board/zynqmp/patches/uboot/0005-arm64-zynqmp-add-binman-description-for-som.patch deleted file mode 100644 index 82b5ba8bc0..0000000000 --- a/board/zynqmp/patches/uboot/0005-arm64-zynqmp-add-binman-description-for-som.patch +++ /dev/null @@ -1,345 +0,0 @@ -From: Michal Simek -Date: Fri, 1 Nov 2024 10:17:57 +0100 -Subject: [PATCH] arm64: zynqmp: Add binman description for SOM - -There is necessary to do some steps to compose boot images. These steps -were in scripts in layers for a while. That's why introduce description via -binman to simplify wiring and remove all scripting around. -This should make sure that everybody is up2date with the latest versions. - -The first step is to create fit image with DTBs with descriptions in -configuration node which is written as regular expression to match all SOM -versions. -Description is there for k24 and k26 in spite of low level psu_init -configuration is different. The reason is that it goes to u-boot.itb image -which is the same for k24 and k26. -u-boot.itb is another image which is generated. It is normally generated -via arch/arm/mach-zynqmp/mkimage_fit_atf.sh but this script is supposed to -be deprecated. -FIT image by purpose is using 64bit addresses to have default option to -move images to high DDR (above 4GB). TF-A and TEE are optional components -but in the most cases TF-A is present all the time and TEE(OP-TEE) is used -by some configurations too. - -3rd generated image is boot.bin with updated user field which contains -version number. This image can be used with updated Image Selector -which supports A/B update mechanisms with rollback protection. - -4th image is image.bin which binary file which contains boot.bin and -u-boot.itb together and can be programmed via origin Image Selector. -This image can be also used for creating one capsule which contains both -boot images (in SPL boot flow). - -Signed-off-by: Michal Simek -Link: https://lore.kernel.org/r/35bc47a4a4799c5f5dbea56a45340a2810538330.1730452668.git.michal.simek@amd.com -Upstream: https://source.denx.de/u-boot/u-boot/-/commit/2eb8cd5bd4936a5eb2e77729855d946f6720921c ---- - arch/arm/Kconfig | 1 + - arch/arm/dts/Makefile | 1 + - arch/arm/dts/zynqmp-binman-som.dts | 225 +++++++++++++++++++++++++++ - arch/arm/mach-zynqmp/Kconfig | 14 ++ - configs/xilinx_zynqmp_kria_defconfig | 3 + - 5 files changed, 244 insertions(+) - create mode 100644 arch/arm/dts/zynqmp-binman-som.dts - -diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig -index cbe72103aab..dca493eaf55 100644 ---- a/arch/arm/Kconfig -+++ b/arch/arm/Kconfig -@@ -1302,6 +1302,7 @@ config ARCH_ZYNQMP_R5 - config ARCH_ZYNQMP - bool "Xilinx ZynqMP based platform" - select ARM64 -+ select BINMAN - select CLK - select DM - select DEBUG_UART_BOARD_INIT if SPL && DEBUG_UART -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 4bdfb204ae3..4653b5bdd16 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -522,6 +522,7 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k24-revA-sck-kv-g-revB.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k24-revA-sck-kv-g-revB.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-sm-k24-revA-sck-kr-g-revB.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-smk-k24-revA-sck-kr-g-revB.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-binman-som.dtb - - dtb-$(CONFIG_ARCH_VERSAL) += \ - versal-emb-plus-ve2302-revA.dtb \ -diff --git a/arch/arm/dts/zynqmp-binman-som.dts b/arch/arm/dts/zynqmp-binman-som.dts -new file mode 100644 -index 00000000000..3d9d8476c98 ---- /dev/null -+++ b/arch/arm/dts/zynqmp-binman-som.dts -@@ -0,0 +1,225 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* -+ * dts file for Xilinx ZynqMP SOMs (k24/k26) -+ * -+ * (C) Copyright 2024, Advanced Micro Devices, Inc. -+ * -+ * Michal Simek -+ */ -+ -+#include -+ -+/dts-v1/; -+/ { -+ binman: binman { -+ multiple-images; -+ fit-dtb.blob { -+ filename = "fit-dtb.blob"; -+ pad-byte = <0>; -+ fit { -+ fit,align = <0x8>; -+ fit,external-offset = <0x0>; -+ description = "DTBs for SOMs+CCs"; -+ fit,fdt-list-val = "zynqmp-smk-k26-revA", "zynqmp-smk-k26-revA-sck-kr-g-revA", -+ "zynqmp-smk-k26-revA-sck-kr-g-revB", "zynqmp-smk-k26-revA-sck-kv-g-revA", -+ "zynqmp-smk-k26-revA-sck-kv-g-revB", "zynqmp-sm-k26-revA-sck-kv-g-revA", -+ "zynqmp-sm-k26-revA-sck-kv-g-revB", "zynqmp-sm-k26-revA-sck-kr-g-revB", -+ "zynqmp-smk-k24-revA-sck-kd-g-revA", "zynqmp-smk-k24-revA-sck-kv-g-revB", -+ "zynqmp-smk-k24-revA-sck-kr-g-revB", "zynqmp-sm-k24-revA-sck-kd-g-revA", -+ "zynqmp-sm-k24-revA-sck-kv-g-revB", "zynqmp-sm-k24-revA-sck-kr-g-revB"; -+ -+ images { -+ @fdt-SEQ { -+ description = "NAME"; -+ type = "flat_dt"; -+ arch = "arm64"; -+ compression = "none"; -+ hash-1 { -+ algo = "md5"; -+ }; -+ }; -+ }; -+ configurations { -+ default = "conf-1"; -+ conf-1 { -+ description = "SOM itself"; -+ fdt = "fdt-1"; -+ }; -+ conf-2 { -+ description = "zynqmp-smk-k26-.*-sck-kr-g-revA"; -+ fdt = "fdt-2"; -+ }; -+ conf-3 { -+ description = "zynqmp-smk-k26-.*-sck-kr-g-.*"; -+ fdt = "fdt-3"; -+ }; -+ conf-4 { -+ description = "zynqmp-smk-k26-.*-sck-kv-g-rev[AZ]"; -+ fdt = "fdt-4"; -+ }; -+ conf-5 { -+ description = "zynqmp-smk-k26-.*-sck-kv-g-.*"; -+ fdt = "fdt-5"; -+ }; -+ conf-6 { -+ description = "zynqmp-sm-k26-.*-sck-kv-g-rev[AZ]"; -+ fdt = "fdt-6"; -+ }; -+ conf-7 { -+ description = "zynqmp-sm-k26-.*-sck-kv-g-.*"; -+ fdt = "fdt-7"; -+ }; -+ conf-8 { -+ description = "zynqmp-sm-k26-.*-sck-kr-g-.*"; -+ fdt = "fdt-8"; -+ }; -+ conf-9 { -+ description = "zynqmp-smk-k24-.*-sck-kd-g-.*"; -+ fdt = "fdt-9"; -+ }; -+ conf-10 { -+ description = "zynqmp-smk-k24-.*-sck-kv-g-.*"; -+ fdt = "fdt-10"; -+ }; -+ conf-11 { -+ description = "zynqmp-smk-k24-.*-sck-kr-g-.*"; -+ fdt = "fdt-11"; -+ }; -+ conf-12 { -+ description = "zynqmp-sm-k24-.*-sck-kd-g-.*"; -+ fdt = "fdt-12"; -+ }; -+ conf-13 { -+ description = "zynqmp-sm-k24-.*-sck-kv-g-.*"; -+ fdt = "fdt-13"; -+ }; -+ conf-14 { -+ description = "zynqmp-sm-k24-.*-sck-kr-g-.*"; -+ fdt = "fdt-14"; -+ }; -+ }; -+ }; -+ }; -+ -+ /* u-boot.itb generation in a static way */ -+ itb { -+ filename = "u-boot.itb"; -+ pad-byte = <0>; -+ -+ fit { -+ description = "Configuration for Xilinx ZynqMP SoC"; -+ fit,align = <0x8>; -+ fit,external-offset = <0x0>; -+ images { -+ uboot { -+ description = "U-Boot (64-bit)"; -+ type = "firmware"; -+ os = "u-boot"; -+ arch = "arm64"; -+ compression = "none"; -+ load = /bits/ 64 ; -+ entry = /bits/ 64 ; -+ hash { -+ algo = "md5"; -+ }; -+ u-boot-nodtb { -+ }; -+ }; -+ atf { -+ description = "Trusted Firmware-A"; -+ type = "firmware"; -+ os = "arm-trusted-firmware"; -+ arch = "arm64"; -+ compression = "none"; -+ load = /bits/ 64 ; -+ entry = /bits/ 64 ; -+ hash { -+ algo = "md5"; -+ }; -+ atf-bl31 { -+ optional; -+ }; -+ }; -+ tee { -+ description = "OP-TEE"; -+ type = "tee"; -+ arch = "arm64"; -+ compression = "none"; -+ os = "tee"; -+ load = /bits/ 64 ; -+ entry = /bits/ 64 ; -+ tee-os { -+ optional; -+ }; -+ }; -+ fdt { -+ description = "Multi DTB fit image"; -+ type = "flat_dt"; -+ arch = "arm64"; -+ compression = "none"; -+ load = <0x0 0x100000>; -+ hash { -+ algo = "md5"; -+ }; -+ fdt-blob { -+ filename = "fit-dtb.blob"; -+ type = "blob-ext"; -+ }; -+ }; -+ }; -+ configurations { -+ default = "conf-1"; -+ conf-1 { -+ description = "Multi DTB with TF-A/TEE"; -+ firmware = "atf"; -+ loadables = "tee", "uboot", "fdt"; -+ }; -+ }; -+ }; -+ }; -+ -+ /* boot.bin generated with version string inside */ -+ bootimage { -+ filename = "boot.bin"; -+ pad-byte = <0>; -+ -+ blob-ext@1 { -+ offset = <0x0>; -+ filename = "spl/boot.bin"; -+ }; -+ /* Optional version string at offset 0x70 */ -+ blob-ext@2 { -+ offset = <0x70>; -+ filename = "version.bin"; -+ overlap; -+ optional; -+ }; -+ /* Optional version string at offset 0x94 */ -+ blob-ext@3 { -+ offset = <0x94>; -+ filename = "version.bin"; -+ overlap; -+ optional; -+ }; -+ }; -+ -+#ifdef CONFIG_SYS_SPI_U_BOOT_OFFS -+ /* Full QSPI image for recovery app */ -+ image { -+ filename = "qspi.bin"; -+ pad-byte = <0>; -+ -+ blob-ext@1 { -+ offset = <0x0>; -+ filename = "boot.bin"; -+ }; -+ blob-ext@2 { -+ offset = ; -+ filename = "u-boot.itb"; -+ }; -+ fdtmap { -+ }; -+ }; -+#endif -+ }; -+}; -diff --git a/arch/arm/mach-zynqmp/Kconfig b/arch/arm/mach-zynqmp/Kconfig -index 46c7fc75537..341c8379946 100644 ---- a/arch/arm/mach-zynqmp/Kconfig -+++ b/arch/arm/mach-zynqmp/Kconfig -@@ -140,6 +140,20 @@ config SPL_ZYNQMP_RESTORE_JTAG - even if no eFuses were burnt. This option restores the interface if - possible. - -+config BL31_LOAD_ADDR -+ hex "Load address of BL31 image (mostly TF-A)" -+ default 0xfffea000 -+ help -+ The load address for the BL31 image. This value is used to build the -+ FIT image header that places BL31 in memory where it will run. -+ -+config BL32_LOAD_ADDR -+ hex "Load address of BL32 image (mostly secure OS)" -+ default 0 -+ help -+ The load address for the BL32 image. This value is used to build the -+ FIT image header that places BL32 in memory where it will run. -+ - config ZYNQ_SDHCI_MAX_FREQ - default 200000000 - -diff --git a/configs/xilinx_zynqmp_kria_defconfig b/configs/xilinx_zynqmp_kria_defconfig -index 32d40939ac1..7b0e1a63483 100644 ---- a/configs/xilinx_zynqmp_kria_defconfig -+++ b/configs/xilinx_zynqmp_kria_defconfig -@@ -39,6 +39,7 @@ CONFIG_BOARD_EARLY_INIT_R=y - CONFIG_CLOCKS=y - CONFIG_SPL_MAX_SIZE=0x40000 - CONFIG_SPL_BSS_MAX_SIZE=0x80000 -+# CONFIG_SPL_BINMAN_SYMBOLS is not set - # CONFIG_SPL_SHARES_INIT_SP_ADDR is not set - CONFIG_SPL_STACK_R=y - CONFIG_SPL_FS_LOAD_KERNEL_NAME="" -@@ -223,6 +224,8 @@ CONFIG_VIDEO_ZYNQMP_DPSUB=y - CONFIG_VIRTIO_MMIO=y - CONFIG_VIRTIO_NET=y - CONFIG_VIRTIO_BLK=y -+# CONFIG_BINMAN_FDT is not set -+CONFIG_BINMAN_DTB="./arch/arm/dts/zynqmp-binman-som.dtb" - CONFIG_PANIC_HANG=y - CONFIG_TPM=y - CONFIG_SPL_GZIP=y diff --git a/board/zynqmp/patches/uboot/0006-arm64-zynqmp-generate-u-boot.itb-and-qspi-image-via-binman.patch b/board/zynqmp/patches/uboot/0006-arm64-zynqmp-generate-u-boot.itb-and-qspi-image-via-binman.patch deleted file mode 100644 index af55013917..0000000000 --- a/board/zynqmp/patches/uboot/0006-arm64-zynqmp-generate-u-boot.itb-and-qspi-image-via-binman.patch +++ /dev/null @@ -1,159 +0,0 @@ -From: Michal Simek -Date: Fri, 1 Nov 2024 10:17:58 +0100 -Subject: [PATCH] arm64: zynqmp: Generate u-boot.itb and QSPI image via binman - -u-boot.itb has been generated via mkimage_fit_atf.sh but it is on the way -out that's why convert it's description to binman. -Compare to script binman description is not able to configure BL31 and BL32 -load/entry addresses which should be done separately. - -Signed-off-by: Michal Simek -Link: https://lore.kernel.org/r/90b613796aee38158252c8bb1dfc3da0420f089d.1730452668.git.michal.simek@amd.com -Upstream: https://source.denx.de/u-boot/u-boot/-/commit/a4c98119109a60b9b236996f47065aa8fc0de9ca ---- - arch/arm/dts/Makefile | 1 + - arch/arm/dts/zynqmp-binman.dts | 111 +++++++++++++++++++++++++++ - configs/xilinx_zynqmp_virt_defconfig | 3 + - 3 files changed, 115 insertions(+) - create mode 100644 arch/arm/dts/zynqmp-binman.dts - -diff --git a/arch/arm/dts/Makefile b/arch/arm/dts/Makefile -index 4653b5bdd16..f4e4149e85c 100644 ---- a/arch/arm/dts/Makefile -+++ b/arch/arm/dts/Makefile -@@ -472,6 +472,7 @@ dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-p-a2197-00-revA-x-prc-02-revA.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-p-a2197-00-revA-x-prc-03-revA.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-p-a2197-00-revA-x-prc-04-revA.dtb - dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-p-a2197-00-revA-x-prc-05-revA.dtb -+dtb-$(CONFIG_ARCH_ZYNQMP) += zynqmp-binman.dtb - - zynqmp-sc-vek280-revA-dtbs := zynqmp-sc-revB.dtb zynqmp-sc-vek280-revA.dtbo - zynqmp-sc-vek280-revB-dtbs := zynqmp-sc-revC.dtb zynqmp-sc-vek280-revB.dtbo -diff --git a/arch/arm/dts/zynqmp-binman.dts b/arch/arm/dts/zynqmp-binman.dts -new file mode 100644 -index 00000000000..df0fdf46510 ---- /dev/null -+++ b/arch/arm/dts/zynqmp-binman.dts -@@ -0,0 +1,111 @@ -+// SPDX-License-Identifier: GPL-2.0 -+/* -+ * dts file for Xilinx ZynqMP platforms -+ * -+ * (C) Copyright 2024, Advanced Micro Devices, Inc. -+ * -+ * Michal Simek -+ */ -+ -+#include -+ -+/dts-v1/; -+/ { -+ binman: binman { -+ multiple-images; -+ -+ /* u-boot.itb generation in a static way */ -+ itb { -+ filename = "u-boot.itb"; -+ pad-byte = <0>; -+ -+ fit { -+ description = "Configuration for Xilinx ZynqMP SoC"; -+ fit,align = <0x8>; -+ fit,external-offset = <0x0>; -+ fit,fdt-list = "of-list"; -+ images { -+ uboot { -+ description = "U-Boot (64-bit)"; -+ type = "firmware"; -+ os = "u-boot"; -+ arch = "arm64"; -+ compression = "none"; -+ load = /bits/ 64 ; -+ entry = /bits/ 64 ; -+ hash { -+ algo = "md5"; -+ }; -+ u-boot-nodtb { -+ }; -+ }; -+ atf { -+ description = "Trusted Firmware-A"; -+ type = "firmware"; -+ os = "arm-trusted-firmware"; -+ arch = "arm64"; -+ compression = "none"; -+ load = /bits/ 64 ; -+ entry = /bits/ 64 ; -+ hash { -+ algo = "md5"; -+ }; -+ atf-bl31 { -+ optional; -+ }; -+ }; -+ tee { -+ description = "OP-TEE"; -+ type = "tee"; -+ arch = "arm64"; -+ compression = "none"; -+ os = "tee"; -+ load = /bits/ 64 ; -+ entry = /bits/ 64 ; -+ tee-os { -+ optional; -+ }; -+ }; -+ @fdt-SEQ { -+ description = "NAME"; -+ type = "flat_dt"; -+ arch = "arm64"; -+ compression = "none"; -+ load = <0x0 0x100000>; -+ hash-1 { -+ algo = "md5"; -+ }; -+ }; -+ }; -+ configurations { -+ default = "@conf-DEFAULT-SEQ"; -+ @conf-SEQ { -+ description = "NAME"; -+ firmware = "atf"; -+ loadables = "tee", "uboot"; -+ fdt = "fdt-SEQ"; -+ }; -+ }; -+ }; -+ }; -+ -+#ifdef CONFIG_SYS_SPI_U_BOOT_OFFS -+ /* QSPI image for testing QSPI boot mode */ -+ image { -+ filename = "qspi.bin"; -+ pad-byte = <0>; -+ -+ blob-ext@1 { -+ offset = <0x0>; -+ filename = "spl/boot.bin"; -+ }; -+ blob-ext@2 { -+ offset = ; -+ filename = "u-boot.itb"; -+ }; -+ fdtmap { -+ }; -+ }; -+#endif -+ }; -+}; -diff --git a/configs/xilinx_zynqmp_virt_defconfig b/configs/xilinx_zynqmp_virt_defconfig -index cc298b200a1..2643ce2acf7 100644 ---- a/configs/xilinx_zynqmp_virt_defconfig -+++ b/configs/xilinx_zynqmp_virt_defconfig -@@ -243,3 +243,6 @@ CONFIG_EFI_SET_TIME=y - CONFIG_EFI_RUNTIME_UPDATE_CAPSULE=y - CONFIG_EFI_CAPSULE_ON_DISK=y - CONFIG_EFI_CAPSULE_FIRMWARE_RAW=y -+# CONFIG_SPL_BINMAN_SYMBOLS is not set -+# CONFIG_BINMAN_FDT is not set -+CONFIG_BINMAN_DTB="./arch/arm/dts/zynqmp-binman.dtb"