
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@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