ARM: zynq: add default ps7_init_gpl.c/h for Zed, MicroZed, ZC70x

Due to licensing issues, the files ps7_init.c/h are not able to be
distributed with U-Boot source code.  Recent Xilinx tools also
provide the GPL variants (ps7_init_gpl.c/h), compatible with U-Boot
license.

Prior to this commit, we had to copy ps7_init files into
board/xilinx/zynq/ before the compile.

To be more user-friendly, let's include ps7_init_gpl.c/h for
Zedboard, MicroZed, ZC702, ZC706.

These init code have been taken from the hwplatform_templates
directory of Xilinx SDK 2014.4.

You can still use customized ps7_init_gpl.c/h by enabling
CONFIG_ZYNQ_CUSTOM_INIT.  The recommended directory for storing them
is now board/xilinx/zynq/custom_hw_platform, but board/xilinx/zynq
is still supported for backward compatibility.  The latter emits
a warning message to prompt users to gradually switch to the new
directory.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig
index a4deddf..1de5b07 100644
--- a/arch/arm/mach-zynq/Kconfig
+++ b/arch/arm/mach-zynq/Kconfig
@@ -1,5 +1,13 @@
 if ARCH_ZYNQ
 
+config ZYNQ_CUSTOM_INIT
+	bool "Use custom ps7_init provided by Xilinx tool"
+	help
+	  U-Boot includes ps7_init_gpl.[ch] for some Zynq board variants.
+	  If you want to override them with customized ones
+	  or ps7_init code for your board is missing, please say Y here
+	  and add ones into board/xilinx/zynq/custom_hw_platform/ directory.
+
 choice
 	prompt "Xilinx Zynq board select"
 	optional
@@ -15,6 +23,7 @@
 
 config TARGET_ZYNQ_ZC70X
 	bool "Zynq ZC702/ZC706 Board (deprecated)"
+	select ZYNQ_CUSTOM_INIT
 	help
 	  This option is deprecated.  Use TARGET_ZYNQ_ZC702
 	  or TARGET_ZYNQ_706.
@@ -27,9 +36,11 @@
 
 config TARGET_ZYNQ_ZC770
 	bool "Zynq ZC770 Board"
+	select ZYNQ_CUSTOM_INIT
 
 config TARGET_ZYNQ_ZYBO
 	bool "Zynq Zybo Board"
+	select ZYNQ_CUSTOM_INIT
 
 endchoice
 
diff --git a/arch/arm/mach-zynq/spl.c b/arch/arm/mach-zynq/spl.c
index 13025f0..e7df6d3 100644
--- a/arch/arm/mach-zynq/spl.c
+++ b/arch/arm/mach-zynq/spl.c
@@ -85,6 +85,6 @@
 {
 	/*
 	 * This function is overridden by the one in
-	 * board/xilinx/zynq/ps7_init_gpl.c, if it exists.
+	 * board/xilinx/zynq/(platform)/ps7_init_gpl.c, if it exists.
 	 */
 }