##
## 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_GIGABYTE_GA_6BXC

config BOARD_SPECIFIC_OPTIONS # dummy
	def_bool y
	select CPU_INTEL_SLOT_1
	select NORTHBRIDGE_INTEL_I440BX
	select SOUTHBRIDGE_INTEL_I82371EB
	select SUPERIO_ITE_IT8671F
	select HAVE_PIRQ_TABLE
	select UDELAY_TSC
	select BOARD_ROMSIZE_KB_256

config MAINBOARD_DIR
	string
	default gigabyte/ga-6bxc

config MAINBOARD_PART_NUMBER
	string
	default "GA-6BXC"

config IRQ_SLOT_COUNT
	int
	default 6

endif # BOARD_GIGABYTE_GA_6BXC
