#@TYPE: Machine
#@NAME: zc702-zynq7
#@DESCRIPTION: Machine support for ZC702 Evaluation Board.
#
# For details on the Evaluation board:
#     http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
# For documentation and design files for the ZC702:
#     http://www.xilinx.com/support/index.html/content/xilinx/en/supportNav/boards_and_kits/zynq-7000_soc_boards_and_kits/zynq-7000_soc_zc702_evaluation_kit.html
# For the FSBL 'zynq_fsbl_0.elf' refer to UG873 and the associated design files.
#

require conf/machine/include/soc-zynq.inc
require conf/machine/include/machine-xilinx-default.inc
require conf/machine/include/machine-xilinx-qemu.inc

MACHINE_FEATURES = "rtc ext2 ext3 vfat usbhost"

# u-boot configuration
UBOOT_MACHINE = "xilinx_zynq_virt_defconfig"
SPL_BINARY ?= "spl/boot.bin"

EXTRA_IMAGEDEPENDS += " \
		u-boot-zynq-uenv \
		virtual/boot-bin \
		virtual/bootloader \
		u-boot-zynq-scr \
		"

SERIAL_CONSOLES ?= "115200;ttyPS0"

KERNEL_DEVICETREE = "zynq-zc702.dtb"

IMAGE_BOOT_FILES += " \
		boot.bin \
		uEnv.txt \
		boot.scr \
		"

QB_MEM = "-m 1024"
QB_NETWORK_DEVICE = "-net nic,netdev=eth0 -netdev user,id=eth0,tftp=/tftpboot -net nic"
QB_DEFAULT_KERNEL_qemuboot-xilinx = "zImage"

QB_SYSTEM_NAME ?= "${@qemu_target_binary(d)}"
QB_DEFAULT_FSTYPE = "cpio.gz.u-boot"
QB_DTB = "system.dtb"
QB_ROOTFS_OPT_qemuboot-xilinx = " -drive if=sd,index=1,file=@ROOTFS@,format=raw"

# Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW)
QB_OPT_APPEND = " \
        -nographic -serial null -serial mon:stdio \
	-initrd ${DEPLOY_DIR_IMAGE}/petalinux-image-minimal-zc702-zynq7.cpio.gz.u-boot \
	-gdb tcp::9000 \
	-device loader,addr=0xf8000008,data=0xDF0D,data-len=4 \
	-device loader,addr=0xf8000140,data=0x00500801,data-len=4 \
 	-device loader,addr=0xf800012c,data=0x1ed044d,data-len=4 \
	-device loader,addr=0xf8000108,data=0x0001e008,data-len=4 \
	-device loader,addr=0xF8000910,data=0xF,data-len=0x4 \
	"
