blob: fb99d30b53ae4309cd85bd9f8ced678b1eeab15b [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
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070031 select HAVE_SMI_HANDLER
Ravi Sarawadib8224f42022-04-10 23:31:24 -070032 select IDT_IN_EVERY_STAGE
33 select INTEL_CAR_NEM
Subrata Banik0d6d2282022-07-09 22:17:02 +000034 select INTEL_DESCRIPTOR_MODE_CAPABLE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070035 select INTEL_GMA_ACPI
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070036 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Subrata Banik0d6d2282022-07-09 22:17:02 +000037 select IOAPIC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070038 select MICROCODE_BLOB_UNDISCLOSED
Subrata Banik0d6d2282022-07-09 22:17:02 +000039 select MRC_SETTINGS_PROTECT
Subrata Banik0d6d2282022-07-09 22:17:02 +000040 select PARALLEL_MP_AP_WORK
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070041 select PLATFORM_USES_FSP2_3
42 select PMC_GLOBAL_RESET_ENABLE_LOCK
Ravi Sarawadib8224f42022-04-10 23:31:24 -070043 select SOC_INTEL_COMMON
Ravi Sarawadie02fd832022-05-08 00:27:31 -070044 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070045 select SOC_INTEL_COMMON_BLOCK
Ravi Sarawadie02fd832022-05-08 00:27:31 -070046 select SOC_INTEL_COMMON_BLOCK_ACPI
47 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
48 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
49 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
50 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP_LPM_REQ
Ravi Sarawadib8224f42022-04-10 23:31:24 -070051 select SOC_INTEL_COMMON_BLOCK_CAR
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070052 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Subrata Banik00b682e2022-09-14 17:58:51 -070053 select SOC_INTEL_COMMON_BLOCK_CNVI
Ravi Sarawadib8224f42022-04-10 23:31:24 -070054 select SOC_INTEL_COMMON_BLOCK_CPU
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070055 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
56 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
57 select SOC_INTEL_COMMON_BLOCK_DTT
58 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Subrata Banikbae1de12022-07-21 13:43:37 +000059 select SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_PCR
Jamie Ryub6c32d72022-08-03 01:13:33 -070060 select SOC_INTEL_COMMON_BLOCK_GPIO_PMODE_4BITS
Ravi Sarawadib8224f42022-04-10 23:31:24 -070061 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070062 select SOC_INTEL_COMMON_BLOCK_HDA
Subrata Banik98b69672022-11-23 14:46:16 +053063 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070064 select SOC_INTEL_COMMON_BLOCK_IPU
65 select SOC_INTEL_COMMON_BLOCK_IOE_P2SB
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070066 select SOC_INTEL_COMMON_BLOCK_MEMINIT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070067 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
68 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
69 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070070 select SOC_INTEL_COMMON_BLOCK_SA
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070071 select SOC_INTEL_COMMON_BLOCK_SMM
72 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
73 select SOC_INTEL_COMMON_BLOCK_TCSS
74 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
75 select SOC_INTEL_COMMON_BLOCK_USB4
76 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
77 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
78 select SOC_INTEL_COMMON_BLOCK_XHCI
79 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
80 select SOC_INTEL_COMMON_BASECODE
81 select SOC_INTEL_COMMON_FSP_RESET
Angel Ponseb90c512022-07-18 14:41:24 +020082 select SOC_INTEL_COMMON_PCH_CLIENT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070083 select SOC_INTEL_COMMON_RESET
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070084 select SOC_INTEL_COMMON_BLOCK_IOC
Subrata Banikb9553042022-11-24 23:48:13 +053085 select SOC_INTEL_CSE_SEND_EOP_LATE
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070086 select SOC_INTEL_CSE_SET_EOP
Wonkyu Kima8884892022-08-10 14:10:03 -070087 select SOC_INTEL_GFX_NON_PREFETCHABLE_MMIO
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070088 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
Ravi Sarawadib8224f42022-04-10 23:31:24 -070089 select SSE2
90 select SUPPORT_CPU_UCODE_IN_CBFS
91 select TSC_MONOTONIC_TIMER
92 select UDELAY_TSC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070093 select UDK_202111_BINDING
Subrata Banik6a22c5f2022-11-21 17:39:57 +053094 select X86_INIT_NEED_1_SIPI
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070095
96config MAX_CPUS
97 int
98 default 22
Ravi Sarawadib8224f42022-04-10 23:31:24 -070099
100config DCACHE_RAM_BASE
101 default 0xfef00000
102
103config DCACHE_RAM_SIZE
104 default 0xc0000
105 help
106 The size of the cache-as-ram region required during bootblock
107 and/or romstage.
108
109config DCACHE_BSP_STACK_SIZE
110 hex
111 default 0x80400
112 help
113 The amount of anticipated stack usage in CAR by bootblock and
114 other stages. In the case of FSP_USES_CB_STACK default value will be
115 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
116 (~1KiB).
117
118config FSP_TEMP_RAM_SIZE
119 hex
120 default 0x20000
121 help
122 The amount of anticipated heap usage in CAR by FSP.
123 Refer to Platform FSP integration guide document to know
124 the exact FSP requirement for Heap setup.
125
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700126config CHIPSET_DEVICETREE
127 string
128 default "soc/intel/meteorlake/chipset.cb"
129
130config EXT_BIOS_WIN_BASE
131 default 0xf8000000
132
133config EXT_BIOS_WIN_SIZE
134 default 0x2000000
135
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700136config IFD_CHIPSET
137 string
Subrata Banikd624e742022-07-06 06:45:57 +0000138 default "mtl"
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700139
140config IED_REGION_SIZE
141 hex
142 default 0x400000
143
144config HEAP_SIZE
145 hex
146 default 0x10000
147
Subrata Banika33bcb92022-07-06 07:07:26 +0000148# Intel recommends reserving the PCIe TBT root port resources as below:
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700149# - 42 buses
150# - 194 MiB Non-prefetchable memory
151# - 448 MiB Prefetchable memory
152if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
153
154config PCIEXP_HOTPLUG_BUSES
155 int
156 default 42
157
158config PCIEXP_HOTPLUG_MEM
159 hex
160 default 0xc200000
161
162config PCIEXP_HOTPLUG_PREFETCH_MEM
163 hex
164 default 0x1c000000
165
166endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
167
168config MAX_TBT_ROOT_PORTS
169 int
170 default 4
171
172config MAX_ROOT_PORTS
173 int
174 default 12
175
176config MAX_PCIE_CLOCK_SRC
177 int
178 default 9
179
180config SMM_TSEG_SIZE
181 hex
182 default 0x800000
183
184config SMM_RESERVED_SIZE
185 hex
186 default 0x200000
187
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700188config PCR_BASE_ADDRESS
189 hex
190 default 0xe0000000
191 help
192 This option allows you to select MMIO Base Address of sideband bus.
193
194config ECAM_MMCONF_BASE_ADDRESS
195 default 0xc0000000
196
197config CPU_BCLK_MHZ
198 int
199 default 100
200
201config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
202 int
203 default 120
204
205config CPU_XTAL_HZ
206 default 38400000
207
208config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
209 int
210 default 133
211
212config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
213 int
Subrata Banike54a8fd2022-07-06 12:54:48 +0000214 default 3
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700215
216config SOC_INTEL_I2C_DEV_MAX
217 int
218 default 6
219
220config SOC_INTEL_UART_DEV_MAX
221 int
222 default 3
223
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700224config SOC_INTEL_USB2_DEV_MAX
225 int
226 default 10
227
228config SOC_INTEL_USB3_DEV_MAX
229 int
230 default 2
231
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700232config CONSOLE_UART_BASE_ADDRESS
233 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700234 default 0xfe02c000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700235 depends on INTEL_LPSS_UART_FOR_CONSOLE
236
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700237config VBT_DATA_SIZE_KB
238 int
239 default 9
240
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700241# Clock divider parameters for 115200 baud rate
Angel Pons054ff5e2022-06-26 10:19:53 +0200242# Baudrate = (UART source clock * M) /(N *16)
Wonkyu Kim60d9b892022-10-10 23:01:38 -0700243# MTL UART source clock: 100MHz
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700244config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
245 hex
246 default 0x25a
247
248config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
249 hex
250 default 0x7fff
251
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700252config VBOOT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700253 select VBOOT_SEPARATE_VERSTAGE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700254 select VBOOT_MUST_REQUEST_DISPLAY
255 select VBOOT_STARTS_IN_BOOTBLOCK
256 select VBOOT_VBNV_CMOS
257 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
258 select VBOOT_X86_SHA256_ACCELERATION
259
Subrata Banikfebd3d72022-05-30 13:59:25 +0530260# Default hash block size is 1KiB. Increasing it to 4KiB to improve
261# hashing time as well as read time.
262config VBOOT_HASH_BLOCK_SIZE
263 hex
264 default 0x1000
265
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700266config CBFS_SIZE
267 hex
268 default 0x200000
269
270config PRERAM_CBMEM_CONSOLE_SIZE
271 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700272 default 0x1400
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700273
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700274config FSP_HEADER_PATH
275 string "Location of FSP headers"
276 default "src/vendorcode/intel/fsp/fsp2_0/meteorlake/"
277
278config FSP_FD_PATH
279 string
280 depends on FSP_USE_REPO
281 default "3rdparty/fsp/MeteorLakeFspBinPkg/Fsp.fd"
282
283config SOC_INTEL_METEORLAKE_DEBUG_CONSENT
284 int "Debug Consent for MTL"
285 # USB DBC is more common for developers so make this default to 3 if
286 # SOC_INTEL_DEBUG_CONSENT=y
Subrata Banik653e1572022-07-20 12:26:24 +0000287 default 3 if SOC_INTEL_DEBUG_CONSENT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700288 default 0
289 help
290 This is to control debug interface on SOC.
291 Setting non-zero value will allow to use DBC or DCI to debug SOC.
292 PlatformDebugConsent in FspmUpd.h has the details.
293
294 Desired platform debug type are
295 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
296 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
297 6:Enable (2-wire DCI OOB), 7:Manual
298
299config DATA_BUS_WIDTH
300 int
301 default 128
302
303config DIMMS_PER_CHANNEL
304 int
305 default 2
306
307config MRC_CHANNEL_WIDTH
308 int
309 default 16
310
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700311config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
312 hex
313 default 0x800000
314
Subrata Banik7c4789d2022-07-09 22:41:48 +0000315choice
316 prompt "Multiprocessor (MP) Initialization configuration to use"
317 default MTL_USE_FSP_MP_INIT
318
319config MTL_USE_FSP_MP_INIT
320 bool "Use FSP MP init"
321 select MP_SERVICES_PPI_V2
322 help
323 Upon selection, coreboot brings APs from reset and the FSP runs feature programming.
324
325config MTL_USE_COREBOOT_MP_INIT
326 bool "Use coreboot MP init"
327 select RELOAD_MICROCODE_PATCH
328 help
Sridhar Siricilla3741e992022-08-16 21:52:32 +0530329 Upon selection, coreboot performs MP Initialization that includes feature programming.
Subrata Banik7c4789d2022-07-09 22:41:48 +0000330
331endchoice
332
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700333endif