#@TYPE: Machine
#@NAME: vhk158-versal
#@DESCRIPTION: Machine configuration for the VHK158 evaluation board.

#### Preamble
MACHINEOVERRIDES =. "${@['', 'vhk158-versal:']['vhk158-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 ?= "versal_cips_0_pspmc_0_psv_sbsauart_0"
YAML_DT_BOARD_FLAGS ?= "{BOARD versal-vhk158-reva}"

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

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

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

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

# Required generic machine inclusion
# VHK158 board uses Versal HBM device hence use soc variant based generic
# machine inclusion
require conf/machine/versal-hbm-generic.conf

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

# VHK158 has 32GB memory only but default versal-generic has QB_MEM set to 8G,
# Since versal-vhk158-reva.dts has 32GB set, we need set same in QB_MEM
QB_MEM = "-m 32G"

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

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