[U-Boot] [PATCH v3 1/2] ARM: zynq: add separate configuration for ZC702 and ZC706

Masahiro Yamada yamada.masahiro at socionext.com
Mon May 18 08:31:51 CEST 2015


Prior to this commit, ZC702 and ZC706 shared the same configuration
and were built as follows:

ZC702: make zynq_zc70x_defconfig && make
ZC706: make zynq_zc70x_defconfig && make DEVICE_TREE=zynq-zc706

This commit introduces separate configuration for them, which makes
the next commit much easier.

Going forward, the recommended build commands are:

ZC702: make zynq_zc702_defconfig && make
ZC706: make zynq_zc706_defconfig && make

Although the old work flow is still supported, CONFIG_TARGET_ZC70X
has been marked as deprecated.  If used, the warning message is
shown to prompt users to switch to the new scheme.

Signed-off-by: Masahiro Yamada <yamada.masahiro at socionext.com>
---

Changes in v3:
  - Keep the current workflow
    (configs/zynq_zc70x_defconfig and CONFIG_TARGET_ZYNQ_ZC70X
     can be used as they are.)

Changes in v2:
  - Newly added

 arch/arm/mach-zynq/Kconfig   | 14 ++++++++++++--
 board/xilinx/zynq/Makefile   | 10 ++++++++++
 configs/zynq_zc702_defconfig | 10 ++++++++++
 configs/zynq_zc706_defconfig | 10 ++++++++++
 doc/README.zynq              | 15 ++++-----------
 5 files changed, 46 insertions(+), 13 deletions(-)
 create mode 100644 configs/zynq_zc702_defconfig
 create mode 100644 configs/zynq_zc706_defconfig

diff --git a/arch/arm/mach-zynq/Kconfig b/arch/arm/mach-zynq/Kconfig
index 483c3a0..a4deddf 100644
--- a/arch/arm/mach-zynq/Kconfig
+++ b/arch/arm/mach-zynq/Kconfig
@@ -14,7 +14,16 @@ config TARGET_ZYNQ_PICOZED
 	bool "Zynq PicoZed"
 
 config TARGET_ZYNQ_ZC70X
-	bool "Zynq ZC702/ZC706 Board"
+	bool "Zynq ZC702/ZC706 Board (deprecated)"
+	help
+	  This option is deprecated.  Use TARGET_ZYNQ_ZC702
+	  or TARGET_ZYNQ_706.
+
+config TARGET_ZYNQ_ZC702
+	bool "Zynq ZC702 Board"
+
+config TARGET_ZYNQ_ZC706
+	bool "Zynq ZC706 Board"
 
 config TARGET_ZYNQ_ZC770
 	bool "Zynq ZC770 Board"
@@ -37,7 +46,8 @@ config SYS_CONFIG_NAME
 	default "zynq_zed" if TARGET_ZYNQ_ZED
 	default "zynq_microzed" if TARGET_ZYNQ_MICROZED
 	default "zynq_picozed" if TARGET_ZYNQ_PICOZED
-	default "zynq_zc70x" if TARGET_ZYNQ_ZC70X
+	default "zynq_zc70x" if TARGET_ZYNQ_ZC702 || TARGET_ZYNQ_ZC706 \
+			        || TARGET_ZYNQ_ZC70X
 	default "zynq_zc770" if TARGET_ZYNQ_ZC770
 	default "zynq_zybo" if TARGET_ZYNQ_ZYBO
 
diff --git a/board/xilinx/zynq/Makefile b/board/xilinx/zynq/Makefile
index 054c3d8..3979347 100644
--- a/board/xilinx/zynq/Makefile
+++ b/board/xilinx/zynq/Makefile
@@ -13,3 +13,13 @@ obj-$(CONFIG_SPL_BUILD) += \
 
 # Suppress "warning: function declaration isn't a prototype"
 CFLAGS_REMOVE_ps7_init_gpl.o := -Wstrict-prototypes
+
+# Warn if CONFIG_TARGET_ZYNQ_ZC70X is enabled
+ifeq ($(CONFIG_TARGET_ZYNQ_ZC70X),y)
+ifeq ($(CONFIG_SPL_BUILD),y)
+$(warning CONFIG_TARGET_ZYNQ_ZC70X is deprecated.)
+$(warning Enable CONFIG_TARGET_ZYNQ_ZC702 or CONFIG_TARGET_ZYNQ_706 instead.)
+$(warning "make zynq_zc70x_defconfig" is also deprecated.)
+$(warning Use "make zynq_zc702_defconfig" or "make zynq_zc706_defconfig".)
+endif
+endif
diff --git a/configs/zynq_zc702_defconfig b/configs/zynq_zc702_defconfig
new file mode 100644
index 0000000..7ea8aa6
--- /dev/null
+++ b/configs/zynq_zc702_defconfig
@@ -0,0 +1,10 @@
+CONFIG_ARM=y
+CONFIG_ARCH_ZYNQ=y
+CONFIG_TARGET_ZYNQ_ZC702=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc702"
+# CONFIG_SYS_MALLOC_F is not set
+CONFIG_SPL=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_OF_CONTROL=y
diff --git a/configs/zynq_zc706_defconfig b/configs/zynq_zc706_defconfig
new file mode 100644
index 0000000..4e79713
--- /dev/null
+++ b/configs/zynq_zc706_defconfig
@@ -0,0 +1,10 @@
+CONFIG_ARM=y
+CONFIG_ARCH_ZYNQ=y
+CONFIG_TARGET_ZYNQ_ZC706=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc706"
+# CONFIG_SYS_MALLOC_F is not set
+CONFIG_SPL=y
+CONFIG_FIT=y
+CONFIG_FIT_VERBOSE=y
+CONFIG_FIT_SIGNATURE=y
+CONFIG_OF_CONTROL=y
diff --git a/doc/README.zynq b/doc/README.zynq
index 043c970..b89c39e 100644
--- a/doc/README.zynq
+++ b/doc/README.zynq
@@ -17,9 +17,8 @@ Xilinx Zynq-7000 All Programmable SoCs enable extensive system level
 differentiation, integration, and flexibility through hardware, software,
 and I/O programmability.
 
-* zc70x
-  - zc702 (single qspi, gem0, mmc) [1]
-  - zc706 (dual parallel qspi, gem0, mmc) [2]
+* zc702 (single qspi, gem0, mmc) [1]
+* zc706 (dual parallel qspi, gem0, mmc) [2]
 * zed (single qspi, gem0, mmc) [3]
 * microzed (single qspi, gem0, mmc) [4]
 * zc770
@@ -30,16 +29,10 @@ and I/O programmability.
 
 3. Building
 
- # Configure for zc70x board
-   $ make zynq_zc70x_config
-     Configuring for zynq_zc70x board...
-
- # Building default dts for zc702 board
+ ex. configure and build for zc702 board
+   $ make zynq_zc702_config
    $ make
 
- # Building specified dts for zc706 board
-   $ make DEVICE_TREE=zynq-zc706
-
 4. Bootmode
 
 Zynq has a facility to read the bootmode from the slcr bootmode register
-- 
1.9.1



More information about the U-Boot mailing list