if BOARD_LENOVO_T420S

config BOARD_SPECIFIC_OPTIONS # dummy
	def_bool y
	select SYSTEM_TYPE_LAPTOP
	select CPU_INTEL_SOCKET_RPGA988B
	select NORTHBRIDGE_INTEL_SANDYBRIDGE
	select SOUTHBRIDGE_INTEL_BD82X6X
	select EC_LENOVO_PMH7
	select EC_LENOVO_H8
	select NO_UART_ON_SUPERIO
	select BOARD_ROMSIZE_KB_8192
	select HAVE_ACPI_TABLES
	select HAVE_OPTION_TABLE
	select HAVE_CMOS_DEFAULT
	select HAVE_ACPI_RESUME
	select INTEL_INT15
	select VGA
	select INTEL_EDID
	select MAINBOARD_HAS_NATIVE_VGA_INIT
	select MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
	select SANDYBRIDGE_LVDS
	select MAINBOARD_HAS_LPC_TPM

	# Workaround for EC/KBC IRQ1.
	select SERIRQ_CONTINUOUS_MODE

config HAVE_IFD_BIN
	bool
	default n

config HAVE_ME_BIN
	bool
	default n

config MAINBOARD_DIR
	string
	default lenovo/t420s

config MAINBOARD_PART_NUMBER
	string
	default "ThinkPad T420s"

config MMCONF_BASE_ADDRESS
	hex
	default 0xf0000000

config MAX_CPUS
	int
	default 8

config USBDEBUG_HCD_INDEX
	int
	default 2

config DRAM_RESET_GATE_GPIO
	int
	default 10

config VGA_BIOS_FILE
	string
	default "pci8086,0126.rom"

config VGA_BIOS_ID
	string
	default "8086,0126"

config MAINBOARD_PCI_SUBSYSTEM_VENDOR_ID
	hex
	default 0x17aa

config MAINBOARD_PCI_SUBSYSTEM_DEVICE_ID
	hex
	default 0x21d2

endif # BOARD_LENOVO_T420S
