if ARCH_VEXPRESS64

config SYS_BOARD
	default "vexpress64"

config SYS_VENDOR
	default "armltd"

config SYS_CONFIG_NAME
	default "vexpress_aemv8"

config VEXPRESS64_BASE_MODEL
	bool
	select SEMIHOSTING
	select VIRTIO_BLK if VIRTIO_MMIO
	select VIRTIO_NET if VIRTIO_MMIO
	select DM_ETH if VIRTIO_NET
	select LINUX_KERNEL_IMAGE_HEADER
	select POSITION_INDEPENDENT

choice
	prompt "VExpress64 board variant"

config TARGET_VEXPRESS64_BASE_FVP
	bool "Support Versatile Express ARMv8a FVP BASE model"
	select VEXPRESS64_BASE_MODEL
	select OF_BOARD

config TARGET_VEXPRESS64_BASER_FVP
	bool "Support Versatile Express ARMv8r64 FVP BASE model"
	select VEXPRESS64_BASE_MODEL
	imply OF_HAS_PRIOR_STAGE

config TARGET_VEXPRESS64_JUNO
	bool "Support Versatile Express Juno Development Platform"
	select PCIE_ECAM_GENERIC if PCI
	select SATA_SIL
	select SMC911X if DM_ETH
	select SMC911X_32_BIT if SMC911X
	select CMD_USB if USB
	select USB_EHCI_HCD if USB
	select USB_EHCI_GENERIC if USB
	select USB_OHCI_HCD if USB
	select USB_OHCI_GENERIC if USB
	imply OF_HAS_PRIOR_STAGE

endchoice

config JUNO_DTB_PART
	string "NOR flash partition holding DTB"
	default "board.dtb"
	help
	  The ARM partition name in the NOR flash memory holding the
	  device tree blob to configure U-Boot.

config LNX_KRNL_IMG_TEXT_OFFSET_BASE
	default SYS_TEXT_BASE

config SYS_TEXT_BASE
	default 0x88000000 if TARGET_VEXPRESS64_BASE_FVP
	default 0xe0000000 if TARGET_VEXPRESS64_JUNO
	default 0x00001000 if TARGET_VEXPRESS64_BASER_FVP

config SYS_MALLOC_LEN
	default 0x810000 if TARGET_VEXPRESS64_JUNO
	default 0x840000 if TARGET_VEXPRESS64_BASE_FVP

config SYS_MALLOC_F_LEN
	default 0x2000

config SYS_LOAD_ADDR
	default 0x10000000 if TARGET_VEXPRESS64_BASER_FVP
	default 0x90000000

config ENV_ADDR
	default 0x0BFC0000 if TARGET_VEXPRESS64_JUNO
	default 0x0FFC0000 if TARGET_VEXPRESS64_BASE_FVP
	default 0x8FFC0000 if TARGET_VEXPRESS64_BASER_FVP

config ENV_SIZE
	default 0x10000 if TARGET_VEXPRESS64_JUNO
	default 0x40000

config ENV_SECT_SIZE
	default 0x10000 if TARGET_VEXPRESS64_JUNO
	default 0x40000

endif
