aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--target/linux/zynq/Makefile2
-rw-r--r--target/linux/zynq/image/Makefile86
-rw-r--r--target/linux/zynq/profiles/zc702.mk16
-rw-r--r--target/linux/zynq/profiles/zed.mk16
-rw-r--r--target/linux/zynq/profiles/zybo.mk16
5 files changed, 39 insertions, 97 deletions
diff --git a/target/linux/zynq/Makefile b/target/linux/zynq/Makefile
index 6495c59723..a84f968b50 100644
--- a/target/linux/zynq/Makefile
+++ b/target/linux/zynq/Makefile
@@ -10,7 +10,7 @@ include $(INCLUDE_DIR)/host.mk
ARCH:=arm
BOARD:=zynq
BOARDNAME:=Xilinx Zynq 7000 SoCs
-FEATURES:=fpu gpio rtc usb usbgadget targz ubifs
+FEATURES:=fpu gpio rtc usb usbgadget targz
CPU_TYPE:=cortex-a9
CPU_SUBTYPE:=neon
MAINTAINER:=Jason Wu <jason.wu.misc@gamil.com>
diff --git a/target/linux/zynq/image/Makefile b/target/linux/zynq/image/Makefile
index 4c85bc283d..a4400c7287 100644
--- a/target/linux/zynq/image/Makefile
+++ b/target/linux/zynq/image/Makefile
@@ -11,33 +11,32 @@ include $(INCLUDE_DIR)/image.mk
# Images
#################################################
-define Image/boot-imgs
- # Copy zImage to BIN_DIR
- $(CP) $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage
-
- $(call Image/BuildKernel/MkuImage, none, $(KERNEL_LOADADDR), \
- $(KERNEL_ENTRY_POINT), $(KDIR)/zImage, \
- $(BIN_DIR)/$(IMG_PREFIX)-uImage)
+# $(1): rootfs contents directory
+define Image/mkfs/cpio
+ ( cd $(call mkfs_target_dir,$(1))/; find . | cpio -o -H newc | gzip -9n > $@ )
+endef
- $(call Image/BuildDTB,$(DTS_DIR)/$(DEVICE_DTS).dts,\
- $(BIN_DIR)/$(IMG_PREFIX)-system.dtb)
+# $(1): zynq board id
+define Build/dtb
+ $(call Image/BuildDTB,$(DTS_DIR)/zynq-$(1).dts,$@.dtb)
+endef
+define Build/uRamdisk
# Create uboot cpio.gz
mkimage -A arm -T ramdisk -C gzip -n "$(PROFILE) OpenWRT rootfs" \
- -d $(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz \
- $(BIN_DIR)/$(IMG_PREFIX)-uramdisk.image.gz
+ -d $(IMAGE_ROOTFS) $@.new
+ mv $@.new $@
+endef
+# $(1): FIT name/description
+define Build/fit
# create FIT image with rootfs
./mkits.sh \
- -D $(DEVICE_LC) -o $(KDIR)/fit-$(DEVICE_LC).its -k $(KDIR)/zImage \
- -d $(BIN_DIR)/$(IMG_PREFIX)-system.dtb \
- -C none -a $(KERNEL_LOADADDR) -e $(KERNEL_ENTRY_POINT) \
- -A $(ARCH) -v $(LINUX_VERSION) \
- -r $(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz -z gzip
- PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/fit-$(DEVICE_LC).its $(KDIR)/fit-$(DEVICE_LC).itb
- $(CP) $(KDIR)/fit-$(DEVICE_LC).itb $(BIN_DIR)/$(IMG_PREFIX)-fit.itb
- ln -fs $(IMG_PREFIX)-fit.itb $(BIN_DIR)/fit.itb
+ -D $(1) -o $@.its -k $(IMAGE_KERNEL) -d $(IMAGE_KERNEL).dtb \
+ -C none -a $(KERNEL_LOADADDR) -e $(KERNEL_ENTRY) \
+ -A $(ARCH) -v $(LINUX_VERSION) -r $(IMAGE_ROOTFS) -z gzip
+ PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@
endef
#################################################
@@ -46,36 +45,27 @@ endef
# default kernel load address
KERNEL_LOADADDR=0x8000
-KERNEL_ENTRY_POINT=0x8000
-
-### Device macros ###
-define Device/Default
- IMG_PREFIX := zynq
- PROFILE_SANITIZED :=
-endef
-
-define Device/DefaultConfig
- DEVICE_LC = $(1)
- IMG_PREFIX = zynq-$(1)
- DEVICE_DTS = zynq-$(1)
+KERNEL_ENTRY=0x8000
+
+TARGET_FILESYSTEMS += cpio
+
+# $(1): canonical device name
+# $(2): lowercase device id
+define ZynqDevice
+ define Device/$(1)
+ DEVICE_TITLE := $(1) development board
+ KERNEL := dtb $(2) | kernel-bin | uImage none
+ KERNEL_NAME = zImage
+ IMAGES := uramdisk.image.gz fit.itb
+ IMAGE/uramdisk.image.gz := uRamdisk
+ IMAGE/fit.itb := fit $(2)
+ IMAGE_NAME = $$$$(IMG_PREFIX)-$(2)-$$$$(2)
+ endef
+ TARGET_DEVICES += $(1)
endef
-### ZC702 ###
-define Device/ZC702
- $(call Device/DefaultConfig,zc702)
-endef
-
-define Device/ZED
- $(call Device/DefaultConfig,zed)
-endef
-
-define Device/ZYBO
- $(call Device/DefaultConfig,zybo)
-endef
-
-define Image/BuildKernel
- $(eval $(call Device/$(PROFILE)))
- $(call Image/boot-imgs)
-endef
+$(eval $(call ZynqDevice,ZC702,zc702))
+$(eval $(call ZynqDevice,ZedBoard,zed))
+$(eval $(call ZynqDevice,ZYBO,zybo))
$(eval $(call BuildImage))
diff --git a/target/linux/zynq/profiles/zc702.mk b/target/linux/zynq/profiles/zc702.mk
deleted file mode 100644
index 9d3c972fa6..0000000000
--- a/target/linux/zynq/profiles/zc702.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/ZC702
- NAME:=ZC702 development baord
-endef
-
-define Profile/ZC702/Description
- Build firmware image for Xilinx Zynq ZC702 development board.
-endef
-
-$(eval $(call Profile,ZC702))
diff --git a/target/linux/zynq/profiles/zed.mk b/target/linux/zynq/profiles/zed.mk
deleted file mode 100644
index d8ff08b02f..0000000000
--- a/target/linux/zynq/profiles/zed.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2015 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/ZED
- NAME:=ZedBoard development baord
-endef
-
-define Profile/ZED/Description
- Build firmware image for Avnet Digilent ZedBoard development board.
-endef
-
-$(eval $(call Profile,ZED))
diff --git a/target/linux/zynq/profiles/zybo.mk b/target/linux/zynq/profiles/zybo.mk
deleted file mode 100644
index dfe7e675d7..0000000000
--- a/target/linux/zynq/profiles/zybo.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-#
-# Copyright (C) 2016 OpenWrt.org
-#
-# This is free software, licensed under the GNU General Public License v2.
-# See /LICENSE for more information.
-#
-
-define Profile/ZYBO
- NAME:=ZYBO development baord
-endef
-
-define Profile/ZYBO/Description
- Build firmware image for Digilent ZYBO development board.
-endef
-
-$(eval $(call Profile,ZYBO))