Files
system76-coreboot/src/mainboard/google/rex/Kconfig
Wonkyu Kim 6d6831e5ba mb/google/rex: LZ4 compress ramstage instead of LZMA
for saving boot time, change ramstage compression from LZMA to LZ4.
Boot time saving is around 35ms (30-37ms) while SPI size impact is 230KB.
For detail, refer below.

Existing: LZMA(55.6 ms)
   8:starting to load ramstage                         894,519 (0)
  15:starting LZMA decompress (ignore for x86)         903,556 (9,036)
  16:finished LZMA decompress (ignore for x86)         949,997 (46,441)
   9:finished loading ramstage                         950,179 (182)

Changed: LZ4(17.8ms)
   8:starting to load ramstage                         900,876 (0)
  17:starting LZ4 decompress (ignore for x86)          917,650 (16,774)
  18:finished LZ4 decompress (ignore for x86)          918,690 (1,040)
   9:finished loading ramstage                         918,849 (158)

Size impact (73KB * 3 = 219KB)
fallback/ramstage              0x62940    stage          240281 LZ4  (405524 decompressed)
fallback/ramstage              0x62940    stage          165452 LZMA (405524 decompressed)

BUG=b:286930648
TEST= Boot to OS and check boot time

Signed-off-by: Wonkyu Kim <wonkyu.kim@intel.com>
Change-Id: I6610f405d287bff2eb4eee6f09026e3361405ded
Reviewed-on: https://review.coreboot.org/c/coreboot/+/75769
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Julius Werner <jwerner@chromium.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
Reviewed-by: Karthik Ramasubramanian <kramasub@google.com>
Reviewed-by: Subrata Banik <subratabanik@google.com>
Reviewed-by: Kapil Porwal <kapilporwal@google.com>
2023-07-11 12:15:25 +00:00

151 lines
4.0 KiB
Plaintext

config BOARD_GOOGLE_REX_COMMON
def_bool n
select BOARD_ROMSIZE_KB_32768
select DRIVERS_GFX_GENERIC
select DRIVERS_I2C_GENERIC
select DRIVERS_I2C_HID
select DRIVERS_INTEL_DPTF
select DRIVERS_INTEL_DPTF_SUPPORTS_TPCH
select DRIVERS_INTEL_USB4_RETIMER
select DRIVERS_WIFI_GENERIC
select DRIVERS_INTEL_MIPI_CAMERA
select DRIVERS_SPI_ACPI
select EC_GOOGLE_CHROMEEC
select EC_GOOGLE_CHROMEEC_BOARDID
select EC_GOOGLE_CHROMEEC_ESPI
select EC_GOOGLE_CHROMEEC_SKUID
select FW_CONFIG
select FW_CONFIG_SOURCE_CHROMEEC_CBI
select GOOGLE_SMBIOS_MAINBOARD_VERSION
select HAVE_ACPI_RESUME
select HAVE_ACPI_TABLES
select I2C_TPM
select INTEL_LPSS_UART_FOR_CONSOLE
select MAINBOARD_DISABLE_STAGE_CACHE
select MAINBOARD_HAS_TPM2
select MB_COMPRESS_RAMSTAGE_LZ4
select PMC_IPC_ACPI_INTERFACE
select SOC_INTEL_COMMON_BLOCK_VARIANT_POWER_LIMIT
select SOC_INTEL_CSE_LITE_SKU
select SOC_INTEL_CSE_PRE_CPU_RESET_TELEMETRY_V2
select SOC_INTEL_CSE_SEND_EOP_ASYNC
config BOARD_GOOGLE_BASEBOARD_REX
def_bool n
select BOARD_GOOGLE_REX_COMMON
select DRIVERS_INTEL_PMC
select DRIVERS_GENERIC_GPIO_KEYS
select DRIVERS_WWAN_FM350GL
select HAVE_SLP_S0_GATE
select MAINBOARD_HAS_CHROMEOS
select MEMORY_SOLDERDOWN
select SOC_INTEL_IOE_DIE_SUPPORT
select SOC_INTEL_METEORLAKE_U_H
select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
select SYSTEM_TYPE_LAPTOP
select TPM_GOOGLE_TI50
config BOARD_GOOGLE_BASEBOARD_OVIS
def_bool n
select BOARD_GOOGLE_REX_COMMON
select DRIVERS_INTEL_PMC
select ENABLE_TCSS_DISPLAY_DETECTION if RUN_FSP_GOP
select HAVE_SLP_S0_GATE
select MAINBOARD_HAS_CHROMEOS
select MEMORY_SOLDERDOWN
select SOC_INTEL_IOE_DIE_SUPPORT
select SOC_INTEL_METEORLAKE_U_H
select SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
select TPM_GOOGLE_TI50
if BOARD_GOOGLE_REX_COMMON
config BASEBOARD_DIR
string
default "rex" if BOARD_GOOGLE_BASEBOARD_REX
default "ovis" if BOARD_GOOGLE_BASEBOARD_OVIS
config CHROMEOS
select EC_GOOGLE_CHROMEEC_SWITCHES
select GBB_FLAG_FORCE_DEV_SWITCH_ON
select GBB_FLAG_FORCE_DEV_BOOT_USB
select GBB_FLAG_FORCE_MANUAL_RECOVERY
select HAS_RECOVERY_MRC_CACHE
config CHROMEOS_WIFI_SAR
bool "Enable SAR options for ChromeOS build"
depends on CHROMEOS
select DSAR_ENABLE
select GEO_SAR_ENABLE
select SAR_ENABLE
select USE_SAR
config DEVICETREE
default "variants/baseboard/\$(CONFIG_BASEBOARD_DIR)/devicetree.cb"
config FMDFILE
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos_ec_ish-debug-fsp.fmd" if CHROMEOS && BOARD_GOOGLE_REX_EC_ISH && BUILDING_WITH_DEBUG_FSP
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos_ec_ish.fmd" if CHROMEOS && BOARD_GOOGLE_REX_EC_ISH
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos-debug-fsp.fmd" if CHROMEOS && BUILDING_WITH_DEBUG_FSP
default "src/mainboard/\$(CONFIG_MAINBOARD_DIR)/chromeos.fmd" if CHROMEOS
config MAINBOARD_DIR
default "google/rex"
config MAINBOARD_FAMILY
string
default "Google_Rex" if BOARD_GOOGLE_BASEBOARD_REX
default "Google_Ovis" if BOARD_GOOGLE_BASEBOARD_OVIS
config MAINBOARD_PART_NUMBER
default "Rex" if BOARD_GOOGLE_REX0 || BOARD_GOOGLE_REX_EC_ISH
default "Screebo" if BOARD_GOOGLE_SCREEBO
default "Karis" if BOARD_GOOGLE_KARIS
default "Ovis" if BOARD_GOOGLE_OVIS
config VARIANT_DIR
string
default "rex0" if BOARD_GOOGLE_REX0 || BOARD_GOOGLE_REX_EC_ISH
default "screebo" if BOARD_GOOGLE_SCREEBO
default "karis" if BOARD_GOOGLE_KARIS
default "ovis" if BOARD_GOOGLE_OVIS
config DIMM_SPD_SIZE
default 512
config MEMORY_SOLDERDOWN
def_bool n
select CHROMEOS_DRAM_PART_NUMBER_IN_CBI if CHROMEOS
select HAVE_SPD_IN_CBFS
config VBOOT
select VBOOT_EARLY_EC_SYNC
select VBOOT_LID_SWITCH
config UART_FOR_CONSOLE
int
default 0
config OVERRIDE_DEVICETREE
default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb"
config DRIVER_TPM_I2C_BUS
hex
default 0x4 if BOARD_GOOGLE_REX0 || BOARD_GOOGLE_SCREEBO || BOARD_GOOGLE_REX_EC_ISH || BOARD_GOOGLE_OVIS
config DRIVER_TPM_I2C_ADDR
hex
default 0x50
config TPM_TIS_ACPI_INTERRUPT
int
default 35 # GPE0_DW1_03 (GPP_E03)
config USE_PM_ACPI_TIMER
default n
config HAVE_SLP_S0_GATE
def_bool n
endif # BOARD_GOOGLE_REX_COMMON