#
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
+include $(INCLUDE_DIR)/host.mk
+
+FAT32_BLOCK_SIZE=1024
+FAT32_BLOCKS=$(shell echo $$(($(CONFIG_ZYNQ_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
#################################################
# Images
# create FIT image with rootfs
./mkits.sh \
- -D $(1) -o $(KDIR)/fit-$(1).its -k $(KDIR)/zImage \
+ -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-$(1).its $(KDIR)/fit-$(1).itb
- $(CP) $(KDIR)/fit-$(1).itb $(BIN_DIR)/$(IMG_PREFIX)-fit.itb
+ 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
+endef
+define Image/Build/Zynq
+ # Create SD card image
+ rm -f $(KDIR_TMP)/$(IMG_PREFIX)-boot.img
+ mkfs.fat $(KDIR_TMP)/$(IMG_PREFIX)-boot.img -C $(FAT32_BLOCKS)
+ mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(KDIR)/uboot-$(IMG_PREFIX)-u-boot.bin ::boot.bin
+ mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(BIN_DIR)/$(DEVICE_DTS)-system.dtb ::devicetree.dtb
+ mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(KDIR)/uboot-$(IMG_PREFIX)-u-boot-dtb.img ::u-boot.img
+ mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(KDIR)/uboot-$(IMG_PREFIX)-uEnv.txt ::uEnv.txt
+ mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(BIN_DIR)/$(IMG_PREFIX)-uImage ::uImage
+
+ ./gen_zynq_sdcard_img.sh \
+ $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img \
+ $(KDIR_TMP)/$(IMG_PREFIX)-boot.img \
+ $(KDIR)/root.$(1) \
+ $(CONFIG_ZYNQ_SD_BOOT_PARTSIZE) \
+ $(CONFIG_TARGET_ROOTFS_PARTSIZE)
+
+ $(if $(CONFIG_TARGET_IMAGES_GZIP),gzip -9n -c $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img > $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img.gz)
endef
#################################################
DEVICE_DTS :=
PROFILE_SANITIZED :=
endef
-
DEVICE_VARS += DEVICE_DTS
+define Device/DefaultConfig
+ DEVICE_LC = $(1)
+ IMG_PREFIX = zynq-$(1)
+ DEVICE_DTS = zynq-$(1)
+endef
+
### ZC702 ###
define Device/ZC702
- DEVICE_DTS := zynq-zc702
+ $(call Device/DefaultConfig,zc702)
endef
-Image/boot-imgs/ZC702=$(call Image/boot-imgs,zc702)
+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/$(PROFILE))
+ $(call Image/boot-imgs)
+endef
+
+define Image/Build
+ $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
+
+ $(call Image/Build/Zynq,$(1))
endef
$(eval $(call BuildImage))