##
## This file is part of the coreboot project.
##
## Copyright (C) 2009 Uwe Hermann <uwe@hermann-uwe.de>
##
## This program is free software; you can redistribute it and/or modify
## it under the terms of the GNU General Public License as published by
## the Free Software Foundation; version 2 of the License.
##
## 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_MSI_MS_6178

config BOARD_SPECIFIC_OPTIONS # dummy
	def_bool y
	select CPU_INTEL_SOCKET_PGA370
	select NORTHBRIDGE_INTEL_I82810
	select SOUTHBRIDGE_INTEL_I82801AX
	select SUPERIO_WINBOND_W83627HF
	select HAVE_PIRQ_TABLE
	select BOARD_ROMSIZE_KB_512

config MAINBOARD_DIR
	string
	default msi/ms6178

config MAINBOARD_PART_NUMBER
	string
	default "MS-6178"

config IRQ_SLOT_COUNT
	int
	default 4

# No need to override the chipset VGA_BIOS_ID.
config VGA_BIOS_FILE
	string
	default "i810.vga"

endif # BOARD_MSI_MS_6178
