All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Sören Brinkmann" <soren.brinkmann@xilinx.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 2/2] ARM: zynq: add default ps7_init_gpl.c/h for Zed, MicroZed, ZC70x
Date: Sat, 11 Apr 2015 19:45:56 -0700	[thread overview]
Message-ID: <23f4a394-ef14-439a-af20-616ee5d80820@BN1BFFO11FD029.protection.gbl> (raw)
In-Reply-To: <CAK7LNAQqp+RXMUxbZ82=whzN5h4pt=OBGaugAORq6QFbm_EQeQ@mail.gmail.com>

On Sun, 2015-04-12 at 10:20AM +0900, Masahiro Yamada wrote:
> Hi S?ren,
> 
> 2015-04-12 5:42 GMT+09:00 S?ren Brinkmann <soren.brinkmann@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.masahiro@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.

But doesn't it cause 'multiple definition of...' like errors if I copy
custom ps7_init files additionally to the already present ones into the
source tree? Looking at the Makefile above, it seems for a "supported"
board, it would add <board>_hw_platform/ps7_init_gpl.o _and_
custom_hw_platform/ps7_init_gpl.o - both defining the same symbols. Or
am I missing something?

	S?ren

  reply	other threads:[~2015-04-12  2:45 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-09 10:04 [U-Boot] [PATCH 0/2] ARM: zynq: include ps7_init_gpl.c/h of Zed, MicroZed, ZC702, ZC706 Masahiro Yamada
2015-04-09 10:04 ` [U-Boot] [PATCH 1/2] ARM: zynq: use separate configuration for ZC702 and ZC706 Masahiro Yamada
2015-04-09 10:04 ` [U-Boot] [PATCH 2/2] ARM: zynq: add default ps7_init_gpl.c/h for Zed, MicroZed, ZC70x Masahiro Yamada
2015-04-09 10:40   ` Michal Simek
2015-04-09 10:54     ` Masahiro Yamada
2015-04-11 20:42   ` Sören Brinkmann
2015-04-12  1:20     ` Masahiro Yamada
2015-04-12  2:45       ` Sören Brinkmann [this message]
2015-04-13  1:28         ` Masahiro Yamada
2015-04-13  3:12           ` Sören Brinkmann

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=23f4a394-ef14-439a-af20-616ee5d80820@BN1BFFO11FD029.protection.gbl \
    --to=soren.brinkmann@xilinx.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.