blob: 9ef58aa14484d9e61f6987aefc2acd2ef31285f4 [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 Sarawadi91ffac82022-05-07 16:37:09 -070020 select DRIVERS_INTEL_USB4_RETIMER
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
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
50 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP
51 select SOC_INTEL_COMMON_BLOCK_ACPI_PEP_LPM_REQ
Ravi Sarawadib8224f42022-04-10 23:31:24 -070052 select SOC_INTEL_COMMON_BLOCK_CAR
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070053 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Subrata Banik00b682e2022-09-14 17:58:51 -070054 select SOC_INTEL_COMMON_BLOCK_CNVI
Ravi Sarawadib8224f42022-04-10 23:31:24 -070055 select SOC_INTEL_COMMON_BLOCK_CPU
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070056 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
57 select SOC_INTEL_COMMON_BLOCK_CPU_SMMRELOCATE
58 select SOC_INTEL_COMMON_BLOCK_DTT
59 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Subrata Banikbae1de12022-07-21 13:43:37 +000060 select SOC_INTEL_COMMON_BLOCK_GPIO_LOCK_USING_PCR
Jamie Ryub6c32d72022-08-03 01:13:33 -070061 select SOC_INTEL_COMMON_BLOCK_GPIO_PMODE_4BITS
Ravi Sarawadib8224f42022-04-10 23:31:24 -070062 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070063 select SOC_INTEL_COMMON_BLOCK_HDA
64 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC if DISABLE_HECI1_AT_PRE_BOOT
65 select SOC_INTEL_COMMON_BLOCK_IPU
66 select SOC_INTEL_COMMON_BLOCK_IOE_P2SB
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070067 select SOC_INTEL_COMMON_BLOCK_MEMINIT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070068 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
69 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
70 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070071 select SOC_INTEL_COMMON_BLOCK_SA
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070072 select SOC_INTEL_COMMON_BLOCK_SMM
73 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
74 select SOC_INTEL_COMMON_BLOCK_TCSS
75 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
76 select SOC_INTEL_COMMON_BLOCK_USB4
77 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
78 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
79 select SOC_INTEL_COMMON_BLOCK_XHCI
80 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
81 select SOC_INTEL_COMMON_BASECODE
82 select SOC_INTEL_COMMON_FSP_RESET
Angel Ponseb90c512022-07-18 14:41:24 +020083 select SOC_INTEL_COMMON_PCH_CLIENT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070084 select SOC_INTEL_COMMON_RESET
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070085 select SOC_INTEL_COMMON_BLOCK_IOC
86 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
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070094
95config MAX_CPUS
96 int
97 default 22
Ravi Sarawadib8224f42022-04-10 23:31:24 -070098
99config DCACHE_RAM_BASE
100 default 0xfef00000
101
102config DCACHE_RAM_SIZE
103 default 0xc0000
104 help
105 The size of the cache-as-ram region required during bootblock
106 and/or romstage.
107
108config DCACHE_BSP_STACK_SIZE
109 hex
110 default 0x80400
111 help
112 The amount of anticipated stack usage in CAR by bootblock and
113 other stages. In the case of FSP_USES_CB_STACK default value will be
114 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
115 (~1KiB).
116
117config FSP_TEMP_RAM_SIZE
118 hex
119 default 0x20000
120 help
121 The amount of anticipated heap usage in CAR by FSP.
122 Refer to Platform FSP integration guide document to know
123 the exact FSP requirement for Heap setup.
124
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700125config CHIPSET_DEVICETREE
126 string
127 default "soc/intel/meteorlake/chipset.cb"
128
129config EXT_BIOS_WIN_BASE
130 default 0xf8000000
131
132config EXT_BIOS_WIN_SIZE
133 default 0x2000000
134
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700135config IFD_CHIPSET
136 string
Subrata Banikd624e742022-07-06 06:45:57 +0000137 default "mtl"
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700138
139config IED_REGION_SIZE
140 hex
141 default 0x400000
142
143config HEAP_SIZE
144 hex
145 default 0x10000
146
Subrata Banika33bcb92022-07-06 07:07:26 +0000147# Intel recommends reserving the PCIe TBT root port resources as below:
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700148# - 42 buses
149# - 194 MiB Non-prefetchable memory
150# - 448 MiB Prefetchable memory
151if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
152
153config PCIEXP_HOTPLUG_BUSES
154 int
155 default 42
156
157config PCIEXP_HOTPLUG_MEM
158 hex
159 default 0xc200000
160
161config PCIEXP_HOTPLUG_PREFETCH_MEM
162 hex
163 default 0x1c000000
164
165endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
166
167config MAX_TBT_ROOT_PORTS
168 int
169 default 4
170
171config MAX_ROOT_PORTS
172 int
173 default 12
174
175config MAX_PCIE_CLOCK_SRC
176 int
177 default 9
178
179config SMM_TSEG_SIZE
180 hex
181 default 0x800000
182
183config SMM_RESERVED_SIZE
184 hex
185 default 0x200000
186
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700187config PCR_BASE_ADDRESS
188 hex
189 default 0xe0000000
190 help
191 This option allows you to select MMIO Base Address of sideband bus.
192
193config ECAM_MMCONF_BASE_ADDRESS
194 default 0xc0000000
195
196config CPU_BCLK_MHZ
197 int
198 default 100
199
200config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
201 int
202 default 120
203
204config CPU_XTAL_HZ
205 default 38400000
206
207config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
208 int
209 default 133
210
211config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
212 int
Subrata Banike54a8fd2022-07-06 12:54:48 +0000213 default 3
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700214
215config SOC_INTEL_I2C_DEV_MAX
216 int
217 default 6
218
219config SOC_INTEL_UART_DEV_MAX
220 int
221 default 3
222
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700223config SOC_INTEL_USB2_DEV_MAX
224 int
225 default 10
226
227config SOC_INTEL_USB3_DEV_MAX
228 int
229 default 2
230
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700231config CONSOLE_UART_BASE_ADDRESS
232 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700233 default 0xfe02c000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700234 depends on INTEL_LPSS_UART_FOR_CONSOLE
235
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700236config VBT_DATA_SIZE_KB
237 int
238 default 9
239
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700240# Clock divider parameters for 115200 baud rate
Angel Pons054ff5e2022-06-26 10:19:53 +0200241# Baudrate = (UART source clock * M) /(N *16)
Wonkyu Kim60d9b892022-10-10 23:01:38 -0700242# MTL UART source clock: 100MHz
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700243config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
244 hex
245 default 0x25a
246
247config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
248 hex
249 default 0x7fff
250
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700251config VBOOT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700252 select VBOOT_SEPARATE_VERSTAGE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700253 select VBOOT_MUST_REQUEST_DISPLAY
254 select VBOOT_STARTS_IN_BOOTBLOCK
255 select VBOOT_VBNV_CMOS
256 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
257 select VBOOT_X86_SHA256_ACCELERATION
258
Subrata Banikfebd3d72022-05-30 13:59:25 +0530259# Default hash block size is 1KiB. Increasing it to 4KiB to improve
260# hashing time as well as read time.
261config VBOOT_HASH_BLOCK_SIZE
262 hex
263 default 0x1000
264
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700265config CBFS_SIZE
266 hex
267 default 0x200000
268
269config PRERAM_CBMEM_CONSOLE_SIZE
270 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700271 default 0x1400
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700272
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700273config FSP_HEADER_PATH
274 string "Location of FSP headers"
275 default "src/vendorcode/intel/fsp/fsp2_0/meteorlake/"
276
277config FSP_FD_PATH
278 string
279 depends on FSP_USE_REPO
280 default "3rdparty/fsp/MeteorLakeFspBinPkg/Fsp.fd"
281
282config SOC_INTEL_METEORLAKE_DEBUG_CONSENT
283 int "Debug Consent for MTL"
284 # USB DBC is more common for developers so make this default to 3 if
285 # SOC_INTEL_DEBUG_CONSENT=y
Subrata Banik653e1572022-07-20 12:26:24 +0000286 default 3 if SOC_INTEL_DEBUG_CONSENT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700287 default 0
288 help
289 This is to control debug interface on SOC.
290 Setting non-zero value will allow to use DBC or DCI to debug SOC.
291 PlatformDebugConsent in FspmUpd.h has the details.
292
293 Desired platform debug type are
294 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
295 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
296 6:Enable (2-wire DCI OOB), 7:Manual
297
298config DATA_BUS_WIDTH
299 int
300 default 128
301
302config DIMMS_PER_CHANNEL
303 int
304 default 2
305
306config MRC_CHANNEL_WIDTH
307 int
308 default 16
309
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700310config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
311 hex
312 default 0x800000
313
Subrata Banik7c4789d2022-07-09 22:41:48 +0000314choice
315 prompt "Multiprocessor (MP) Initialization configuration to use"
316 default MTL_USE_FSP_MP_INIT
317
318config MTL_USE_FSP_MP_INIT
319 bool "Use FSP MP init"
320 select MP_SERVICES_PPI_V2
321 help
322 Upon selection, coreboot brings APs from reset and the FSP runs feature programming.
323
324config MTL_USE_COREBOOT_MP_INIT
325 bool "Use coreboot MP init"
326 select RELOAD_MICROCODE_PATCH
327 help
Sridhar Siricilla3741e992022-08-16 21:52:32 +0530328 Upon selection, coreboot performs MP Initialization that includes feature programming.
Subrata Banik7c4789d2022-07-09 22:41:48 +0000329
330endchoice
331
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700332endif