From 9bd53b625582555820d7bce5407ee8b56edc2160 Mon Sep 17 00:00:00 2001 From: Masahiro Yamada Date: Mon, 18 May 2015 15:31:51 +0900 Subject: [PATCH] ARM: zynq: add separate configuration for ZC702 and ZC706 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 Acked-by: Joe Hershberger Signed-off-by: Michal Simek --- 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 483c3a07fa..a4deddfc1a 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 054c3d821d..3979347d2e 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 0000000000..7ea8aa6168 --- /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 0000000000..4e797135d7 --- /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 043c970140..b89c39edac 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