if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T || BOARD_LENOVO_X230S

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_X230S
	select NO_UART_ON_SUPERIO
	select BOARD_ROMSIZE_KB_12288 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T
	select BOARD_ROMSIZE_KB_16384 if BOARD_LENOVO_X230S
	select HAVE_ACPI_TABLES
	select HAVE_OPTION_TABLE
	select HAVE_CMOS_DEFAULT
	select HAVE_ACPI_RESUME
	select INTEL_INT15
	select DRIVERS_RICOH_RCE822
	select MEMORY_MAPPED_TPM
	select MAINBOARD_HAS_TPM1 if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T
	select MAINBOARD_HAS_LIBGFXINIT
	select GFX_GMA_PANEL_1_ON_LVDS if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T
	select INTEL_GMA_HAVE_VBT
	select MAINBOARD_USES_IFD_GBE_REGION

	# 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/x230"

config VARIANT_DIR
	default "x230" if BOARD_LENOVO_X230 || BOARD_LENOVO_X230T
	default "x230s" if BOARD_LENOVO_X230S

config MAINBOARD_PART_NUMBER
	default "ThinkPad X230" if BOARD_LENOVO_X230
	default "ThinkPad X230t" if BOARD_LENOVO_X230T
	default "ThinkPad X230s" if BOARD_LENOVO_X230S

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 VGA_BIOS_ID
	string
	default "8086,0166"

config PS2K_EISAID
	default "PNP0303"

config PS2M_EISAID
	default "LEN0020"

config THINKPADEC_HKEY_EISAID
	default "LEN0068"

endif # BOARD_LENOVO_X230 || BOARD_LENOVO_X230T ||  BOARD_LENOVO_X230S
