if ARCH_ZYNQMP

config SPL_FAT_SUPPORT
	default y

config SPL_LIBCOMMON_SUPPORT
	default y

config SPL_LIBDISK_SUPPORT
	default y

config SPL_LIBGENERIC_SUPPORT
	default y

config SPL_MMC_SUPPORT
	default y

config SPL_SERIAL_SUPPORT
	default y

config SPL_SPI_FLASH_SUPPORT
	default y if ZYNQ_QSPI

config SPL_SPI_SUPPORT
	default y if ZYNQ_QSPI

config SYS_BOARD
	default "zynqmp"

config SYS_VENDOR
	string "Vendor name"
	default "xilinx"

config SYS_SOC
	default "zynqmp"

config SYS_CONFIG_NAME
	string "Board configuration name"
	default "xilinx_zynqmp"
	help
	  This option contains information about board configuration name.
	  Based on this option include/configs/<CONFIG_SYS_CONFIG_NAME>.h header
	  will be used for board configuration.

config BOOT_INIT_FILE
	string "boot.bin init register filename"
	depends on SPL
	default ""
	help
	  Add register writes to boot.bin format (max 256 pairs).
	  Expect a table of register-value pairs, e.g. "0x12345678 0x4321"

config ZYNQMP_USB
	bool "Configure ZynqMP USB"

config SYS_MALLOC_F_LEN
	default 0x600

config SPL_ZYNQMP_ALT_BOOTMODE_ENABLED
	bool "Overwrite SPL bootmode"
	depends on SPL
	help
	  Overwrite bootmode selected via boot mode pins to tell SPL what should
	  be the next boot device.

config SPL_ZYNQMP_ALT_BOOTMODE
	hex
	default 0x0 if JTAG_MODE
	default 0x1 if QSPI_MODE_24BIT
	default 0x2 if QSPI_MODE_32BIT
	default 0x3 if SD_MODE
	default 0x4 if NAND_MODE
	default 0x5 if SD_MODE1
	default 0x6 if EMMC_MODE
	default 0x7 if USB_MODE
	default 0xa if SW_USBHOST_MODE
	default 0xb if SW_SATA_MODE

choice
	prompt "Boot mode"
	depends on SPL_ZYNQMP_ALT_BOOTMODE_ENABLED
	default JTAG

config JTAG_MODE
	bool "JTAG_MODE"

config QSPI_MODE_24BIT
	bool "QSPI_MODE_24BIT"

config QSPI_MODE_32BIT
	bool "QSPI_MODE_32BIT"

config SD_MODE
	bool "SD_MODE"

config SD_MODE1
	bool "SD_MODE1"

config NAND_MODE
	bool "NAND_MODE"

config EMMC_MODE
	bool "EMMC_MODE"

config USB_MODE
	bool "USB"

config SW_USBHOST_MODE
	bool "SW USBHOST_MODE"

config SW_SATA_MODE
	bool "SW SATA_MODE"

endchoice

endif
