if BOARD_LENOVO_T430S || BOARD_LENOVO_T431S

config BOARD_SPECIFIC_OPTIONS
	def_bool y
	select SYSTEM_TYPE_LAPTOP
	select NORTHBRIDGE_INTEL_SANDYBRIDGE
	select USE_NATIVE_RAMINIT
	select SOUTHBRIDGE_INTEL_C216
	select EC_LENOVO_PMH7
	select EC_LENOVO_H8
	select H8_HAS_BAT_THRESHOLDS_IMPL
	select H8_HAS_PRIMARY_FN_KEYS if BOARD_LENOVO_T431S
	select NO_UART_ON_SUPERIO
	select BOARD_ROMSIZE_KB_16384
	select HAVE_ACPI_TABLES
	select HAVE_OPTION_TABLE
	select HAVE_CMOS_DEFAULT
	select HAVE_ACPI_RESUME
	select INTEL_INT15
	select MEMORY_MAPPED_TPM
	select MAINBOARD_HAS_TPM1
	select MAINBOARD_HAS_LIBGFXINIT
	select GFX_GMA_PANEL_1_ON_LVDS if BOARD_LENOVO_T430S
	select INTEL_GMA_HAVE_VBT
	select MAINBOARD_USES_IFD_GBE_REGION
	select DRIVERS_RICOH_RCE822 if BOARD_LENOVO_T431S
	select HAVE_SPD_IN_CBFS if BOARD_LENOVO_T431S

	# Workaround for EC/KBC IRQ1.
	select SERIRQ_CONTINUOUS_MODE

config VBOOT
	select VBOOT_VBNV_CMOS
	select GBB_FLAG_DISABLE_LID_SHUTDOWN
	select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
	select GBB_FLAG_DISABLE_EC_SOFTWARE_SYNC
	select GBB_FLAG_DISABLE_FWMP
	select HAS_RECOVERY_MRC_CACHE

config VBOOT_SLOTS_RW_AB
	default y

config VBOOT_VBNV_OFFSET
	hex
	default 0x2a

config FMDFILE
	default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/vboot-rwab.fmd" if VBOOT

config MAINBOARD_DIR
	default "lenovo/t430s"

config VARIANT_DIR
	default "t430s" if BOARD_LENOVO_T430S
	default "t431s" if BOARD_LENOVO_T431S

config MAINBOARD_PART_NUMBER
	default "ThinkPad T430s" if BOARD_LENOVO_T430S
	default "ThinkPad T431s" if BOARD_LENOVO_T431S

config OVERRIDE_DEVICETREE
	default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"

config USBDEBUG_HCD_INDEX
	int
	default 2

config DRAM_RESET_GATE_GPIO
	int
	default 10

config ONBOARD_VGA_IS_PRIMARY
	bool
	default y

config PS2K_EISAID
	default "PNP0303"

config PS2M_EISAID
	default "LEN0015"

endif # BOARD_LENOVO_T430S || BOARD_LENOVO_T431S
