#@TYPE: Machine #@NAME: Generic Zynq #@DESCRIPTION: Generic Zynq Device # Deprecated board config USE_BOARD = "${@"conf/machine/include/xilinx-board-pre.inc" if d.getVar("BOARD") or d.getVar("BOARD_VARIANT") else ""}" require ${USE_BOARD} unset USE_BOARD #### Preamble MACHINEOVERRIDES =. "${@['', 'zynq-generic:']['zynq-generic' != '${MACHINE}']}" #### Regular settings follow 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 usbgadget" EXTRA_IMAGEDEPENDS += "libyaml-native python3-cython-native python3-pyyaml-native" UBOOT_MACHINE ?= "xilinx_zynq_virt_defconfig" BOOTMODE ?= "generic.root" SERIAL_CONSOLES ?= "115200;ttyPS0" MACHINE_ESSENTIAL_EXTRA_RDEPENDS += "device-tree" IMAGE_BOOT_FILES += " \ ${@bb.utils.contains('PREFERRED_PROVIDER_virtual/dtb', 'device-tree', 'system.dtb', '', d)} \ boot.scr \ " HDF_MACHINE = "zc702-zynq7" IMAGE_CLASSES += "image-types-xilinx-qemu" # Add wic.qemu-sd only if initramfs_image not set due to circular dependecies IMAGE_FSTYPES += "${@'wic.qemu-sd' if (d.getVar('INITRAMFS_IMAGE') or '') == '' else 'cpio.gz'}" WKS_FILES ?= "sdimage-bootpart.wks" QB_MEM = "-m 1024" QB_NETWORK_DEVICE = "-net nic,netdev=net0,macaddr=@MAC@" QB_KERNEL_ROOT = "/dev/mmcblk0p2" # Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) QB_OPT_APPEND ?= " \ -serial null \ -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 \ -machine linux=on \ " #### No additional settings should be after the Postamble #### Postamble PACKAGE_EXTRA_ARCHS:append = "${@['', ' zynq_generic']['zynq-generic' != "${MACHINE}"]}" # Deprecated board config USE_BOARD = "${@"conf/machine/include/xilinx-board-post.inc" if d.getVar("BOARD") or d.getVar("BOARD_VARIANT") else ""}" require ${USE_BOARD} unset USE_BOARD