#@TYPE: Machine
#@NAME: zcu102-zynqmp
#@DESCRIPTION: Machine configuration for the ZCU102 evaluation board.

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

# Yocto device-tree variables
YAML_CONSOLE_DEVICE_CONFIG:pn-device-tree ?= "psu_uart_0"
YAML_MAIN_MEMORY_CONFIG:pn-device-tree ?= "PSU_DDR_0"
YAML_DT_BOARD_FLAGS ?= "{BOARD zcu102-rev1.0}"

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

# Yocto PMUFW variables
YAML_SERIAL_CONSOLE_STDIN:pn-pmu-firmware ?= "psu_uart_0"
YAML_SERIAL_CONSOLE_STDOUT:pn-pmu-firmware ?= "psu_uart_0"

# Yocto FSBL variables
YAML_SERIAL_CONSOLE_STDIN:pn-fsbl-firmware ?= "psu_uart_0"
YAML_SERIAL_CONSOLE_STDOUT:pn-fsbl-firmware ?= "psu_uart_0"

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

# zcu102-zynqmp Serial Console
SERIAL_CONSOLES ?= "115200;ttyPS0"
YAML_SERIAL_CONSOLE_BAUDRATE ?= "115200"

# Required generic machine inclusion
# ZCU102 board uses ZynqMP EG device hence use soc variant based generic machine
# inclusion
require conf/machine/zynqmp-eg-generic.conf

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

# KERNEL_DEVICETREE is disabled as we use board device tree from DTG to match
# the xsa. User can enable explicitly if required from local.conf.
# KERNEL_DEVICETREE = "xilinx/zynqmp-zcu102-rev1.0.dtb"

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