blob: ee29b508496fc73a65c477a5680d3f78b430be2f [file] [log] [blame]
Ravi Sarawadib8224f42022-04-10 23:31:24 -07001config SOC_INTEL_METEORLAKE
2 bool
Ravi Sarawadi91ffac82022-05-07 16:37:09 -07003 help
4 Intel Meteorlake support
Ravi Sarawadib8224f42022-04-10 23:31:24 -07005
6if SOC_INTEL_METEORLAKE
7
8config CPU_SPECIFIC_OPTIONS
9 def_bool y
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070010 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Ravi Sarawadib8224f42022-04-10 23:31:24 -070011 select ARCH_X86
12 select BOOT_DEVICE_SUPPORTS_WRITES
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070013 select CACHE_MRC_SETTINGS
14 select CPU_INTEL_COMMON
Subrata Banik1f5154e2022-12-06 18:21:50 +053015 select CPU_INTEL_COMMON_VOLTAGE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070016 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
17 select CPU_SUPPORTS_INTEL_TME
18 select CPU_SUPPORTS_PM_TIMER_EMULATION
Matt DeVillierdecbf7b2023-01-18 18:58:38 -060019 select DEFAULT_SOFTWARE_CONNECTION_MANAGER if MAINBOARD_HAS_CHROMEOS
Subrata Banike96993d2022-07-09 22:06:45 +000020 select DEFAULT_X2APIC_LATE_WORKAROUND
Saurabh Mishra16ba8e12022-11-22 13:35:08 +053021 select DISPLAY_FSP_VERSION_INFO_2
Ravi Sarawadie02fd832022-05-08 00:27:31 -070022 select DRIVERS_USB_ACPI
Sean Rhodes7bbc9a52022-07-18 11:31:00 +010023 select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070024 select FSP_COMPRESS_FSP_S_LZ4
25 select FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070026 select FSP_M_XIP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070027 select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
Subrata Banike88bee72022-06-27 16:51:44 +053028 select FSP_USES_CB_DEBUG_EVENT_HANDLER
29 select FSPS_HAS_ARCH_UPD
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070030 select GENERIC_GPIO_LIB
Subrata Banike88bee72022-06-27 16:51:44 +053031 select HAVE_DEBUG_RAM_SETUP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070032 select HAVE_FSP_GOP
Eran Mitrani222903e2022-12-19 11:27:10 -080033 select HAVE_HYPERTHREADING
Subrata Banikc0f4b122022-12-06 14:03:07 +053034 select HAVE_INTEL_COMPLIANCE_TEST_MODE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070035 select HAVE_SMI_HANDLER
Ravi Sarawadib8224f42022-04-10 23:31:24 -070036 select IDT_IN_EVERY_STAGE
Subrata Banik0d6d2282022-07-09 22:17:02 +000037 select INTEL_DESCRIPTOR_MODE_CAPABLE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070038 select INTEL_GMA_ACPI
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070039 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Dinesh Gehlot0d76a302022-12-09 07:24:08 +000040 select INTEL_GMA_OPREGION_2_1
Subrata Banik0d6d2282022-07-09 22:17:02 +000041 select IOAPIC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070042 select MICROCODE_BLOB_UNDISCLOSED
Subrata Banika2473192023-02-22 13:03:04 +000043 select MP_SERVICES_PPI_V2
Subrata Banik0d6d2282022-07-09 22:17:02 +000044 select MRC_SETTINGS_PROTECT
Subrata Banik0d6d2282022-07-09 22:17:02 +000045 select PARALLEL_MP_AP_WORK
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070046 select PLATFORM_USES_FSP2_3
47 select PMC_GLOBAL_RESET_ENABLE_LOCK
Ravi Sarawadib8224f42022-04-10 23:31:24 -070048 select SOC_INTEL_COMMON
Ravi Sarawadie02fd832022-05-08 00:27:31 -070049 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070050 select SOC_INTEL_COMMON_BLOCK
Ravi Sarawadie02fd832022-05-08 00:27:31 -070051 select SOC_INTEL_COMMON_BLOCK_ACPI
52 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
Sridhar Siricillad1237da2022-12-09 01:13:45 +053053 select SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID
Ravi Sarawadie02fd832022-05-08 00:27:31 -070054 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
Subrata Banik2a2488f2022-12-05 20:28:42 +053055 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
Ravi Sarawadie02fd832022-05-08 00:27:31 -070056 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
57 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP_LPM_REQ
Ravi Sarawadib8224f42022-04-10 23:31:24 -070058 select SOC_INTEL_COMMON_BLOCK_CAR
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070059 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Subrata Banik00b682e2022-09-14 17:58:51 -070060 select SOC_INTEL_COMMON_BLOCK_CNVI
Ravi Sarawadib8224f42022-04-10 23:31:24 -070061 select SOC_INTEL_COMMON_BLOCK_CPU
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070062 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
63 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
64 select SOC_INTEL_COMMON_BLOCK_DTT
65 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Subrata Banik247dd0e2023-03-16 18:31:13 +053066 select SOC_INTEL_COMMON_BLOCK_GPIO_IOSTANDBY
Subrata Banikbae1de12022-07-21 13:43:37 +000067 select SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_PCR
Jamie Ryub6c32d72022-08-03 01:13:33 -070068 select SOC_INTEL_COMMON_BLOCK_GPIO_PMODE_4BITS
Ravi Sarawadib8224f42022-04-10 23:31:24 -070069 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070070 select SOC_INTEL_COMMON_BLOCK_HDA
Subrata Banik98b69672022-11-23 14:46:16 +053071 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070072 select SOC_INTEL_COMMON_BLOCK_IPU
73 select SOC_INTEL_COMMON_BLOCK_IOE_P2SB
Kapil Porwalcca3c902022-12-19 23:57:15 +053074 select SOC_INTEL_COMMON_BLOCK_IRQ
Dinesh Gehlotef2e4fc2023-02-20 13:15:13 +000075 select SOC_INTEL_COMMON_BLOCK_ME_SPEC_18
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070076 select SOC_INTEL_COMMON_BLOCK_MEMINIT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070077 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
78 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
79 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070080 select SOC_INTEL_COMMON_BLOCK_SA
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070081 select SOC_INTEL_COMMON_BLOCK_SMM
82 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070083 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070084 select SOC_INTEL_COMMON_BLOCK_XHCI
85 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
86 select SOC_INTEL_COMMON_BASECODE
Subrata Banik30a01142023-03-22 00:35:42 +053087 select SOC_INTEL_COMMON_BASECODE_RAMTOP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070088 select SOC_INTEL_COMMON_FSP_RESET
Angel Ponseb90c512022-07-18 14:41:24 +020089 select SOC_INTEL_COMMON_PCH_CLIENT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070090 select SOC_INTEL_COMMON_RESET
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070091 select SOC_INTEL_COMMON_BLOCK_IOC
Subrata Banik38793342023-04-19 18:38:03 +053092 select SOC_INTEL_CSE_SEND_EOP_LATE if !MAINBOARD_HAS_CHROMEOS
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070093 select SOC_INTEL_CSE_SET_EOP
Wonkyu Kima8884892022-08-10 14:10:03 -070094 select SOC_INTEL_GFX_NON_PREFETCHABLE_MMIO
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070095 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
Ravi Sarawadib8224f42022-04-10 23:31:24 -070096 select SSE2
97 select SUPPORT_CPU_UCODE_IN_CBFS
98 select TSC_MONOTONIC_TIMER
99 select UDELAY_TSC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700100 select UDK_202111_BINDING
Subrata Banik2921a222023-02-28 10:08:27 +0000101 select X86_CLFLUSH_CAR
Subrata Banik6a22c5f2022-11-21 17:39:57 +0530102 select X86_INIT_NEED_1_SIPI
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700103
Subrata Banik8e158592022-12-13 12:16:52 +0530104config SOC_INTEL_METEORLAKE_TCSS_USB4_SUPPORT
105 bool
106 default y
107 select SOC_INTEL_COMMON_BLOCK_TCSS
108 select SOC_INTEL_COMMON_BLOCK_USB4
109 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
110 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
111
Subrata Banik43004212022-12-13 12:20:47 +0530112config METEORLAKE_CAR_ENHANCED_NEM
113 bool
114 default y if !INTEL_CAR_NEM
115 select INTEL_CAR_NEM_ENHANCED
116 select CAR_HAS_SF_MASKS
117 select COS_MAPPED_TO_MSB
118 select CAR_HAS_L3_PROTECTED_WAYS
119
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700120config MAX_CPUS
121 int
122 default 22
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700123
124config DCACHE_RAM_BASE
125 default 0xfef00000
126
127config DCACHE_RAM_SIZE
128 default 0xc0000
129 help
130 The size of the cache-as-ram region required during bootblock
131 and/or romstage.
132
133config DCACHE_BSP_STACK_SIZE
134 hex
135 default 0x80400
136 help
137 The amount of anticipated stack usage in CAR by bootblock and
138 other stages. In the case of FSP_USES_CB_STACK default value will be
139 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
140 (~1KiB).
141
142config FSP_TEMP_RAM_SIZE
143 hex
144 default 0x20000
145 help
146 The amount of anticipated heap usage in CAR by FSP.
147 Refer to Platform FSP integration guide document to know
148 the exact FSP requirement for Heap setup.
149
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700150config CHIPSET_DEVICETREE
151 string
152 default "soc/intel/meteorlake/chipset.cb"
153
154config EXT_BIOS_WIN_BASE
155 default 0xf8000000
156
157config EXT_BIOS_WIN_SIZE
158 default 0x2000000
159
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700160config IFD_CHIPSET
161 string
Subrata Banikd624e742022-07-06 06:45:57 +0000162 default "mtl"
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700163
164config IED_REGION_SIZE
165 hex
166 default 0x400000
167
168config HEAP_SIZE
169 hex
170 default 0x10000
171
Subrata Banika33bcb92022-07-06 07:07:26 +0000172# Intel recommends reserving the PCIe TBT root port resources as below:
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700173# - 42 buses
174# - 194 MiB Non-prefetchable memory
175# - 448 MiB Prefetchable memory
176if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
177
178config PCIEXP_HOTPLUG_BUSES
179 int
180 default 42
181
182config PCIEXP_HOTPLUG_MEM
183 hex
184 default 0xc200000
185
186config PCIEXP_HOTPLUG_PREFETCH_MEM
187 hex
188 default 0x1c000000
189
190endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
191
192config MAX_TBT_ROOT_PORTS
193 int
194 default 4
195
196config MAX_ROOT_PORTS
197 int
198 default 12
199
200config MAX_PCIE_CLOCK_SRC
201 int
202 default 9
203
204config SMM_TSEG_SIZE
205 hex
206 default 0x800000
207
208config SMM_RESERVED_SIZE
209 hex
210 default 0x200000
211
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700212config PCR_BASE_ADDRESS
213 hex
214 default 0xe0000000
215 help
216 This option allows you to select MMIO Base Address of sideband bus.
217
218config ECAM_MMCONF_BASE_ADDRESS
219 default 0xc0000000
220
Sridhar Siricillad9c82692023-01-05 17:08:17 +0530221config SOC_INTEL_PERFORMANCE_CORE_SCALE_FACTOR
222 int
223 default 125
224
225config SOC_INTEL_EFFICIENT_CORE_SCALE_FACTOR
226 int
227 default 100
228
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700229config CPU_BCLK_MHZ
230 int
231 default 100
232
233config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
234 int
235 default 120
236
237config CPU_XTAL_HZ
238 default 38400000
239
240config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
241 int
242 default 133
243
244config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
245 int
Subrata Banike54a8fd2022-07-06 12:54:48 +0000246 default 3
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700247
248config SOC_INTEL_I2C_DEV_MAX
249 int
250 default 6
251
252config SOC_INTEL_UART_DEV_MAX
253 int
254 default 3
255
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700256config SOC_INTEL_USB2_DEV_MAX
257 int
258 default 10
259
260config SOC_INTEL_USB3_DEV_MAX
261 int
262 default 2
263
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700264config CONSOLE_UART_BASE_ADDRESS
265 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700266 default 0xfe02c000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700267 depends on INTEL_LPSS_UART_FOR_CONSOLE
268
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700269config VBT_DATA_SIZE_KB
270 int
271 default 9
272
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700273# Clock divider parameters for 115200 baud rate
Angel Pons054ff5e2022-06-26 10:19:53 +0200274# Baudrate = (UART source clock * M) /(N *16)
Wonkyu Kim60d9b892022-10-10 23:01:38 -0700275# MTL UART source clock: 100MHz
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700276config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
277 hex
278 default 0x25a
279
280config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
281 hex
282 default 0x7fff
283
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700284config VBOOT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700285 select VBOOT_SEPARATE_VERSTAGE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700286 select VBOOT_MUST_REQUEST_DISPLAY
287 select VBOOT_STARTS_IN_BOOTBLOCK
288 select VBOOT_VBNV_CMOS
289 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
290 select VBOOT_X86_SHA256_ACCELERATION
291
Subrata Banikfebd3d72022-05-30 13:59:25 +0530292# Default hash block size is 1KiB. Increasing it to 4KiB to improve
293# hashing time as well as read time.
294config VBOOT_HASH_BLOCK_SIZE
295 hex
296 default 0x1000
297
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700298config CBFS_SIZE
299 hex
300 default 0x200000
301
302config PRERAM_CBMEM_CONSOLE_SIZE
303 hex
Subrata Banikdeebd942023-05-08 10:29:42 +0000304 default 0x16000 if BUILDING_WITH_DEBUG_FSP
Subrata Banik7d1995c2022-05-30 13:56:13 +0530305 default 0x2000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700306
Kapil Porwal1eb44252023-01-18 01:10:04 +0530307config CONSOLE_CBMEM_BUFFER_SIZE
308 hex
Subrata Banikdeebd942023-05-08 10:29:42 +0000309 default 0x100000 if BUILDING_WITH_DEBUG_FSP
Kapil Porwal1eb44252023-01-18 01:10:04 +0530310 default 0x40000
311
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700312config FSP_HEADER_PATH
313 string "Location of FSP headers"
314 default "src/vendorcode/intel/fsp/fsp2_0/meteorlake/"
315
316config FSP_FD_PATH
317 string
318 depends on FSP_USE_REPO
319 default "3rdparty/fsp/MeteorLakeFspBinPkg/Fsp.fd"
320
321config SOC_INTEL_METEORLAKE_DEBUG_CONSENT
322 int "Debug Consent for MTL"
323 # USB DBC is more common for developers so make this default to 3 if
324 # SOC_INTEL_DEBUG_CONSENT=y
Subrata Banik653e1572022-07-20 12:26:24 +0000325 default 3 if SOC_INTEL_DEBUG_CONSENT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700326 default 0
327 help
328 This is to control debug interface on SOC.
329 Setting non-zero value will allow to use DBC or DCI to debug SOC.
330 PlatformDebugConsent in FspmUpd.h has the details.
331
332 Desired platform debug type are
333 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
334 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
335 6:Enable (2-wire DCI OOB), 7:Manual
336
337config DATA_BUS_WIDTH
338 int
339 default 128
340
341config DIMMS_PER_CHANNEL
342 int
343 default 2
344
345config MRC_CHANNEL_WIDTH
346 int
347 default 16
348
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700349config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
350 hex
351 default 0x800000
352
Kapil Porwale988cc22023-01-16 16:41:49 +0000353config FSP_PUBLISH_MBP_HOB
354 bool
355 default n if CHROMEOS
356 default y
357 help
358 This is to control creation of ME_BIOS_PAYLOAD_HOB (MBP HOB) by FSP.
359 Disabling it for the platforms, which do not use MBP HOB, can improve the boot time.
360
Subrata Banik6ee454a2023-03-30 21:01:44 +0530361config BUILDING_WITH_DEBUG_FSP
362 bool "Debug FSP is used for the build"
363 default n
364 help
365 Set this option if debug build of FSP is used.
366
Subrata Banikfa85b0f2023-04-02 15:31:06 +0530367config DROP_CPU_FEATURE_PROGRAM_IN_FSP
368 bool
Subrata Banik03ff5db2023-04-02 15:44:13 +0530369 default y if MP_SERVICES_PPI_V2_NOOP || CHROMEOS
Subrata Banikfa85b0f2023-04-02 15:31:06 +0530370 default n
371 help
372 This is to avoid FSP running basic CPU feature programming on BSP
373 and on APs using the "CpuFeaturesPei.efi" module. The feature programming
374 includes enabling x2APIC, MCA, MCE and Turbo etc.
375
376 Most of these feature programming are getting performed today in scope
377 of coreboot doing MP Init. Running these redundant programming in scope
378 of FSP (when `USE_FSP_FEATURE_PROGRAM_ON_APS` config is enabled) would
379 results in CPU exception.
380
381 SoC users to select this config after dropping "CpuFeaturesPei.ffs" module
382 from FSP-S Firmware Volume (FV). Upon selection, coreboot runs those additional
383 feature programming on BSP and APs.
384
385 This feature is default enabled, in case of "coreboot running MP init"
386 aka MP_SERVICES_PPI_V2_NOOP config is selected.
387
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700388endif