[meta-xilinx] [PATCH 22/29] u-boot-spl-zynq-init.inc: Enable the FORCE_PS7INIT for new U-Boot

Nathan Rossi nathan at nathanrossi.com
Wed Sep 28 08:15:49 PDT 2016


The directory structure in U-Boot for platform init files has changed in
more recent versions of U-Boot. The new naming scheme uses the name of
the device-tree (that is provided in U-Boot) to determine the name of
the directory in board/xilinx/zynq/.

This patch changes how FORCE_PS7INIT functions, such that it is a toggle
instead of requiring the target directory name. FORCE_PS7INIT is changed
to overwrite all the ps7_init_gpl* files in the board/xilinx/zynq/*
directories. This removes the need to specify the target
directory/config and also avoids any issues with the differences in
names between older and newer U-Boot versions.

Additionally this patch adds a [doc] string for the variable.

Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
---
 recipes-bsp/u-boot/u-boot-spl-zynq-init.inc | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc b/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
index 3d4b75ef6e..cc06de6cc5 100644
--- a/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
+++ b/recipes-bsp/u-boot/u-boot-spl-zynq-init.inc
@@ -9,14 +9,19 @@ do_configure_prepend() {
 			cp ${PLATFORM_INIT_STAGE_DIR}/ps7_init_gpl.h ${S}/board/xilinx/zynq/
 			cp ${PLATFORM_INIT_STAGE_DIR}/ps7_init_gpl.c ${S}/board/xilinx/zynq/
 		fi
-		if [ -n "${FORCE_PS7INIT}" -a -d "${S}/board/xilinx/zynq/${FORCE_PS7INIT}_hw_platform/" ]; then
-			# overwrite the existing platforms ps7_init files
-			cp ${PLATFORM_INIT_STAGE_DIR}/ps7_init_gpl.h ${S}/board/xilinx/zynq/${FORCE_PS7INIT}_hw_platform/
-			cp ${PLATFORM_INIT_STAGE_DIR}/ps7_init_gpl.c ${S}/board/xilinx/zynq/${FORCE_PS7INIT}_hw_platform/
+		if [ -n "${FORCE_PS7INIT}" ]; then
+			# overwrite all the existing platforms ps7_init files, this is a shotgun approach and only works due to
+			# u-boot being built for each machine seperately with seperate source directories.
+			for i in ${S}/board/xilinx/zynq/*/; do
+				cp ${PLATFORM_INIT_STAGE_DIR}/ps7_init_gpl.h $i
+				cp ${PLATFORM_INIT_STAGE_DIR}/ps7_init_gpl.c $i
+			done
 		fi
 	fi
 }
 
+FORCE_PS7INIT[doc] = "This variable is used to force the overriding of all ps7_init_gpl.* files in u-boot source with what is provided by virtual/zynq7-platform-init."
+
 python () {
 	# Determine if target machine needs to provide a custom ps7_init_gpl.*
 	if d.getVar("SOC_FAMILY", True) == "zynq":
-- 
2.9.3



More information about the meta-xilinx mailing list