blob: c00be8fe20d9eac1b8ca437e33181ffcb6d3c379 [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
Subrata Banikc0f4b122022-12-06 14:03:07 +053033 select HAVE_INTEL_COMPLIANCE_TEST_MODE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070034 select HAVE_SMI_HANDLER
Ravi Sarawadib8224f42022-04-10 23:31:24 -070035 select IDT_IN_EVERY_STAGE
Subrata Banik0d6d2282022-07-09 22:17:02 +000036 select INTEL_DESCRIPTOR_MODE_CAPABLE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070037 select INTEL_GMA_ACPI
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070038 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Dinesh Gehlot0d76a302022-12-09 07:24:08 +000039 select INTEL_GMA_OPREGION_2_1
Subrata Banik0d6d2282022-07-09 22:17:02 +000040 select IOAPIC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070041 select MICROCODE_BLOB_UNDISCLOSED
Subrata Banik0d6d2282022-07-09 22:17:02 +000042 select MRC_SETTINGS_PROTECT
Subrata Banik0d6d2282022-07-09 22:17:02 +000043 select PARALLEL_MP_AP_WORK
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070044 select PLATFORM_USES_FSP2_3
45 select PMC_GLOBAL_RESET_ENABLE_LOCK
Ravi Sarawadib8224f42022-04-10 23:31:24 -070046 select SOC_INTEL_COMMON
Ravi Sarawadie02fd832022-05-08 00:27:31 -070047 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070048 select SOC_INTEL_COMMON_BLOCK
Ravi Sarawadie02fd832022-05-08 00:27:31 -070049 select SOC_INTEL_COMMON_BLOCK_ACPI
50 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
Sridhar Siricillad1237da2022-12-09 01:13:45 +053051 select SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID
Ravi Sarawadie02fd832022-05-08 00:27:31 -070052 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
Subrata Banik2a2488f2022-12-05 20:28:42 +053053 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
Ravi Sarawadie02fd832022-05-08 00:27:31 -070054 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
55 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP_LPM_REQ
Ravi Sarawadib8224f42022-04-10 23:31:24 -070056 select SOC_INTEL_COMMON_BLOCK_CAR
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070057 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Subrata Banik00b682e2022-09-14 17:58:51 -070058 select SOC_INTEL_COMMON_BLOCK_CNVI
Ravi Sarawadib8224f42022-04-10 23:31:24 -070059 select SOC_INTEL_COMMON_BLOCK_CPU
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070060 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
61 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
62 select SOC_INTEL_COMMON_BLOCK_DTT
63 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Subrata Banikbae1de12022-07-21 13:43:37 +000064 select SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_PCR
Jamie Ryub6c32d72022-08-03 01:13:33 -070065 select SOC_INTEL_COMMON_BLOCK_GPIO_PMODE_4BITS
Ravi Sarawadib8224f42022-04-10 23:31:24 -070066 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070067 select SOC_INTEL_COMMON_BLOCK_HDA
Subrata Banik98b69672022-11-23 14:46:16 +053068 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070069 select SOC_INTEL_COMMON_BLOCK_IPU
70 select SOC_INTEL_COMMON_BLOCK_IOE_P2SB
Kapil Porwalcca3c902022-12-19 23:57:15 +053071 select SOC_INTEL_COMMON_BLOCK_IRQ
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070072 select SOC_INTEL_COMMON_BLOCK_MEMINIT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070073 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
74 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
75 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070076 select SOC_INTEL_COMMON_BLOCK_SA
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070077 select SOC_INTEL_COMMON_BLOCK_SMM
78 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070079 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070080 select SOC_INTEL_COMMON_BLOCK_XHCI
81 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
82 select SOC_INTEL_COMMON_BASECODE
83 select SOC_INTEL_COMMON_FSP_RESET
Angel Ponseb90c512022-07-18 14:41:24 +020084 select SOC_INTEL_COMMON_PCH_CLIENT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070085 select SOC_INTEL_COMMON_RESET
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070086 select SOC_INTEL_COMMON_BLOCK_IOC
Subrata Banikb9553042022-11-24 23:48:13 +053087 select SOC_INTEL_CSE_SEND_EOP_LATE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070088 select SOC_INTEL_CSE_SET_EOP
Wonkyu Kima8884892022-08-10 14:10:03 -070089 select SOC_INTEL_GFX_NON_PREFETCHABLE_MMIO
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070090 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
Ravi Sarawadib8224f42022-04-10 23:31:24 -070091 select SSE2
92 select SUPPORT_CPU_UCODE_IN_CBFS
93 select TSC_MONOTONIC_TIMER
94 select UDELAY_TSC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070095 select UDK_202111_BINDING
Subrata Banik6a22c5f2022-11-21 17:39:57 +053096 select X86_INIT_NEED_1_SIPI
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070097
Subrata Banik8e158592022-12-13 12:16:52 +053098config SOC_INTEL_METEORLAKE_TCSS_USB4_SUPPORT
99 bool
100 default y
101 select SOC_INTEL_COMMON_BLOCK_TCSS
102 select SOC_INTEL_COMMON_BLOCK_USB4
103 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
104 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
105
Subrata Banik43004212022-12-13 12:20:47 +0530106config METEORLAKE_CAR_ENHANCED_NEM
107 bool
108 default y if !INTEL_CAR_NEM
109 select INTEL_CAR_NEM_ENHANCED
110 select CAR_HAS_SF_MASKS
111 select COS_MAPPED_TO_MSB
112 select CAR_HAS_L3_PROTECTED_WAYS
113
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700114config MAX_CPUS
115 int
116 default 22
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700117
118config DCACHE_RAM_BASE
119 default 0xfef00000
120
121config DCACHE_RAM_SIZE
122 default 0xc0000
123 help
124 The size of the cache-as-ram region required during bootblock
125 and/or romstage.
126
127config DCACHE_BSP_STACK_SIZE
128 hex
129 default 0x80400
130 help
131 The amount of anticipated stack usage in CAR by bootblock and
132 other stages. In the case of FSP_USES_CB_STACK default value will be
133 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
134 (~1KiB).
135
136config FSP_TEMP_RAM_SIZE
137 hex
138 default 0x20000
139 help
140 The amount of anticipated heap usage in CAR by FSP.
141 Refer to Platform FSP integration guide document to know
142 the exact FSP requirement for Heap setup.
143
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700144config CHIPSET_DEVICETREE
145 string
146 default "soc/intel/meteorlake/chipset.cb"
147
148config EXT_BIOS_WIN_BASE
149 default 0xf8000000
150
151config EXT_BIOS_WIN_SIZE
152 default 0x2000000
153
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700154config IFD_CHIPSET
155 string
Subrata Banikd624e742022-07-06 06:45:57 +0000156 default "mtl"
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700157
158config IED_REGION_SIZE
159 hex
160 default 0x400000
161
162config HEAP_SIZE
163 hex
164 default 0x10000
165
Subrata Banika33bcb92022-07-06 07:07:26 +0000166# Intel recommends reserving the PCIe TBT root port resources as below:
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700167# - 42 buses
168# - 194 MiB Non-prefetchable memory
169# - 448 MiB Prefetchable memory
170if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
171
172config PCIEXP_HOTPLUG_BUSES
173 int
174 default 42
175
176config PCIEXP_HOTPLUG_MEM
177 hex
178 default 0xc200000
179
180config PCIEXP_HOTPLUG_PREFETCH_MEM
181 hex
182 default 0x1c000000
183
184endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
185
186config MAX_TBT_ROOT_PORTS
187 int
188 default 4
189
190config MAX_ROOT_PORTS
191 int
192 default 12
193
194config MAX_PCIE_CLOCK_SRC
195 int
196 default 9
197
198config SMM_TSEG_SIZE
199 hex
200 default 0x800000
201
202config SMM_RESERVED_SIZE
203 hex
204 default 0x200000
205
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700206config PCR_BASE_ADDRESS
207 hex
208 default 0xe0000000
209 help
210 This option allows you to select MMIO Base Address of sideband bus.
211
212config ECAM_MMCONF_BASE_ADDRESS
213 default 0xc0000000
214
Sridhar Siricillad9c82692023-01-05 17:08:17 +0530215config SOC_INTEL_PERFORMANCE_CORE_SCALE_FACTOR
216 int
217 default 125
218
219config SOC_INTEL_EFFICIENT_CORE_SCALE_FACTOR
220 int
221 default 100
222
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700223config CPU_BCLK_MHZ
224 int
225 default 100
226
227config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
228 int
229 default 120
230
231config CPU_XTAL_HZ
232 default 38400000
233
234config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
235 int
236 default 133
237
238config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
239 int
Subrata Banike54a8fd2022-07-06 12:54:48 +0000240 default 3
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700241
242config SOC_INTEL_I2C_DEV_MAX
243 int
244 default 6
245
246config SOC_INTEL_UART_DEV_MAX
247 int
248 default 3
249
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700250config SOC_INTEL_USB2_DEV_MAX
251 int
252 default 10
253
254config SOC_INTEL_USB3_DEV_MAX
255 int
256 default 2
257
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700258config CONSOLE_UART_BASE_ADDRESS
259 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700260 default 0xfe02c000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700261 depends on INTEL_LPSS_UART_FOR_CONSOLE
262
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700263config VBT_DATA_SIZE_KB
264 int
265 default 9
266
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700267# Clock divider parameters for 115200 baud rate
Angel Pons054ff5e2022-06-26 10:19:53 +0200268# Baudrate = (UART source clock * M) /(N *16)
Wonkyu Kim60d9b892022-10-10 23:01:38 -0700269# MTL UART source clock: 100MHz
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700270config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
271 hex
272 default 0x25a
273
274config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
275 hex
276 default 0x7fff
277
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700278config VBOOT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700279 select VBOOT_SEPARATE_VERSTAGE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700280 select VBOOT_MUST_REQUEST_DISPLAY
281 select VBOOT_STARTS_IN_BOOTBLOCK
282 select VBOOT_VBNV_CMOS
283 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
284 select VBOOT_X86_SHA256_ACCELERATION
285
Subrata Banikfebd3d72022-05-30 13:59:25 +0530286# Default hash block size is 1KiB. Increasing it to 4KiB to improve
287# hashing time as well as read time.
288config VBOOT_HASH_BLOCK_SIZE
289 hex
290 default 0x1000
291
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700292config CBFS_SIZE
293 hex
294 default 0x200000
295
296config PRERAM_CBMEM_CONSOLE_SIZE
297 hex
Kapil Porwalb10a4bf2023-01-18 01:20:40 +0530298 default 0x16000 if CONSOLE_SERIAL
Subrata Banik7d1995c2022-05-30 13:56:13 +0530299 default 0x2000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700300
Kapil Porwal1eb44252023-01-18 01:10:04 +0530301config CONSOLE_CBMEM_BUFFER_SIZE
302 hex
Kapil Porwalb10a4bf2023-01-18 01:20:40 +0530303 default 0x100000 if CONSOLE_SERIAL
Kapil Porwal1eb44252023-01-18 01:10:04 +0530304 default 0x40000
305
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700306config FSP_HEADER_PATH
307 string "Location of FSP headers"
308 default "src/vendorcode/intel/fsp/fsp2_0/meteorlake/"
309
310config FSP_FD_PATH
311 string
312 depends on FSP_USE_REPO
313 default "3rdparty/fsp/MeteorLakeFspBinPkg/Fsp.fd"
314
315config SOC_INTEL_METEORLAKE_DEBUG_CONSENT
316 int "Debug Consent for MTL"
317 # USB DBC is more common for developers so make this default to 3 if
318 # SOC_INTEL_DEBUG_CONSENT=y
Subrata Banik653e1572022-07-20 12:26:24 +0000319 default 3 if SOC_INTEL_DEBUG_CONSENT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700320 default 0
321 help
322 This is to control debug interface on SOC.
323 Setting non-zero value will allow to use DBC or DCI to debug SOC.
324 PlatformDebugConsent in FspmUpd.h has the details.
325
326 Desired platform debug type are
327 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
328 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
329 6:Enable (2-wire DCI OOB), 7:Manual
330
331config DATA_BUS_WIDTH
332 int
333 default 128
334
335config DIMMS_PER_CHANNEL
336 int
337 default 2
338
339config MRC_CHANNEL_WIDTH
340 int
341 default 16
342
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700343config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
344 hex
345 default 0x800000
346
Subrata Banik7c4789d2022-07-09 22:41:48 +0000347choice
348 prompt "Multiprocessor (MP) Initialization configuration to use"
349 default MTL_USE_FSP_MP_INIT
350
351config MTL_USE_FSP_MP_INIT
352 bool "Use FSP MP init"
353 select MP_SERVICES_PPI_V2
354 help
355 Upon selection, coreboot brings APs from reset and the FSP runs feature programming.
356
357config MTL_USE_COREBOOT_MP_INIT
358 bool "Use coreboot MP init"
Subrata Banik848c37d2022-12-09 13:38:26 +0530359 # FSP assumes ownership of the APs (Application Processors)
360 # upon passing `NULL` pointer to the CpuMpPpi FSP-S UPD.
361 # Hence, select `MP_SERVICES_PPI_V2_NOOP` config to pass a valid
362 # pointer to the CpuMpPpi UPD with FSP_UNSUPPORTED type APIs.
363 # This will protect APs from getting hijacked by FSP while coreboot
364 # decides to set SkipMpInit UPD.
365 select MP_SERVICES_PPI_V2_NOOP
Subrata Banik7c4789d2022-07-09 22:41:48 +0000366 select RELOAD_MICROCODE_PATCH
367 help
Sridhar Siricilla3741e992022-08-16 21:52:32 +0530368 Upon selection, coreboot performs MP Initialization that includes feature programming.
Subrata Banik7c4789d2022-07-09 22:41:48 +0000369
370endchoice
371
Kapil Porwale988cc22023-01-16 16:41:49 +0000372config FSP_PUBLISH_MBP_HOB
373 bool
374 default n if CHROMEOS
375 default y
376 help
377 This is to control creation of ME_BIOS_PAYLOAD_HOB (MBP HOB) by FSP.
378 Disabling it for the platforms, which do not use MBP HOB, can improve the boot time.
379
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700380endif