#@TYPE: Machine
#@NAME: vek280-versal
#@DESCRIPTION: Machine configuration for the VEK280 evaluation boards.

#### Preamble
MACHINEOVERRIDES =. "${@['', 'vek280-versal:']['vek280-versal' !='${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 versal-generic.conf will be set.

# Yocto device-tree variables
YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vek280-revb}"

# Yocto arm-trusted-firmware(TF-A) variables
ATF_CONSOLE ?= "pl011"
TFA_BL33_LOAD ?= "0x8000000"

# Yocto PLM variables
YAML_SERIAL_CONSOLE_STDIN:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"
YAML_SERIAL_CONSOLE_STDOUT:pn-plm-firmware ?= "CIPS_0_pspmc_0_psv_sbsauart_0"

# Yocto KERNEL Variables
UBOOT_ENTRYPOINT  ?= "0x200000"
UBOOT_LOADADDRESS ?= "0x200000"

# vek280-versal Serial Console
SERIAL_CONSOLES ?= "115200;ttyAMA0"
YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"

# Required generic machine inclusion
require conf/machine/versal-ai-edge-generic.conf

# This machine conf file uses vek280-versal xsa as reference input.
# User can override with vek280 custom xsa using HDF_BASE and HDF_PATH variables
# from local.conf.
HDF_MACHINE = "vek280-versal"

# VEK280 board has 12GB memory only but default versal-generic has QB_MEM set to
# 8G, Hence we need set 12G in QB_MEM.
QB_MEM = "-m 12G"

QEMU_HW_DTB_PS = "${QEMU_HW_DTB_PATH}/board-versal-ps-vek280.dtb"
QEMU_HW_DTB_PMC = "${QEMU_HW_DTB_PATH}/board-versal-pmc-virt.dtb"

# Yocto MACHINE_FEATURES Variable
MACHINE_FEATURES += "vdu"

#### No additional settings should be after the Postamble
#### Postamble
PACKAGE_EXTRA_ARCHS:append = "${@['', ' vek280_versal']['vek280-versal' != '${MACHINE}']}"
