## SPDX-License-Identifier: GPL-2.0-only config SOC_INTEL_APOLLOLAKE bool select INTEL_CAR_CQOS select ACPI_INTEL_HARDWARE_SLEEP_VALUES select ACPI_NO_PCAT_8259 select ARCH_X86 select BOOT_DEVICE_SUPPORTS_WRITES # CPU specific options select CPU_INTEL_COMMON select CPU_SUPPORTS_PM_TIMER_EMULATION select PCR_COMMON_IOSF_1_0 select SSE2 select SUPPORT_CPU_UCODE_IN_CBFS # Audio options select ACPI_NHLT select SOC_INTEL_COMMON_NHLT # Misc options select CACHE_MRC_SETTINGS select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2 select FAST_SPI_GENERATE_SSDT select FSP_PLATFORM_MEMORY_SETTINGS_VERSIONS select GENERIC_GPIO_LIB select HAVE_ASAN_IN_ROMSTAGE select HAVE_CF9_RESET_PREPARE select HAVE_DPTF_EISA_HID select HAVE_FSP_GOP select HAVE_FSP_LOGO_SUPPORT select HAVE_INTEL_FSP_REPO if !SOC_INTEL_GEMINILAKE select HAVE_SMI_HANDLER select INTEL_DESCRIPTOR_MODE_CAPABLE select INTEL_GMA_ACPI select INTEL_GMA_ADD_VBT if RUN_FSP_GOP select INTEL_GMA_SWSMISCI select MRC_SETTINGS_PROTECT select MRC_SETTINGS_VARIABLE_DATA select NO_PM_ACPI_TIMER select NO_UART_ON_SUPERIO select NO_XIP_EARLY_STAGES select FSP_COMPRESS_FSP_M_LZ4 select PARALLEL_MP_AP_WORK select PCIEXP_ASPM select PCIEXP_COMMON_CLOCK select PCIEXP_CLK_PM select PCIEXP_L1_SUB_STATE select PERIODIC_SMI_RATE_SELECTION_IN_GEN_PMCON_B select PLATFORM_USES_FSP2_0 select PMC_INVALID_READ_AFTER_WRITE select PMC_GLOBAL_RESET_ENABLE_LOCK select REG_SCRIPT select SA_ENABLE_IMR select SOC_INTEL_COMMON select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE select SOC_INTEL_COMMON_BLOCK select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT select SOC_INTEL_COMMON_BLOCK_ACPI select SOC_INTEL_COMMON_BLOCK_CAR select SOC_INTEL_COMMON_BLOCK_CPU select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT select SOC_INTEL_COMMON_BLOCK_GPIO_MULTI_ACPI_DEVICES select SOC_INTEL_COMMON_BLOCK_GPIO_IOSTANDBY select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PCR select SOC_INTEL_COMMON_PCH_CLIENT select SOC_INTEL_COMMON_BLOCK_PMC_DISCOVERABLE select SOC_INTEL_COMMON_BLOCK_SRAM select SOC_INTEL_COMMON_BLOCK_SA select SOC_INTEL_COMMON_BLOCK_SCS select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG select SOC_INTEL_COMMON_BLOCK_SMM select SOC_INTEL_COMMON_FSP_RESET select SOC_INTEL_COMMON_RESET select SOC_INTEL_INTEGRATED_SOUTHCLUSTER select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION select SOC_INTEL_NO_BOOTGUARD_MSR select TSC_MONOTONIC_TIMER select UDELAY_TSC select UDK_2017_BINDING select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE # This SoC does not map SPI flash like many previous SoC. Therefore we # provide a custom media driver that facilitates mapping select X86_CUSTOM_BOOTMEDIA help Intel Apollolake support config SOC_INTEL_GEMINILAKE bool default n select SOC_INTEL_APOLLOLAKE select SOC_INTEL_COMMON_BLOCK_CNVI select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT select SOC_INTEL_COMMON_BLOCK_SGX select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2 select IDT_IN_EVERY_STAGE select PAGING_IN_CACHE_AS_RAM select INTEL_CAR_NEM help Intel Geminilake support if SOC_INTEL_APOLLOLAKE config FSP_STATUS_GLOBAL_RESET hex default 0x40000005 config USE_LEGACY_8254_TIMER default y config SKIP_CSE_RBP bool default y if BOOT_DEVICE_MEMORY_MAPPED help Tell CSE we do not need to use Ring Buffer Protocol (RBP) to fetch firmware for us if we are using memory-mapped SPI. This lets CSE state machine transition to next boot state, so that it can function as designed. config DISABLE_HECI1_AT_PRE_BOOT default y config MAX_HECI_DEVICES int default 3 config MAX_CPUS int default 4 config VBOOT select VBOOT_SEPARATE_VERSTAGE select VBOOT_MUST_REQUEST_DISPLAY select VBOOT_STARTS_IN_BOOTBLOCK select VBOOT_VBNV_CMOS if !VBOOT_VBNV_FLASH select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH if !VBOOT_VBNV_FLASH config TPM_ON_FAST_SPI bool default n depends on MEMORY_MAPPED_TPM help TPM part is conntected on Fast SPI interface and is mapped to the linear address space. config PCR_BASE_ADDRESS hex default 0xd0000000 help This option allows you to select MMIO Base Address of sideband bus. config DCACHE_RAM_BASE hex default 0xfef00000 config DCACHE_RAM_SIZE hex default 0x100000 if SOC_INTEL_GEMINILAKE default 0xc0000 help The size of the cache-as-ram region required during bootblock and/or romstage. config DCACHE_BSP_STACK_SIZE hex default 0x4000 help The amount of anticipated stack usage in CAR by bootblock and other stages. config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ int default 100 config CPU_XTAL_HZ default 19200000 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ int default 133 # 32KiB bootblock is all that is mapped in by the CSE at top of 4GiB. config C_ENV_BOOTBLOCK_SIZE hex default 0x8000 config ROMSTAGE_ADDR hex default 0xfef20000 help The base address (in CAR) where romstage should be linked config VERSTAGE_ADDR hex default 0xfef40000 help The base address (in CAR) where verstage should be linked config FSP_HEADER_PATH default "src/vendorcode/intel/fsp/fsp2_0/geminilake/2.2.0.0" if VENDOR_GOOGLE && SOC_INTEL_GEMINILAKE default "src/vendorcode/intel/fsp/fsp2_0/geminilake/2.2.3.1" if SOC_INTEL_GEMINILAKE default "3rdparty/fsp/ApolloLakeFspBinPkg/Include/" config FSP_FD_PATH default "3rdparty/fsp/ApolloLakeFspBinPkg/FspBin/Fsp.fd" config FSP_M_ADDR hex default 0xfef40000 help The address FSP-M will be relocated to during build time config NEED_LBP2 bool "Write contents for logical boot partition 2." default n help Write the contents from a file into the logical boot partition 2 region defined by LBP2_FMAP_NAME. config LBP2_FMAP_NAME string "Name of FMAP region to put logical boot partition 2" depends on NEED_LBP2 default "SIGN_CSE" help Name of FMAP region to write logical boot partition 2 data. config LBP2_FROM_IFWI bool "Extract the LBP2 from the IFWI binary" depends on NEED_LBP2 default n help The Logical Boot Partition will be automatically extracted from the supplied IFWI binary config LBP2_FILE_NAME string "Path of file to write to logical boot partition 2 region" depends on NEED_LBP2 && !LBP2_FROM_IFWI default "3rdparty/blobs/mainboard/\$(CONFIG_MAINBOARD_DIR)/lbp2.bin" help Name of file to store in the logical boot partition 2 region. config NEED_IFWI bool "Write content into IFWI region" default n help Write the content from a file into IFWI region defined by IFWI_FMAP_NAME. config IFWI_FMAP_NAME string "Name of FMAP region to pull IFWI into" depends on NEED_IFWI default "IFWI" help Name of FMAP region to write IFWI. config IFWI_FILE_NAME string "Path of file to write to IFWI region" depends on NEED_IFWI default "3rdparty/blobs/mainboard/\$(CONFIG_MAINBOARD_DIR)/ifwi.bin" help Name of file to store in the IFWI region. config MAX_ROOT_PORTS int default 6 config NHLT_DMIC_1CH_16B bool depends on ACPI_NHLT default n help Include DSP firmware settings for 1 channel 16B DMIC array. config NHLT_DMIC_2CH_16B bool depends on ACPI_NHLT default n help Include DSP firmware settings for 2 channel 16B DMIC array. config NHLT_DMIC_4CH_16B bool depends on ACPI_NHLT default n help Include DSP firmware settings for 4 channel 16B DMIC array. config NHLT_MAX98357 bool depends on ACPI_NHLT default n help Include DSP firmware settings for headset codec. config NHLT_DA7219 bool depends on ACPI_NHLT default n help Include DSP firmware settings for headset codec. config NHLT_RT5682 bool depends on ACPI_NHLT default n help Include DSP firmware settings for headset codec. # # Each bit in QOS mask controls this many bytes. This is calculated as: # (CACHE_WAYS / CACHE_BITS_PER_MASK) * CACHE_LINE_SIZE * CACHE_SETS # config CACHE_QOS_SIZE_PER_BIT hex default 0x20000 # 128 KB config L2_CACHE_SIZE hex default 0x400000 if SOC_INTEL_GEMINILAKE default 0x100000 config SMM_RESERVED_SIZE hex default 0x100000 config CHIPSET_DEVICETREE string default "soc/intel/apollolake/chipset_glk.cb" if SOC_INTEL_GEMINILAKE default "soc/intel/apollolake/chipset_apl.cb" config IFD_CHIPSET string default "glk" if SOC_INTEL_GEMINILAKE default "aplk" config CPU_BCLK_MHZ int default 100 config CONSOLE_UART_BASE_ADDRESS hex default 0xcdffc000 depends on INTEL_LPSS_UART_FOR_CONSOLE # M and N divisor values for clock frequency configuration. # These values get us a 1.836 MHz clock (ideally we want 1.843 MHz) config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL hex default 0x25a config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL hex default 0x7fff config SOC_ESPI bool default n help Use eSPI bus instead of LPC config SOC_INTEL_COMMON_BLOCK_GSPI_MAX int default 3 config SOC_INTEL_I2C_DEV_MAX int default 8 # Don't include the early page tables in RW_A or RW_B cbfs regions config RO_REGION_ONLY string default "pdpt pt" config INTEL_GMA_PANEL_2 bool default n config INTEL_GMA_BCLV_OFFSET default 0xc8358 if INTEL_GMA_PANEL_2 default 0xc8258 config INTEL_GMA_BCLV_WIDTH default 32 config INTEL_GMA_BCLM_OFFSET default 0xc8354 if INTEL_GMA_PANEL_2 default 0xc8254 config INTEL_GMA_BCLM_WIDTH default 32 config BOOTBLOCK_IN_CBFS bool default n config HAVE_PAM0_REGISTER bool default n config DOMAIN_RESOURCE_32BIT_LIMIT default PCR_BASE_ADDRESS endif