blob: 8e3dc1196a268a18aa47d3549332e2cea1f736ee [file] [log] [blame]
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -07001config SOC_INTEL_ELKHARTLAKE
2 bool
3 help
4 Intel Elkhartlake support
5
6if SOC_INTEL_ELKHARTLAKE
7
8config CPU_SPECIFIC_OPTIONS
9 def_bool y
10 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Angel Pons8e035e32021-06-22 12:58:20 +020011 select ARCH_X86
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070012 select BOOT_DEVICE_SUPPORTS_WRITES
13 select CACHE_MRC_SETTINGS
14 select CPU_INTEL_COMMON
15 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Michael Niewöhnerfe6070f2020-10-04 15:16:04 +020016 select CPU_SUPPORTS_PM_TIMER_EMULATION
Subrata Banik34f26b22022-02-10 12:38:02 +053017 select DISPLAY_FSP_VERSION_INFO
Sean Rhodes7bbc9a52022-07-18 11:31:00 +010018 select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070019 select FSP_COMPRESS_FSP_S_LZ4
20 select FSP_M_XIP
Subrata Banik4ed9f9a2020-10-31 22:01:55 +053021 select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070022 select GENERIC_GPIO_LIB
23 select HAVE_FSP_GOP
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070024 select HAVE_SMI_HANDLER
25 select IDT_IN_EVERY_STAGE
Subrata Banike9d06532022-01-28 23:06:58 +053026 select INTEL_CAR_NEM
Subrata Banik34f26b22022-02-10 12:38:02 +053027 select INTEL_DESCRIPTOR_MODE_CAPABLE
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070028 select INTEL_GMA_ACPI
29 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Aamir Bohra30cca6c2021-02-04 20:57:51 +053030 select MP_SERVICES_PPI_V1
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070031 select MRC_SETTINGS_PROTECT
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070032 select PARALLEL_MP_AP_WORK
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070033 select PLATFORM_USES_FSP2_1
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070034 select PMC_GLOBAL_RESET_ENABLE_LOCK
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070035 select SOC_INTEL_COMMON
36 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
37 select SOC_INTEL_COMMON_BLOCK
38 select SOC_INTEL_COMMON_BLOCK_ACPI
Michael Niewöhner02275be2020-11-12 23:50:37 +010039 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
Angel Pons98f672a2021-02-19 19:42:10 +010040 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
Michael Niewöhner8a6c34e2021-01-01 21:26:42 +010041 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
Tim Wawrzynczak46c5f8f2021-07-01 08:45:47 -060042 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
Subrata Banik21974ab2020-10-31 21:40:43 +053043 select SOC_INTEL_COMMON_BLOCK_CAR
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070044 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
45 select SOC_INTEL_COMMON_BLOCK_CPU
46 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Angel Ponsa4cd9112021-02-19 19:23:38 +010047 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070048 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
49 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
50 select SOC_INTEL_COMMON_BLOCK_HDA
Subrata Banik34f26b22022-02-10 12:38:02 +053051 select HAVE_INTEL_FSP_REPO
Subrata Banike49a6152022-01-28 23:03:55 +053052 select HECI_DISABLE_USING_SMM if DISABLE_HECI1_AT_PRE_BOOT
Lean Sheng Tan75020002021-06-30 01:47:48 -070053 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
54 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070055 select SOC_INTEL_COMMON_BLOCK_SA
56 select SOC_INTEL_COMMON_BLOCK_SCS
57 select SOC_INTEL_COMMON_BLOCK_SMM
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070058 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banik4ed9f9a2020-10-31 22:01:55 +053059 select SOC_INTEL_COMMON_FSP_RESET
Angel Ponseb90c512022-07-18 14:41:24 +020060 select SOC_INTEL_COMMON_PCH_CLIENT
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070061 select SOC_INTEL_COMMON_RESET
Subrata Banikaf27ac22022-02-18 00:44:15 +053062 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070063 select SSE2
64 select SUPPORT_CPU_UCODE_IN_CBFS
65 select TSC_MONOTONIC_TIMER
66 select UDELAY_TSC
67 select UDK_202005_BINDING
Subrata Banik34f26b22022-02-10 12:38:02 +053068 select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
Uwe Poeche954af522022-05-24 08:45:13 +020069 select SOC_INTEL_RAPL_DISABLE_VIA_MCHBAR
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070070
71config MAX_CPUS
72 int
73 default 4
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070074
75config DCACHE_RAM_BASE
76 default 0xfef00000
77
78config DCACHE_RAM_SIZE
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070079 default 0xc0000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070080 help
81 The size of the cache-as-ram region required during bootblock
82 and/or romstage.
83
84config DCACHE_BSP_STACK_SIZE
85 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070086 default 0x30000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070087 help
88 The amount of anticipated stack usage in CAR by bootblock and
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070089 other stages. In the case of FSP_USES_CB_STACK default value will be
90 sum of FSP-M stack requirement (192KiB) and CB romstage stack requirement (~1KiB).
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070091
92config FSP_TEMP_RAM_SIZE
93 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070094 default 0x40000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070095 help
96 The amount of anticipated heap usage in CAR by FSP.
97 Refer to Platform FSP integration guide document to know
98 the exact FSP requirement for Heap setup.
99
100config IFD_CHIPSET
101 string
102 default "ehl"
103
104config IED_REGION_SIZE
105 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700106 default 0x0
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700107
108config HEAP_SIZE
109 hex
110 default 0x8000
111
112config MAX_ROOT_PORTS
113 int
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700114 default 7
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700115
Lean Sheng Tanc6c54432021-05-30 09:08:35 -0700116config MAX_SATA_PORTS
117 int
118 default 2
119
Rizwan Qureshia9794602021-04-08 20:31:47 +0530120config MAX_PCIE_CLOCK_SRC
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700121 int
122 default 6
123
124config SMM_TSEG_SIZE
125 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700126 default 0x1000000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700127
128config SMM_RESERVED_SIZE
129 hex
130 default 0x200000
131
132config PCR_BASE_ADDRESS
133 hex
134 default 0xfd000000
135 help
136 This option allows you to select MMIO Base Address of sideband bus.
137
Shelley Chen4e9bb332021-10-20 15:43:45 -0700138config ECAM_MMCONF_BASE_ADDRESS
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700139 default 0xc0000000
140
141config CPU_BCLK_MHZ
142 int
143 default 100
144
145config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
146 int
147 default 120
148
Michael Niewöhnerdadcbfb2020-10-04 14:48:05 +0200149config CPU_XTAL_HZ
150 default 38400000
151
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700152config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
153 int
Werner Zeh14612f62022-11-07 07:50:51 +0100154 default 100
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700155
156config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
157 int
158 default 3
159
160config SOC_INTEL_I2C_DEV_MAX
161 int
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700162 default 8
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700163
164config SOC_INTEL_UART_DEV_MAX
165 int
166 default 3
167
168config CONSOLE_UART_BASE_ADDRESS
169 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700170 default 0xfe042000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700171 depends on INTEL_LPSS_UART_FOR_CONSOLE
172
173# Clock divider parameters for 115200 baud rate
Lean Sheng Tan471dca72021-07-19 01:57:16 -0700174# Baudrate = (UART source clock * M) /(N *16)
Wonkyu Kim60d9b892022-10-10 23:01:38 -0700175# EHL UART source clock: 100MHz
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700176config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
177 hex
Lean Sheng Tan471dca72021-07-19 01:57:16 -0700178 default 0x25a
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700179
180config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
181 hex
Lean Sheng Tan471dca72021-07-19 01:57:16 -0700182 default 0x7fff
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700183
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700184config VBOOT
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700185 select VBOOT_MUST_REQUEST_DISPLAY
186 select VBOOT_STARTS_IN_BOOTBLOCK
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700187
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700188config CBFS_SIZE
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700189 default 0x200000
190
191config FSP_HEADER_PATH
Lean Sheng Tan79fcadb2021-06-04 08:54:29 -0700192 default "3rdparty/fsp/ElkhartLakeFspBinPkg/Include/"
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700193
194config FSP_FD_PATH
Lean Sheng Tan79fcadb2021-06-04 08:54:29 -0700195 string
196 depends on FSP_USE_REPO
197 default "3rdparty/fsp/ElkhartLakeFspBinPkg/FspBin/FSPRel.bin"
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700198
Lean Sheng Tan5cd75792021-06-09 13:58:12 -0700199config PSE_ENABLE
200 bool "Enable PSE ARM controller"
201 help
202 Enable PSE IP. The PSE describes the integrated programmable
203 service engine that is designed together with x86 Atom cores
204 as an Asymmetric Multi-Processing (AMP) system.
205
206config ADD_PSE_IMAGE_TO_CBFS
207 bool "Add PSE Firmware to CBFS"
208 depends on PSE_ENABLE
209 default n
210 help
211 PSE FW binary is required to use PSE dedicated peripherals from
212 x86 subsystem. Once PSE is enabled, the FW will be loaded from
213 CBFS by FSP and executed.
214
215config PSE_IMAGE_FILE
216 string "PSE binary path and filename"
217 depends on ADD_PSE_IMAGE_TO_CBFS
218 help
219 The path and filename of the PSE binary.
220
221config PSE_FW_FILE_SIZE_KIB
222 hex "Memory buffer (KiB) for PSE FW image"
223 depends on ADD_PSE_IMAGE_TO_CBFS
224 default 0x200
225 help
226 It is recommended to allocate at least 512 KiB for PSE FW.
227
228config PSE_CONFIG_BUFFER_SIZE_KIB
229 hex "Memory buffer (KiB) for PSE config data"
230 depends on ADD_PSE_IMAGE_TO_CBFS
231 default 0x100
232 help
233 It is recommended to allocate at least 256 KiB for PSE config
234 data (FSP will append PSE config data to memory region right
235 after PSE FW memory region).
236
Mario Scheithauereda66c32022-04-26 13:50:52 +0200237config EHL_TSN_DRIVER
238 bool
239 default n
240 help
241 Enable TSN GbE driver to provide board specific settings in the GBE MAC.
242 As an example of a possible change, the MAC address could be adjusted.
243
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700244config SOC_INTEL_ELKHARTLAKE_DEBUG_CONSENT
245 int "Debug Consent for EHL"
246 # USB DBC is more common for developers so make this default to 3 if
247 # SOC_INTEL_DEBUG_CONSENT=y
248 default 3 if SOC_INTEL_DEBUG_CONSENT
249 default 0
250 help
251 This is to control debug interface on SOC.
252 Setting non-zero value will allow to use DBC or DCI to debug SOC.
253 PlatformDebugConsent in FspmUpd.h has the details.
254
255 Desired platform debug type are
256 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
257 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
258 6:Enable (2-wire DCI OOB), 7:Manual
259
260config PRERAM_CBMEM_CONSOLE_SIZE
261 hex
262 default 0x1400
Werner Zeh00998322022-01-18 12:31:08 +0100263
264config SOC_INTEL_ELKHARTLAKE_TCO_NO_REBOOT_EN
265 bool "Disable reset on second TCO expiration"
266 depends on SOC_INTEL_COMMON_BLOCK_TCO
267 default n
268 help
269 Setting this option will prevent a host reset if the TCO timer expires
270 for the second time. Since this feature is not exposed to the OS in the
271 standard TCO interface, this setting can be enabled on firmware level.
272 This might be useful depending on the TCO policy.
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700273endif