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.
*/
}