Hi Sören, 2015-04-12 5:42 GMT+09:00 Sören Brinkmann <soren.brinkm...@xilinx.com>: > On Thu, 2015-04-09 at 07:04PM +0900, Masahiro Yamada wrote: >> 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 version (ps7_init_gpl.c/h), compatible with U-Boot >> license. >> >> Prior to this commit, we had to copy ps7_init code 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 code by enabling >> CONFIG_ZYNQ_CUSTOM_INIT. >> >> Signed-off-by: Masahiro Yamada <yamada.masah...@socionext.com> >> --- >> >> arch/arm/cpu/armv7/zynq/Kconfig | 10 + >> board/xilinx/zynq/Makefile | 22 +- >> .../zynq/MicroZed_hw_platform/ps7_init_gpl.c | 12978 >> ++++++++++++++++++ >> .../zynq/MicroZed_hw_platform/ps7_init_gpl.h | 130 + >> board/xilinx/zynq/ZC702_hw_platform/ps7_init_gpl.c | 13311 >> +++++++++++++++++++ >> board/xilinx/zynq/ZC702_hw_platform/ps7_init_gpl.h | 130 + >> board/xilinx/zynq/ZC706_hw_platform/ps7_init_gpl.c | 13218 >> ++++++++++++++++++ >> board/xilinx/zynq/ZC706_hw_platform/ps7_init_gpl.h | 130 + >> .../zynq/{ => custom_hw_platform}/.gitignore | 0 >> .../xilinx/zynq/{ => custom_hw_platform}/legacy.c | 0 >> board/xilinx/zynq/zed_hw_platform/ps7_init_gpl.c | 12876 >> ++++++++++++++++++ >> board/xilinx/zynq/zed_hw_platform/ps7_init_gpl.h | 130 + >> 12 files changed, 52931 insertions(+), 4 deletions(-) >> create mode 100644 board/xilinx/zynq/MicroZed_hw_platform/ps7_init_gpl.c >> create mode 100644 board/xilinx/zynq/MicroZed_hw_platform/ps7_init_gpl.h >> create mode 100644 board/xilinx/zynq/ZC702_hw_platform/ps7_init_gpl.c >> create mode 100644 board/xilinx/zynq/ZC702_hw_platform/ps7_init_gpl.h >> create mode 100644 board/xilinx/zynq/ZC706_hw_platform/ps7_init_gpl.c >> create mode 100644 board/xilinx/zynq/ZC706_hw_platform/ps7_init_gpl.h >> rename board/xilinx/zynq/{ => custom_hw_platform}/.gitignore (100%) >> rename board/xilinx/zynq/{ => custom_hw_platform}/legacy.c (100%) >> create mode 100644 board/xilinx/zynq/zed_hw_platform/ps7_init_gpl.c >> create mode 100644 board/xilinx/zynq/zed_hw_platform/ps7_init_gpl.h >> >> diff --git a/arch/arm/cpu/armv7/zynq/Kconfig >> b/arch/arm/cpu/armv7/zynq/Kconfig >> index ab4768a..e19cce0 100644 >> --- a/arch/arm/cpu/armv7/zynq/Kconfig >> +++ b/arch/arm/cpu/armv7/zynq/Kconfig >> @@ -1,5 +1,13 @@ >> if 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" >> >> @@ -17,9 +25,11 @@ config TARGET_ZYNQ_ZC706 >> >> 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/board/xilinx/zynq/Makefile b/board/xilinx/zynq/Makefile >> index 3b1eb4f..7a82dfb 100644 >> --- a/board/xilinx/zynq/Makefile >> +++ b/board/xilinx/zynq/Makefile >> @@ -7,11 +7,25 @@ >> >> obj-y := board.o >> >> -# Please copy ps7_init_gpl.c/h from hw project to this directory >> -obj-$(CONFIG_SPL_BUILD) += \ >> - $(if $(wildcard $(srctree)/$(src)/ps7_init_gpl.c), >> ps7_init_gpl.o, \ >> - $(if $(wildcard $(srctree)/$(src)/ps7_init.c), >> ps7_init.o legacy.o)) >> +# Copied from Xilinx SDK 2014.4 >> +ps7-init-$(CONFIG_TARGET_ZYNQ_ZED) := zed_hw_platform/ps7_init_gpl.o >> +ps7-init-$(CONFIG_TARGET_ZYNQ_MICROZED) := >> MicroZed_hw_platform/ps7_init_gpl.o >> +ps7-init-$(CONFIG_TARGET_ZYNQ_ZC702) := ZC702_hw_platform/ps7_init_gpl.o >> +ps7-init-$(CONFIG_TARGET_ZYNQ_ZC706) := ZC706_hw_platform/ps7_init_gpl.o >> +# If you want to use customized ps7_init_gpl.c/h (or ps7_init.c/h), >> +# enable CONFIG_ZYNQ_CUSTOM_INIT and put them into custom_hw_platform/. >> +ps7-init-$(CONFIG_ZYNQ_CUSTOM_INIT) := \ >> + $(if $(wildcard $(srctree)/$(src)/custom_hw_platform/ps7_init_gpl.c), \ >> + custom_hw_platform/ps7_init_gpl.o, \ >> + $(if $(wildcard >> $(srctree)/$(src)/custom_hw_platform/ps7_init.c), \ >> + custom_hw_platform/ps7_init.o >> custom_hw_platform/legacy.o)) > > IIRC, the support for the legacy files was mainly added to not break > existing flows, this patch does break those flows by changing the search > location for these init files. Hence, this may be an opportunity to > fully drop support for the legacy files?
Yes. Good idea! I will drop the legacy files support in v2. > Does this mechanism allow to build for one of the supported boards (e.g. > zc706) using custom init files? We need to maintain this capability, > IMHO, since these initfiles are generated by Xilinx tools depending on > various settings in Vivado. They can be quite different between > use-cases/applications, even when targeting the same board. Don't worry. Custom init files are still supporte. I added CONFIG_ZYNQ_CUSTOM_INIT. -- Best Regards Masahiro Yamada _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot