blob: f233ed90c9bd2406f8e59c7cc05e2cbf4ffd1223 [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
Dinesh Gehlot90723332023-02-24 05:13:42 +000053 select SOC_INTEL_COMMON_BLOCK_ME_SPEC_15
Lean Sheng Tan75020002021-06-30 01:47:48 -070054 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
55 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070056 select SOC_INTEL_COMMON_BLOCK_SA
57 select SOC_INTEL_COMMON_BLOCK_SCS
58 select SOC_INTEL_COMMON_BLOCK_SMM
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070059 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banik4ed9f9a2020-10-31 22:01:55 +053060 select SOC_INTEL_COMMON_FSP_RESET
Angel Ponseb90c512022-07-18 14:41:24 +020061 select SOC_INTEL_COMMON_PCH_CLIENT
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070062 select SOC_INTEL_COMMON_RESET
Subrata Banikaf27ac22022-02-18 00:44:15 +053063 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070064 select SSE2
65 select SUPPORT_CPU_UCODE_IN_CBFS
66 select TSC_MONOTONIC_TIMER
67 select UDELAY_TSC
68 select UDK_202005_BINDING
Subrata Banik34f26b22022-02-10 12:38:02 +053069 select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
Uwe Poeche954af522022-05-24 08:45:13 +020070 select SOC_INTEL_RAPL_DISABLE_VIA_MCHBAR
Lean Sheng Tan41546a52023-03-13 14:56:31 +010071 select X86_CLFLUSH_CAR
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070072
73config MAX_CPUS
74 int
75 default 4
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070076
77config DCACHE_RAM_BASE
78 default 0xfef00000
79
80config DCACHE_RAM_SIZE
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070081 default 0xc0000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070082 help
83 The size of the cache-as-ram region required during bootblock
84 and/or romstage.
85
86config DCACHE_BSP_STACK_SIZE
87 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070088 default 0x30000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070089 help
90 The amount of anticipated stack usage in CAR by bootblock and
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070091 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).
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070093
94config FSP_TEMP_RAM_SIZE
95 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -070096 default 0x40000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -070097 help
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.
101
102config IFD_CHIPSET
103 string
104 default "ehl"
105
106config IED_REGION_SIZE
107 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700108 default 0x0
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700109
110config HEAP_SIZE
111 hex
112 default 0x8000
113
114config MAX_ROOT_PORTS
115 int
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700116 default 7
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700117
Lean Sheng Tanc6c54432021-05-30 09:08:35 -0700118config MAX_SATA_PORTS
119 int
120 default 2
121
Rizwan Qureshia9794602021-04-08 20:31:47 +0530122config MAX_PCIE_CLOCK_SRC
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700123 int
124 default 6
125
126config SMM_TSEG_SIZE
127 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700128 default 0x1000000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700129
130config SMM_RESERVED_SIZE
131 hex
132 default 0x200000
133
134config PCR_BASE_ADDRESS
135 hex
136 default 0xfd000000
137 help
138 This option allows you to select MMIO Base Address of sideband bus.
139
Shelley Chen4e9bb332021-10-20 15:43:45 -0700140config ECAM_MMCONF_BASE_ADDRESS
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700141 default 0xc0000000
142
143config CPU_BCLK_MHZ
144 int
145 default 100
146
147config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
148 int
149 default 120
150
Michael Niewöhnerdadcbfb2020-10-04 14:48:05 +0200151config CPU_XTAL_HZ
152 default 38400000
153
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700154config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
155 int
Werner Zeh14612f62022-11-07 07:50:51 +0100156 default 100
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700157
158config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
159 int
160 default 3
161
162config SOC_INTEL_I2C_DEV_MAX
163 int
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700164 default 8
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700165
166config SOC_INTEL_UART_DEV_MAX
167 int
168 default 3
169
170config CONSOLE_UART_BASE_ADDRESS
171 hex
Tan, Lean Shengece0fe32020-09-03 07:32:48 -0700172 default 0xfe042000
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700173 depends on INTEL_LPSS_UART_FOR_CONSOLE
174
175# Clock divider parameters for 115200 baud rate
Lean Sheng Tan471dca72021-07-19 01:57:16 -0700176# Baudrate = (UART source clock * M) /(N *16)
Wonkyu Kim60d9b892022-10-10 23:01:38 -0700177# EHL UART source clock: 100MHz
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700178config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
179 hex
Lean Sheng Tan471dca72021-07-19 01:57:16 -0700180 default 0x25a
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700181
182config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
183 hex
Lean Sheng Tan471dca72021-07-19 01:57:16 -0700184 default 0x7fff
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700185
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700186config VBOOT
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700187 select VBOOT_MUST_REQUEST_DISPLAY
188 select VBOOT_STARTS_IN_BOOTBLOCK
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700189
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700190config CBFS_SIZE
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700191 default 0x200000
192
193config FSP_HEADER_PATH
Lean Sheng Tan79fcadb2021-06-04 08:54:29 -0700194 default "3rdparty/fsp/ElkhartLakeFspBinPkg/Include/"
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700195
196config FSP_FD_PATH
Lean Sheng Tan79fcadb2021-06-04 08:54:29 -0700197 string
198 depends on FSP_USE_REPO
199 default "3rdparty/fsp/ElkhartLakeFspBinPkg/FspBin/FSPRel.bin"
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700200
Lean Sheng Tan5cd75792021-06-09 13:58:12 -0700201config PSE_ENABLE
202 bool "Enable PSE ARM controller"
203 help
204 Enable PSE IP. The PSE describes the integrated programmable
205 service engine that is designed together with x86 Atom cores
206 as an Asymmetric Multi-Processing (AMP) system.
207
208config ADD_PSE_IMAGE_TO_CBFS
209 bool "Add PSE Firmware to CBFS"
210 depends on PSE_ENABLE
211 default n
212 help
213 PSE FW binary is required to use PSE dedicated peripherals from
214 x86 subsystem. Once PSE is enabled, the FW will be loaded from
215 CBFS by FSP and executed.
216
217config PSE_IMAGE_FILE
218 string "PSE binary path and filename"
219 depends on ADD_PSE_IMAGE_TO_CBFS
220 help
221 The path and filename of the PSE binary.
222
223config PSE_FW_FILE_SIZE_KIB
224 hex "Memory buffer (KiB) for PSE FW image"
225 depends on ADD_PSE_IMAGE_TO_CBFS
226 default 0x200
227 help
228 It is recommended to allocate at least 512 KiB for PSE FW.
229
230config PSE_CONFIG_BUFFER_SIZE_KIB
231 hex "Memory buffer (KiB) for PSE config data"
232 depends on ADD_PSE_IMAGE_TO_CBFS
233 default 0x100
234 help
235 It is recommended to allocate at least 256 KiB for PSE config
236 data (FSP will append PSE config data to memory region right
237 after PSE FW memory region).
238
Mario Scheithauereda66c32022-04-26 13:50:52 +0200239config EHL_TSN_DRIVER
240 bool
241 default n
242 help
243 Enable TSN GbE driver to provide board specific settings in the GBE MAC.
244 As an example of a possible change, the MAC address could be adjusted.
245
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700246config SOC_INTEL_ELKHARTLAKE_DEBUG_CONSENT
247 int "Debug Consent for EHL"
248 # USB DBC is more common for developers so make this default to 3 if
249 # SOC_INTEL_DEBUG_CONSENT=y
250 default 3 if SOC_INTEL_DEBUG_CONSENT
251 default 0
252 help
253 This is to control debug interface on SOC.
254 Setting non-zero value will allow to use DBC or DCI to debug SOC.
255 PlatformDebugConsent in FspmUpd.h has the details.
256
257 Desired platform debug type are
258 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
259 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
260 6:Enable (2-wire DCI OOB), 7:Manual
261
262config PRERAM_CBMEM_CONSOLE_SIZE
263 hex
264 default 0x1400
Werner Zeh00998322022-01-18 12:31:08 +0100265
266config SOC_INTEL_ELKHARTLAKE_TCO_NO_REBOOT_EN
267 bool "Disable reset on second TCO expiration"
268 depends on SOC_INTEL_COMMON_BLOCK_TCO
269 default n
270 help
271 Setting this option will prevent a host reset if the TCO timer expires
272 for the second time. Since this feature is not exposed to the OS in the
273 standard TCO interface, this setting can be enabled on firmware level.
274 This might be useful depending on the TCO policy.
Tan, Lean Sheng05dfe312020-08-25 20:40:17 -0700275endif