#@TYPE: Machine #@NAME: zynq-generic #@DESCRIPTION: Machine configuration for the zynq-generic devices #### Preamble MACHINEOVERRIDES =. "${@['', 'zynq-generic:']['zynq-generic' != '${MACHINE}']}" #### Regular settings follow # Variables that changes based on hw design or board specific requirement must be # defined before calling the required inclusion file else pre-expansion value # defined in local.conf without machine override will not be reflected. # Yocto Zynq-7000 u-boot-xlnx variables UBOOT_MACHINE ?= "xilinx_zynq_virt_defconfig" BOOTMODE ?= "generic.root" # Yocto KERNEL Variables UBOOT_ENTRYPOINT ?= "0x200000" UBOOT_LOADADDRESS ?= "0x200000" KERNEL_EXTRA_ARGS += "UIMAGE_LOADADDR=${UBOOT_ENTRYPOINT}" # Zynq-7000 Serial Console settings SERIAL_CONSOLES ?= "115200;ttyPS0" 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 += " \ u-boot-xlnx-scr \ " IMAGE_BOOT_FILES += " \ boot.scr \ uImage \ " 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'}" # Zynq-7000 QEMU Configurations # This machine has a QEMU model, runqemu setup: QB_MEM ?= "-m 1024" QB_NETWORK_DEVICE ?= "-net nic,netdev=net0,macaddr=@MAC@" QB_KERNEL_ROOT ?= "/dev/mmcblk0p2" # Side effect of not-enabled serial port is we have to lock # the second (console) to mon:stdio. # # Two total serial ports defined in this model (according to the generated dts) # # hw uart0 xuartps (e0000000) - # hw uart1 xuartps (e0001000) - linux serial0 (ttyPS0) QB_XILINX_SERIAL ?= "-serial null -serial mon:stdio" # Replicate BootROM like behaviour, having loaded SPL and PMU(ROM+FW) QB_OPT_APPEND += " \ -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}"]}"