##
## This file is part of the coreboot project.
##
## Copyright (C) 2016 Google Inc.
##
## This software is licensed under the terms of the GNU General Public
## License version 2, as published by the Free Software Foundation, and
## may be copied, distributed, and modified under those terms.
##
## This program is distributed in the hope that it will be useful,
## but WITHOUT ANY WARRANTY; without even the implied warranty of
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
## GNU General Public License for more details.

if BOARD_LOWRISC_NEXYS4DDR

config BOARD_SPECIFIC_OPTIONS # dummy
	def_bool y
	select SOC_LOWRISC_LOWRISC
	select BOARD_ROMSIZE_KB_4096
	select DRIVERS_UART_8250MEM
	select BOOT_DEVICE_NOT_SPI_FLASH
	select UART_OVERRIDE_REFCLK

config MAINBOARD_DIR
	string
	default lowrisc/nexys4ddr

config MAINBOARD_PART_NUMBER
	string
	default "LOWRISC NEXYS4DDR"

config MAX_CPUS
	int
	default 1

endif #  BOARD_LOWRISC_NEXYS4DDR
