diff --git a/board/xilinx/zynq/.gitignore b/board/xilinx/zynq/.gitignore
index 68b8edd260d01e3dda8c4afc2b23e66a60f849d4..7c36bc963f7a3d0d39ef3398f5921c15d5feb541 100644
--- a/board/xilinx/zynq/.gitignore
+++ b/board/xilinx/zynq/.gitignore
@@ -1 +1,2 @@
 ps7_init.[ch]
+ps7_init_gpl.[ch]
diff --git a/board/xilinx/zynq/Makefile b/board/xilinx/zynq/Makefile
index 71c0c351f929b33ae5b1f5406d8eb81690ca6dd6..3b1eb4f74ad17ee42fc270c24f8bd08253934aa3 100644
--- a/board/xilinx/zynq/Makefile
+++ b/board/xilinx/zynq/Makefile
@@ -7,9 +7,11 @@
 
 obj-y	:= board.o
 
-# Please copy ps7_init.c/h from hw project to this directory
+# Please copy ps7_init_gpl.c/h from hw project to this directory
 obj-$(CONFIG_SPL_BUILD) += \
-		$(if $(wildcard $(srctree)/$(src)/ps7_init.c), ps7_init.o)
+		$(if $(wildcard $(srctree)/$(src)/ps7_init_gpl.c), ps7_init_gpl.o, \
+			$(if $(wildcard $(srctree)/$(src)/ps7_init.c), ps7_init.o legacy.o))
 
 # Suppress "warning: function declaration isn't a prototype"
+CFLAGS_REMOVE_ps7_init_gpl.o := -Wstrict-prototypes
 CFLAGS_REMOVE_ps7_init.o := -Wstrict-prototypes
diff --git a/board/xilinx/zynq/legacy.c b/board/xilinx/zynq/legacy.c
new file mode 100644
index 0000000000000000000000000000000000000000..4ae913eefeb3b9dcf837c810b0f154fb8fc2fdd9
--- /dev/null
+++ b/board/xilinx/zynq/legacy.c
@@ -0,0 +1,2 @@
+
+#warning usage of ps7_init files is deprecated please use ps7_init_gpl
diff --git a/board/xilinx/zynq/xil_io.h b/board/xilinx/zynq/xil_io.h
index e59a977eb17448a81ef2b1b1b82c92a16fa0c558..1eccf8d91d09bcaf728b43448f1b9eba42466383 100644
--- a/board/xilinx/zynq/xil_io.h
+++ b/board/xilinx/zynq/xil_io.h
@@ -6,7 +6,7 @@
 #define XIL_IO_H
 
 /*
- * This empty file is here because ps7_init.c exported by hw project
+ * This empty file is here because ps7_init_gpl.c exported by hw project
  * has #include "xil_io.h" line.
  */