blob: 6b40b6698f1097ec8b2077f71ff8c444d75f8bf1 [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
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070015 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
16 select CPU_SUPPORTS_INTEL_TME
17 select CPU_SUPPORTS_PM_TIMER_EMULATION
Subrata Banike96993d2022-07-09 22:06:45 +000018 select DEFAULT_X2APIC_LATE_WORKAROUND
Subrata Banike88bee72022-06-27 16:51:44 +053019 select DISPLAY_FSP_VERSION_INFO
Ravi Sarawadie02fd832022-05-08 00:27:31 -070020 select DRIVERS_USB_ACPI
Sean Rhodes7bbc9a52022-07-18 11:31:00 +010021 select EDK2_CPU_TIMER_LIB if PAYLOAD_EDK2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070022 select FSP_COMPRESS_FSP_S_LZ4
23 select FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070024 select FSP_M_XIP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070025 select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
Subrata Banike88bee72022-06-27 16:51:44 +053026 select FSP_USES_CB_DEBUG_EVENT_HANDLER
27 select FSPS_HAS_ARCH_UPD
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070028 select GENERIC_GPIO_LIB
Subrata Banike88bee72022-06-27 16:51:44 +053029 select HAVE_DEBUG_RAM_SETUP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070030 select HAVE_FSP_GOP
Subrata Banikc0f4b122022-12-06 14:03:07 +053031 select HAVE_INTEL_COMPLIANCE_TEST_MODE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070032 select HAVE_SMI_HANDLER
Ravi Sarawadib8224f42022-04-10 23:31:24 -070033 select IDT_IN_EVERY_STAGE
34 select INTEL_CAR_NEM
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
49 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
Subrata Banik2a2488f2022-12-05 20:28:42 +053050 select SOC_INTEL_COMMON_BLOCK_ACPI_LPIT
Ravi Sarawadie02fd832022-05-08 00:27:31 -070051 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
52 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP_LPM_REQ
Ravi Sarawadib8224f42022-04-10 23:31:24 -070053 select SOC_INTEL_COMMON_BLOCK_CAR
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070054 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Subrata Banik00b682e2022-09-14 17:58:51 -070055 select SOC_INTEL_COMMON_BLOCK_CNVI
Ravi Sarawadib8224f42022-04-10 23:31:24 -070056 select SOC_INTEL_COMMON_BLOCK_CPU
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070057 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
58 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
59 select SOC_INTEL_COMMON_BLOCK_DTT
60 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Subrata Banikbae1de12022-07-21 13:43:37 +000061 select SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_PCR
Jamie Ryub6c32d72022-08-03 01:13:33 -070062 select SOC_INTEL_COMMON_BLOCK_GPIO_PMODE_4BITS
Ravi Sarawadib8224f42022-04-10 23:31:24 -070063 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070064 select SOC_INTEL_COMMON_BLOCK_HDA
Subrata Banik98b69672022-11-23 14:46:16 +053065 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070066 select SOC_INTEL_COMMON_BLOCK_IPU
67 select SOC_INTEL_COMMON_BLOCK_IOE_P2SB
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070068 select SOC_INTEL_COMMON_BLOCK_MEMINIT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070069 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
70 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
71 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070072 select SOC_INTEL_COMMON_BLOCK_SA
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070073 select SOC_INTEL_COMMON_BLOCK_SMM
74 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
75 select SOC_INTEL_COMMON_BLOCK_TCSS
76 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
77 select SOC_INTEL_COMMON_BLOCK_USB4
78 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
79 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
80 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
98config MAX_CPUS
99 int
100 default 22
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700101
102config DCACHE_RAM_BASE
103 default 0xfef00000
104
105config DCACHE_RAM_SIZE
106 default 0xc0000
107 help
108 The size of the cache-as-ram region required during bootblock
109 and/or romstage.
110
111config DCACHE_BSP_STACK_SIZE
112 hex
113 default 0x80400
114 help
115 The amount of anticipated stack usage in CAR by bootblock and
116 other stages. In the case of FSP_USES_CB_STACK default value will be
117 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
118 (~1KiB).
119
120config FSP_TEMP_RAM_SIZE
121 hex
122 default 0x20000
123 help
124 The amount of anticipated heap usage in CAR by FSP.
125 Refer to Platform FSP integration guide document to know
126 the exact FSP requirement for Heap setup.
127
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700128config CHIPSET_DEVICETREE
129 string
130 default "soc/intel/meteorlake/chipset.cb"
131
132config EXT_BIOS_WIN_BASE
133 default 0xf8000000
134
135config EXT_BIOS_WIN_SIZE
136 default 0x2000000
137
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700138config IFD_CHIPSET
139 string
Subrata Banikd624e742022-07-06 06:45:57 +0000140 default "mtl"
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700141
142config IED_REGION_SIZE
143 hex
144 default 0x400000
145
146config HEAP_SIZE
147 hex
148 default 0x10000
149
Subrata Banika33bcb92022-07-06 07:07:26 +0000150# Intel recommends reserving the PCIe TBT root port resources as below:
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700151# - 42 buses
152# - 194 MiB Non-prefetchable memory
153# - 448 MiB Prefetchable memory
154if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
155
156config PCIEXP_HOTPLUG_BUSES
157 int
158 default 42
159
160config PCIEXP_HOTPLUG_MEM
161 hex
162 default 0xc200000
163
164config PCIEXP_HOTPLUG_PREFETCH_MEM
165 hex
166 default 0x1c000000
167
168endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
169
170config MAX_TBT_ROOT_PORTS
171 int
172 default 4
173
174config MAX_ROOT_PORTS
175 int
176 default 12
177
178config MAX_PCIE_CLOCK_SRC
179 int
180 default 9
181
182config SMM_TSEG_SIZE
183 hex
184 default 0x800000
185
186config SMM_RESERVED_SIZE
187 hex
188 default 0x200000
189
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700190config PCR_BASE_ADDRESS
191 hex
192 default 0xe0000000
193 help
194 This option allows you to select MMIO Base Address of sideband bus.
195
196config ECAM_MMCONF_BASE_ADDRESS
197 default 0xc0000000
198
199config CPU_BCLK_MHZ
200 int
201 default 100
202
203config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
204 int
205 default 120
206
207config CPU_XTAL_HZ
208 default 38400000
209
210config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
211 int
212 default 133
213
214config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
215 int
Subrata Banike54a8fd2022-07-06 12:54:48 +0000216 default 3
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700217
218config SOC_INTEL_I2C_DEV_MAX
219 int
220 default 6
221
222config SOC_INTEL_UART_DEV_MAX
223 int
224 default 3
225
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700226config SOC_INTEL_USB2_DEV_MAX
227 int
228 default 10
229
230config SOC_INTEL_USB3_DEV_MAX
231 int
232 default 2
233
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700234config CONSOLE_UART_BASE_ADDRESS
235 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700236 default 0xfe02c000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700237 depends on INTEL_LPSS_UART_FOR_CONSOLE
238
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700239config VBT_DATA_SIZE_KB
240 int
241 default 9
242
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700243# Clock divider parameters for 115200 baud rate
Angel Pons054ff5e2022-06-26 10:19:53 +0200244# Baudrate = (UART source clock * M) /(N *16)
Wonkyu Kim60d9b892022-10-10 23:01:38 -0700245# MTL UART source clock: 100MHz
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700246config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
247 hex
248 default 0x25a
249
250config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
251 hex
252 default 0x7fff
253
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700254config VBOOT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700255 select VBOOT_SEPARATE_VERSTAGE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700256 select VBOOT_MUST_REQUEST_DISPLAY
257 select VBOOT_STARTS_IN_BOOTBLOCK
258 select VBOOT_VBNV_CMOS
259 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
260 select VBOOT_X86_SHA256_ACCELERATION
261
Subrata Banikfebd3d72022-05-30 13:59:25 +0530262# Default hash block size is 1KiB. Increasing it to 4KiB to improve
263# hashing time as well as read time.
264config VBOOT_HASH_BLOCK_SIZE
265 hex
266 default 0x1000
267
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700268config CBFS_SIZE
269 hex
270 default 0x200000
271
272config PRERAM_CBMEM_CONSOLE_SIZE
273 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700274 default 0x1400
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700275
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700276config FSP_HEADER_PATH
277 string "Location of FSP headers"
278 default "src/vendorcode/intel/fsp/fsp2_0/meteorlake/"
279
280config FSP_FD_PATH
281 string
282 depends on FSP_USE_REPO
283 default "3rdparty/fsp/MeteorLakeFspBinPkg/Fsp.fd"
284
285config SOC_INTEL_METEORLAKE_DEBUG_CONSENT
286 int "Debug Consent for MTL"
287 # USB DBC is more common for developers so make this default to 3 if
288 # SOC_INTEL_DEBUG_CONSENT=y
Subrata Banik653e1572022-07-20 12:26:24 +0000289 default 3 if SOC_INTEL_DEBUG_CONSENT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700290 default 0
291 help
292 This is to control debug interface on SOC.
293 Setting non-zero value will allow to use DBC or DCI to debug SOC.
294 PlatformDebugConsent in FspmUpd.h has the details.
295
296 Desired platform debug type are
297 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
298 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
299 6:Enable (2-wire DCI OOB), 7:Manual
300
301config DATA_BUS_WIDTH
302 int
303 default 128
304
305config DIMMS_PER_CHANNEL
306 int
307 default 2
308
309config MRC_CHANNEL_WIDTH
310 int
311 default 16
312
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700313config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
314 hex
315 default 0x800000
316
Subrata Banik7c4789d2022-07-09 22:41:48 +0000317choice
318 prompt "Multiprocessor (MP) Initialization configuration to use"
319 default MTL_USE_FSP_MP_INIT
320
321config MTL_USE_FSP_MP_INIT
322 bool "Use FSP MP init"
323 select MP_SERVICES_PPI_V2
324 help
325 Upon selection, coreboot brings APs from reset and the FSP runs feature programming.
326
327config MTL_USE_COREBOOT_MP_INIT
328 bool "Use coreboot MP init"
329 select RELOAD_MICROCODE_PATCH
330 help
Sridhar Siricilla3741e992022-08-16 21:52:32 +0530331 Upon selection, coreboot performs MP Initialization that includes feature programming.
Subrata Banik7c4789d2022-07-09 22:41:48 +0000332
333endchoice
334
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700335endif