if BOARD_AMD_MAHOGANY

config BOARD_SPECIFIC_OPTIONS # dummy
	def_bool y
	select ARCH_X86
	select CPU_AMD_SOCKET_AM2
	select DIMM_DDR2
	select NORTHBRIDGE_AMD_AMDK8
	select NORTHBRIDGE_AMD_AMDK8_ROOT_COMPLEX
	select SOUTHBRIDGE_AMD_RS780
	select SOUTHBRIDGE_AMD_SB700
	select SUPERIO_ITE_IT8718F
	select HAVE_ACPI_TABLES
	select HAVE_MP_TABLE
	select HAVE_PIRQ_TABLE
	select HAVE_OPTION_TABLE
	select LIFT_BSP_APIC_ID
	select SB_HT_CHAIN_UNITID_OFFSET_ONLY
	select BOARD_ROMSIZE_KB_1024
	select RAMINIT_SYSINFO
	select GFXUMA
	select QRANK_DIMM_SUPPORT
	select SET_FIDVID

config MAINBOARD_DIR
	string
	default amd/mahogany

config DCACHE_RAM_BASE
	hex
	default 0xc8000

config DCACHE_RAM_SIZE
	hex
	default 0x08000

config APIC_ID_OFFSET
	hex
	default 0x0

config MAINBOARD_PART_NUMBER
	string
	default "MAHOGANY"

config MAX_CPUS
	int
	default 8

config MAX_PHYSICAL_CPUS
	int
	default 2

config SB_HT_CHAIN_ON_BUS0
	int
	default 1

config HT_CHAIN_END_UNITID_BASE
	hex
	default 0x1

config HT_CHAIN_UNITID_BASE
	hex
	default 0x0

config IRQ_SLOT_COUNT
	int
	default 11

config VGA_BIOS_ID
	string
	default "1002,9615"

endif # BOARD_AMD_MAHOGANY
