1 ## SPDX-License-Identifier: GPL-2.0-only
3 config SOC_INTEL_ELKHARTLAKE
5 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
7 select BOOT_DEVICE_SUPPORTS_WRITES
8 select CACHE_MRC_SETTINGS
9 select CPU_INTEL_COMMON
10 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
11 select CPU_SUPPORTS_PM_TIMER_EMULATION
12 select DISPLAY_FSP_VERSION_INFO
13 select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
14 select FSP_COMPRESS_FSP_S_LZ4
16 select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
17 select GENERIC_GPIO_LIB
19 select HAVE_SMI_HANDLER
20 select IDT_IN_EVERY_STAGE
22 select INTEL_DESCRIPTOR_MODE_CAPABLE
24 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
25 select MP_SERVICES_PPI_V1
26 select MRC_SETTINGS_PROTECT
27 select NEED_SMALL_2MB_PAGE_TABLES
28 select PARALLEL_MP_AP_WORK
29 select PLATFORM_USES_FSP2_1
30 select PMC_GLOBAL_RESET_ENABLE_LOCK
31 select SOC_INTEL_COMMON
32 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
33 select SOC_INTEL_COMMON_BLOCK
34 select SOC_INTEL_COMMON_BLOCK_ACPI
35 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
36 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
37 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
38 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
39 select SOC_INTEL_COMMON_BLOCK_CAR
40 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
41 select SOC_INTEL_COMMON_BLOCK_CPU
42 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
43 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
44 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
45 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
46 select SOC_INTEL_COMMON_BLOCK_HDA
47 select HAVE_INTEL_FSP_REPO
48 select HECI_DISABLE_USING_SMM if DISABLE_HECI1_AT_PRE_BOOT
49 select SOC_INTEL_COMMON_BLOCK_ME_SPEC_15
50 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
51 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
52 select SOC_INTEL_COMMON_BLOCK_SA
53 select SOC_INTEL_COMMON_BLOCK_SCS
54 select SOC_INTEL_COMMON_BLOCK_SMM
55 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
56 select SOC_INTEL_COMMON_FSP_RESET
57 select SOC_INTEL_COMMON_PCH_CLIENT
58 select SOC_INTEL_COMMON_RESET
59 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
61 select SUPPORT_CPU_UCODE_IN_CBFS
62 select TSC_MONOTONIC_TIMER
64 select UDK_202005_BINDING
65 select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
66 select SOC_INTEL_RAPL_DISABLE_VIA_MCHBAR
67 select X86_CLFLUSH_CAR
69 Intel Elkhartlake support
71 if SOC_INTEL_ELKHARTLAKE
77 config DCACHE_RAM_BASE
80 config DCACHE_RAM_SIZE
83 The size of the cache-as-ram region required during bootblock
86 config DCACHE_BSP_STACK_SIZE
90 The amount of anticipated stack usage in CAR by bootblock and
91 other stages. In the case of FSP_USES_CB_STACK default value will be
92 sum of FSP-M stack requirement (192KiB) and CB romstage stack requirement (~1KiB).
94 config FSP_TEMP_RAM_SIZE
98 The amount of anticipated heap usage in CAR by FSP.
99 Refer to Platform FSP integration guide document to know
100 the exact FSP requirement for Heap setup.
106 config IED_REGION_SIZE
110 config MAX_ROOT_PORTS
114 config MAX_SATA_PORTS
118 config MAX_PCIE_CLOCK_SRC
126 config SMM_RESERVED_SIZE
130 config PCR_BASE_ADDRESS
134 This option allows you to select MMIO Base Address of sideband bus.
136 config ECAM_MMCONF_BASE_ADDRESS
143 config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
150 config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
154 config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
158 config SOC_INTEL_I2C_DEV_MAX
162 config SOC_INTEL_UART_DEV_MAX
166 config CONSOLE_UART_BASE_ADDRESS
169 depends on INTEL_LPSS_UART_FOR_CONSOLE
171 # Clock divider parameters for 115200 baud rate
172 # Baudrate = (UART source clock * M) /(N *16)
173 # EHL UART source clock: 100MHz
174 config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
178 config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
183 select VBOOT_MUST_REQUEST_DISPLAY
184 select VBOOT_STARTS_IN_BOOTBLOCK
189 config FSP_HEADER_PATH
190 default "3rdparty/fsp/ElkhartLakeFspBinPkg/Include/"
194 depends on FSP_USE_REPO
195 default "3rdparty/fsp/ElkhartLakeFspBinPkg/FspBin/FSPRel.bin"
198 bool "Enable PSE ARM controller"
200 Enable PSE IP. The PSE describes the integrated programmable
201 service engine that is designed together with x86 Atom cores
202 as an Asymmetric Multi-Processing (AMP) system.
204 config ADD_PSE_IMAGE_TO_CBFS
205 bool "Add PSE Firmware to CBFS"
206 depends on PSE_ENABLE
209 PSE FW binary is required to use PSE dedicated peripherals from
210 x86 subsystem. Once PSE is enabled, the FW will be loaded from
211 CBFS by FSP and executed.
213 config PSE_IMAGE_FILE
214 string "PSE binary path and filename"
215 depends on ADD_PSE_IMAGE_TO_CBFS
217 The path and filename of the PSE binary.
219 config PSE_FW_FILE_SIZE_KIB
220 hex "Memory buffer (KiB) for PSE FW image"
221 depends on ADD_PSE_IMAGE_TO_CBFS
224 It is recommended to allocate at least 512 KiB for PSE FW.
226 config PSE_CONFIG_BUFFER_SIZE_KIB
227 hex "Memory buffer (KiB) for PSE config data"
228 depends on ADD_PSE_IMAGE_TO_CBFS
231 It is recommended to allocate at least 256 KiB for PSE config
232 data (FSP will append PSE config data to memory region right
233 after PSE FW memory region).
235 config EHL_TSN_DRIVER
239 Enable TSN GbE driver to provide board specific settings in the GBE MAC.
240 As an example of a possible change, the MAC address could be adjusted.
242 config SOC_INTEL_ELKHARTLAKE_DEBUG_CONSENT
243 int "Debug Consent for EHL"
244 # USB DBC is more common for developers so make this default to 3 if
245 # SOC_INTEL_DEBUG_CONSENT=y
246 default 3 if SOC_INTEL_DEBUG_CONSENT
249 This is to control debug interface on SOC.
250 Setting non-zero value will allow to use DBC or DCI to debug SOC.
251 PlatformDebugConsent in FspmUpd.h has the details.
253 Desired platform debug type are
254 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
255 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
256 6:Enable (2-wire DCI OOB), 7:Manual
258 config PRERAM_CBMEM_CONSOLE_SIZE
262 config SOC_INTEL_ELKHARTLAKE_TCO_NO_REBOOT_EN
263 bool "Disable reset on second TCO expiration"
264 depends on SOC_INTEL_COMMON_BLOCK_TCO
267 Setting this option will prevent a host reset if the TCO timer expires
268 for the second time. Since this feature is not exposed to the OS in the
269 standard TCO interface, this setting can be enabled on firmware level.
270 This might be useful depending on the TCO policy.