blob: 919f08cbac75ba65ecb18f2b38c9459a676e1bf9 [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
Subrata Banike96993d2022-07-09 22:06:45 +000019 select DEFAULT_X2APIC_LATE_WORKAROUND
Saurabh Mishra16ba8e12022-11-22 13:35:08 +053020 select DISPLAY_FSP_VERSION_INFO_2
Ravi Sarawadie02fd832022-05-08 00:27:31 -070021 select DRIVERS_USB_ACPI
Sean Rhodes7bbc9a52022-07-18 11:31:00 +010022 select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070023 select FSP_COMPRESS_FSP_S_LZ4
24 select FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070025 select FSP_M_XIP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070026 select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
Subrata Banike88bee72022-06-27 16:51:44 +053027 select FSP_USES_CB_DEBUG_EVENT_HANDLER
28 select FSPS_HAS_ARCH_UPD
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070029 select GENERIC_GPIO_LIB
Subrata Banike88bee72022-06-27 16:51:44 +053030 select HAVE_DEBUG_RAM_SETUP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070031 select HAVE_FSP_GOP
Subrata Banikc0f4b122022-12-06 14:03:07 +053032 select HAVE_INTEL_COMPLIANCE_TEST_MODE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070033 select HAVE_SMI_HANDLER
Ravi Sarawadib8224f42022-04-10 23:31:24 -070034 select IDT_IN_EVERY_STAGE
Subrata Banik0d6d2282022-07-09 22:17:02 +000035 select INTEL_DESCRIPTOR_MODE_CAPABLE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070036 select INTEL_GMA_ACPI
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070037 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Subrata Banik0d6d2282022-07-09 22:17:02 +000038 select IOAPIC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070039 select MICROCODE_BLOB_UNDISCLOSED
Subrata Banik0d6d2282022-07-09 22:17:02 +000040 select MRC_SETTINGS_PROTECT
Subrata Banik0d6d2282022-07-09 22:17:02 +000041 select PARALLEL_MP_AP_WORK
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070042 select PLATFORM_USES_FSP2_3
43 select PMC_GLOBAL_RESET_ENABLE_LOCK
Ravi Sarawadib8224f42022-04-10 23:31:24 -070044 select SOC_INTEL_COMMON
Ravi Sarawadie02fd832022-05-08 00:27:31 -070045 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070046 select SOC_INTEL_COMMON_BLOCK
Ravi Sarawadie02fd832022-05-08 00:27:31 -070047 select SOC_INTEL_COMMON_BLOCK_ACPI
48 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
Sridhar Siricillad1237da2022-12-09 01:13:45 +053049 select SOC_INTEL_COMMON_BLOCK_ACPI_CPU_HYBRID
Ravi Sarawadie02fd832022-05-08 00:27:31 -070050 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
Subrata Banik2a2488f2022-12-05 20:28:42 +053051 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
Ravi Sarawadie02fd832022-05-08 00:27:31 -070052 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
53 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP_LPM_REQ
Ravi Sarawadib8224f42022-04-10 23:31:24 -070054 select SOC_INTEL_COMMON_BLOCK_CAR
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070055 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Subrata Banik00b682e2022-09-14 17:58:51 -070056 select SOC_INTEL_COMMON_BLOCK_CNVI
Ravi Sarawadib8224f42022-04-10 23:31:24 -070057 select SOC_INTEL_COMMON_BLOCK_CPU
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070058 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
59 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
60 select SOC_INTEL_COMMON_BLOCK_DTT
61 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Subrata Banikbae1de12022-07-21 13:43:37 +000062 select SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_PCR
Jamie Ryub6c32d72022-08-03 01:13:33 -070063 select SOC_INTEL_COMMON_BLOCK_GPIO_PMODE_4BITS
Ravi Sarawadib8224f42022-04-10 23:31:24 -070064 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070065 select SOC_INTEL_COMMON_BLOCK_HDA
Subrata Banik98b69672022-11-23 14:46:16 +053066 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070067 select SOC_INTEL_COMMON_BLOCK_IPU
68 select SOC_INTEL_COMMON_BLOCK_IOE_P2SB
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070069 select SOC_INTEL_COMMON_BLOCK_MEMINIT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070070 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
71 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
72 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070073 select SOC_INTEL_COMMON_BLOCK_SA
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070074 select SOC_INTEL_COMMON_BLOCK_SMM
75 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070076 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070077 select SOC_INTEL_COMMON_BLOCK_XHCI
78 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
79 select SOC_INTEL_COMMON_BASECODE
80 select SOC_INTEL_COMMON_FSP_RESET
Angel Ponseb90c512022-07-18 14:41:24 +020081 select SOC_INTEL_COMMON_PCH_CLIENT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070082 select SOC_INTEL_COMMON_RESET
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070083 select SOC_INTEL_COMMON_BLOCK_IOC
Subrata Banikb9553042022-11-24 23:48:13 +053084 select SOC_INTEL_CSE_SEND_EOP_LATE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070085 select SOC_INTEL_CSE_SET_EOP
Wonkyu Kima8884892022-08-10 14:10:03 -070086 select SOC_INTEL_GFX_NON_PREFETCHABLE_MMIO
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070087 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
Ravi Sarawadib8224f42022-04-10 23:31:24 -070088 select SSE2
89 select SUPPORT_CPU_UCODE_IN_CBFS
90 select TSC_MONOTONIC_TIMER
91 select UDELAY_TSC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070092 select UDK_202111_BINDING
Subrata Banik6a22c5f2022-11-21 17:39:57 +053093 select X86_INIT_NEED_1_SIPI
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070094
Subrata Banik8e158592022-12-13 12:16:52 +053095config SOC_INTEL_METEORLAKE_TCSS_USB4_SUPPORT
96 bool
97 default y
98 select SOC_INTEL_COMMON_BLOCK_TCSS
99 select SOC_INTEL_COMMON_BLOCK_USB4
100 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
101 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
102
Subrata Banik43004212022-12-13 12:20:47 +0530103config METEORLAKE_CAR_ENHANCED_NEM
104 bool
105 default y if !INTEL_CAR_NEM
106 select INTEL_CAR_NEM_ENHANCED
107 select CAR_HAS_SF_MASKS
108 select COS_MAPPED_TO_MSB
109 select CAR_HAS_L3_PROTECTED_WAYS
110
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700111config MAX_CPUS
112 int
113 default 22
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700114
115config DCACHE_RAM_BASE
116 default 0xfef00000
117
118config DCACHE_RAM_SIZE
119 default 0xc0000
120 help
121 The size of the cache-as-ram region required during bootblock
122 and/or romstage.
123
124config DCACHE_BSP_STACK_SIZE
125 hex
126 default 0x80400
127 help
128 The amount of anticipated stack usage in CAR by bootblock and
129 other stages. In the case of FSP_USES_CB_STACK default value will be
130 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
131 (~1KiB).
132
133config FSP_TEMP_RAM_SIZE
134 hex
135 default 0x20000
136 help
137 The amount of anticipated heap usage in CAR by FSP.
138 Refer to Platform FSP integration guide document to know
139 the exact FSP requirement for Heap setup.
140
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700141config CHIPSET_DEVICETREE
142 string
143 default "soc/intel/meteorlake/chipset.cb"
144
145config EXT_BIOS_WIN_BASE
146 default 0xf8000000
147
148config EXT_BIOS_WIN_SIZE
149 default 0x2000000
150
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700151config IFD_CHIPSET
152 string
Subrata Banikd624e742022-07-06 06:45:57 +0000153 default "mtl"
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700154
155config IED_REGION_SIZE
156 hex
157 default 0x400000
158
159config HEAP_SIZE
160 hex
161 default 0x10000
162
Subrata Banika33bcb92022-07-06 07:07:26 +0000163# Intel recommends reserving the PCIe TBT root port resources as below:
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700164# - 42 buses
165# - 194 MiB Non-prefetchable memory
166# - 448 MiB Prefetchable memory
167if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
168
169config PCIEXP_HOTPLUG_BUSES
170 int
171 default 42
172
173config PCIEXP_HOTPLUG_MEM
174 hex
175 default 0xc200000
176
177config PCIEXP_HOTPLUG_PREFETCH_MEM
178 hex
179 default 0x1c000000
180
181endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
182
183config MAX_TBT_ROOT_PORTS
184 int
185 default 4
186
187config MAX_ROOT_PORTS
188 int
189 default 12
190
191config MAX_PCIE_CLOCK_SRC
192 int
193 default 9
194
195config SMM_TSEG_SIZE
196 hex
197 default 0x800000
198
199config SMM_RESERVED_SIZE
200 hex
201 default 0x200000
202
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700203config PCR_BASE_ADDRESS
204 hex
205 default 0xe0000000
206 help
207 This option allows you to select MMIO Base Address of sideband bus.
208
209config ECAM_MMCONF_BASE_ADDRESS
210 default 0xc0000000
211
212config CPU_BCLK_MHZ
213 int
214 default 100
215
216config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
217 int
218 default 120
219
220config CPU_XTAL_HZ
221 default 38400000
222
223config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
224 int
225 default 133
226
227config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
228 int
Subrata Banike54a8fd2022-07-06 12:54:48 +0000229 default 3
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700230
231config SOC_INTEL_I2C_DEV_MAX
232 int
233 default 6
234
235config SOC_INTEL_UART_DEV_MAX
236 int
237 default 3
238
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700239config SOC_INTEL_USB2_DEV_MAX
240 int
241 default 10
242
243config SOC_INTEL_USB3_DEV_MAX
244 int
245 default 2
246
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700247config CONSOLE_UART_BASE_ADDRESS
248 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700249 default 0xfe02c000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700250 depends on INTEL_LPSS_UART_FOR_CONSOLE
251
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700252config VBT_DATA_SIZE_KB
253 int
254 default 9
255
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700256# Clock divider parameters for 115200 baud rate
Angel Pons054ff5e2022-06-26 10:19:53 +0200257# Baudrate = (UART source clock * M) /(N *16)
Wonkyu Kim60d9b892022-10-10 23:01:38 -0700258# MTL UART source clock: 100MHz
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700259config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
260 hex
261 default 0x25a
262
263config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
264 hex
265 default 0x7fff
266
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700267config VBOOT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700268 select VBOOT_SEPARATE_VERSTAGE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700269 select VBOOT_MUST_REQUEST_DISPLAY
270 select VBOOT_STARTS_IN_BOOTBLOCK
271 select VBOOT_VBNV_CMOS
272 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
273 select VBOOT_X86_SHA256_ACCELERATION
274
Subrata Banikfebd3d72022-05-30 13:59:25 +0530275# Default hash block size is 1KiB. Increasing it to 4KiB to improve
276# hashing time as well as read time.
277config VBOOT_HASH_BLOCK_SIZE
278 hex
279 default 0x1000
280
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700281config CBFS_SIZE
282 hex
283 default 0x200000
284
285config PRERAM_CBMEM_CONSOLE_SIZE
286 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700287 default 0x1400
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700288
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700289config FSP_HEADER_PATH
290 string "Location of FSP headers"
291 default "src/vendorcode/intel/fsp/fsp2_0/meteorlake/"
292
293config FSP_FD_PATH
294 string
295 depends on FSP_USE_REPO
296 default "3rdparty/fsp/MeteorLakeFspBinPkg/Fsp.fd"
297
298config SOC_INTEL_METEORLAKE_DEBUG_CONSENT
299 int "Debug Consent for MTL"
300 # USB DBC is more common for developers so make this default to 3 if
301 # SOC_INTEL_DEBUG_CONSENT=y
Subrata Banik653e1572022-07-20 12:26:24 +0000302 default 3 if SOC_INTEL_DEBUG_CONSENT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700303 default 0
304 help
305 This is to control debug interface on SOC.
306 Setting non-zero value will allow to use DBC or DCI to debug SOC.
307 PlatformDebugConsent in FspmUpd.h has the details.
308
309 Desired platform debug type are
310 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
311 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
312 6:Enable (2-wire DCI OOB), 7:Manual
313
314config DATA_BUS_WIDTH
315 int
316 default 128
317
318config DIMMS_PER_CHANNEL
319 int
320 default 2
321
322config MRC_CHANNEL_WIDTH
323 int
324 default 16
325
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700326config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
327 hex
328 default 0x800000
329
Subrata Banik7c4789d2022-07-09 22:41:48 +0000330choice
331 prompt "Multiprocessor (MP) Initialization configuration to use"
332 default MTL_USE_FSP_MP_INIT
333
334config MTL_USE_FSP_MP_INIT
335 bool "Use FSP MP init"
336 select MP_SERVICES_PPI_V2
337 help
338 Upon selection, coreboot brings APs from reset and the FSP runs feature programming.
339
340config MTL_USE_COREBOOT_MP_INIT
341 bool "Use coreboot MP init"
Subrata Banik848c37d2022-12-09 13:38:26 +0530342 # FSP assumes ownership of the APs (Application Processors)
343 # upon passing `NULL` pointer to the CpuMpPpi FSP-S UPD.
344 # Hence, select `MP_SERVICES_PPI_V2_NOOP` config to pass a valid
345 # pointer to the CpuMpPpi UPD with FSP_UNSUPPORTED type APIs.
346 # This will protect APs from getting hijacked by FSP while coreboot
347 # decides to set SkipMpInit UPD.
348 select MP_SERVICES_PPI_V2_NOOP
Subrata Banik7c4789d2022-07-09 22:41:48 +0000349 select RELOAD_MICROCODE_PATCH
350 help
Sridhar Siricilla3741e992022-08-16 21:52:32 +0530351 Upon selection, coreboot performs MP Initialization that includes feature programming.
Subrata Banik7c4789d2022-07-09 22:41:48 +0000352
353endchoice
354
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700355endif