if BOARD_TECHNEXION_TIM8690

config BOARD_SPECIFIC_OPTIONS # dummy
	def_bool y
	select CPU_AMD_SOCKET_S1G1
	select NORTHBRIDGE_AMD_AMDK8
	select SOUTHBRIDGE_AMD_RS690
	select SOUTHBRIDGE_AMD_SB600
	select SUPERIO_ITE_IT8712F
	select HAVE_OPTION_TABLE
	select HAVE_PIRQ_TABLE
	select HAVE_MP_TABLE
	select SB_HT_CHAIN_UNITID_OFFSET_ONLY
	select HAVE_ACPI_TABLES
	select BOARD_ROMSIZE_KB_512
	select QRANK_DIMM_SUPPORT
	select SET_FIDVID

config MAINBOARD_DIR
	string
	default technexion/tim8690

config APIC_ID_OFFSET
	hex
	default 0x0

config MAINBOARD_PART_NUMBER
	string
	default "TIM-8690"

config MAX_CPUS
	int
	default 2

config MAX_PHYSICAL_CPUS
	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

endif # BOARD_TECHNEXION_TIM8690
