## SPDX-License-Identifier: GPL-2.0-only

config BOARD_INTEL_JASPERLAKE_RVP_COMMON
	def_bool n
	select BOARD_ROMSIZE_KB_16384
	select DRIVERS_I2C_DA7219
	select DRIVERS_I2C_GENERIC
	select DRIVERS_I2C_HID
	select DRIVERS_I2C_MAX98373
	select DRIVERS_INTEL_DPTF
	select DRIVERS_INTEL_MIPI_CAMERA
	select DRIVERS_SPI_ACPI
	select DRIVERS_USB_ACPI
	select EC_ACPI
	select HAVE_ACPI_RESUME
	select HAVE_ACPI_TABLES
	select HAVE_SPD_IN_CBFS
	select MAINBOARD_HAS_CHROMEOS
	select SOC_INTEL_COMMON_BLOCK_DTT
	select SOC_INTEL_COMMON_BLOCK_IPU
	select SOC_INTEL_CSE_LITE_SKU
	select SOC_INTEL_JASPERLAKE

config BOARD_INTEL_JASPERLAKE_RVP
	select BOARD_INTEL_JASPERLAKE_RVP_COMMON
	select DRIVERS_UART_8250IO
	select MAINBOARD_USES_IFD_EC_REGION

config BOARD_INTEL_JASPERLAKE_RVP_EXT_EC
	select BOARD_INTEL_JASPERLAKE_RVP_COMMON
	select EC_GOOGLE_CHROMEEC
	select EC_GOOGLE_CHROMEEC_LPC
	select EC_GOOGLE_CHROMEEC_SWITCHES if VBOOT
	select INTEL_LPSS_UART_FOR_CONSOLE

if BOARD_INTEL_JASPERLAKE_RVP_COMMON

config DISABLE_HECI1_AT_PRE_BOOT
	default y

config MAINBOARD_DIR
	default "intel/jasperlake_rvp"

config VARIANT_DIR
	default "jslrvp" if BOARD_INTEL_JASPERLAKE_RVP || BOARD_INTEL_JASPERLAKE_RVP_EXT_EC

config MAINBOARD_PART_NUMBER
	default "jslrvp"

config MAINBOARD_FAMILY
	string
	default "Intel_jslrvp"

config MAX_CPUS
	int
	default 8

config DEVICETREE
	default "variants/\$(CONFIG_VARIANT_DIR)/devicetree.cb"

config DIMM_SPD_SIZE
	default 512

config CHROMEOS
	select GBB_FLAG_FORCE_DEV_SWITCH_ON
	select GBB_FLAG_FORCE_DEV_BOOT_USB
	select GBB_FLAG_FORCE_DEV_BOOT_ALTFW
	select GBB_FLAG_FORCE_MANUAL_RECOVERY
	select GBB_FLAG_DISABLE_PD_SOFTWARE_SYNC
	select HAS_RECOVERY_MRC_CACHE

config VBOOT
	select VBOOT_LID_SWITCH
	select VBOOT_MOCK_SECDATA if !MAINBOARD_HAS_TPM2

config UART_FOR_CONSOLE
	int
	default 2 if INTEL_LPSS_UART_FOR_CONSOLE
	default 0

config TPM_TIS_ACPI_INTERRUPT
	int
	default 45  # GPE0_DW1_13 (GPP_H13)
endif
