#@TYPE: Machine #@NAME: versal-net-generic #@DESCRIPTION: Machine configuration for the versal-net-generic devices #### Preamble MACHINEOVERRIDES =. "${@['', 'versal-net-generic:']['versal-net-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 Versal u-boot-xlnx variables UBOOT_MACHINE ?= "xilinx_versal_net_virt_defconfig" BOOTMODE ?= "generic.root" # Yocto Versal arm-trusted-firmware(TF-A) variables TFA_BL33_LOAD ?= "0x8000000" # Yocto Versal KERNEL Variables UBOOT_ENTRYPOINT ?= "0x200000" UBOOT_LOADADDRESS ?= "0x200000" # Versal Serial Console SERIAL_CONSOLES ?= "115200;ttyAMA0 115200;ttyAMA1" require conf/machine/include/soc-versal-net.inc require conf/machine/include/machine-xilinx-default.inc require conf/machine/include/machine-xilinx-qemu.inc MACHINE_FEATURES += "rtc ext2 ext3 vfat usbhost" # Default SD image build onfiguration, use qemu-sd to pad 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.u-boot.qemu-sd-fatimg'}" EXTRA_IMAGEDEPENDS += " \ u-boot-xlnx-scr \ " IMAGE_BOOT_FILES += " \ Image \ boot.scr \ " # Versal QEMU Configurations # This machine has a QEMU model, runqemu setup: QB_MEM ?= "-m 8G" QB_DEFAULT_KERNEL ?= "none" # Iteration appears to be eth0 then eth1 QB_NETWORK_DEVICE ?= "-net nic,netdev=net0,macaddr=@MAC@ -net nic" QB_KERNEL_CMDLINE_APPEND ?= "" QEMU_HW_DTB_PATH ?= "${DEPLOY_DIR_IMAGE}/qemu-hw-devicetrees/multiarch" QEMU_HW_DTB_PS ?= "${QEMU_HW_DTB_PATH}/board-versal-net-psx-spp-1.4.dtb" QEMU_HW_DTB_PMC ?= "${QEMU_HW_DTB_PATH}/board-versal-pmx-virt.dtb" # Four total serial ports defined in this model (according to the dts) # # hw serial0 xps-uartlite (0xf0110000) - # hw serial1 xps-uartlite (0xf0310000) - # hw serial2 pl011 (0xf1920000) - linux serial0 (ttyAMA0) # hw serial3 pl011 (0xf1930000) - linux serial1 (ttyAMA1) QB_XILINX_SERIAL ?= "-serial null -serial null -serial mon:stdio -serial null" QB_OSPI_FILE ??= "" QB_OPT_APPEND += " \ -hw-dtb ${QEMU_HW_DTB_PS} \ ${@qemu_add_extra_args(d)} \ ${@'-bootbin ${QB_OSPI_FILE}' if d.getVar('QB_OSPI_FILE') != '' else ''} \ " # PLM instance args QB_PLM_OPT = " \ -M microblaze-fdt \ -device loader,addr=0xf0000000,data=0xba020004,data-len=4 \ -device loader,addr=0xf0000004,data=0xb800fffc,data-len=4 \ -device loader,addr=0xF1110624,data=0x0,data-len=4 \ -device loader,addr=0xF1110620,data=0x1,data-len=4 \ -hw-dtb ${QEMU_HW_DTB_PMC} \ -display none \ " QB_FW_FILES = " \ -device loader,file=${DEPLOY_DIR_IMAGE}/BOOT-${MACHINE}_bh.bin,addr=0xF201E000,force-raw=on \ -device loader,file=${DEPLOY_DIR_IMAGE}/CDO/pmc_cdo.bin,addr=0xf2000000,force-raw=on \ -device loader,file=${DEPLOY_DIR_IMAGE}/plm-${MACHINE}.elf,cpu-num=1 \ " QB_PLM_OPT += "${@d.getVar('QB_FW_FILES') if d.getVar('QB_OSPI_FILE') == '' else ''}" QB_OPT_APPEND += " -plm-args '${QB_PLM_OPT}'" #### No additional settings should be after the Postamble #### Postamble PACKAGE_EXTRA_ARCHS:append = "${@['', ' versal_net_generic']['versal-net-generic' != "${MACHINE}"]}"