blob: 8c4158ba702bbaaf59c804d19bbeeaa34f50cd69 [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 Banike0ddbbb2022-07-03 14:58:18 +000018 select DEFAULT_X2APIC
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
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
31 select INTEL_DESCRIPTOR_MODE_CAPABLE
32 select HAVE_SMI_HANDLER
Ravi Sarawadib8224f42022-04-10 23:31:24 -070033 select IDT_IN_EVERY_STAGE
34 select INTEL_CAR_NEM
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
37 select IOAPIC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070038 select INTEL_TME
39 select USE_INTEL_FSP_MP_INIT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070040 select MRC_SETTINGS_PROTECT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070041 select PARALLEL_MP_AP_WORK
42 select MICROCODE_BLOB_UNDISCLOSED
43 select PLATFORM_USES_FSP2_3
44 select PMC_GLOBAL_RESET_ENABLE_LOCK
Ravi Sarawadib8224f42022-04-10 23:31:24 -070045 select SOC_INTEL_COMMON
Ravi Sarawadie02fd832022-05-08 00:27:31 -070046 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070047 select SOC_INTEL_COMMON_BLOCK
Ravi Sarawadie02fd832022-05-08 00:27:31 -070048 select SOC_INTEL_COMMON_BLOCK_ACPI
49 select SOC_INTEL_COMMON_BLOCK_ACPI_CPPC
50 select SOC_INTEL_COMMON_BLOCK_ACPI_GPIO
51 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
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
Ravi Sarawadib8224f42022-04-10 23:31:24 -070060 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070061 select SOC_INTEL_COMMON_BLOCK_HDA
62 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC if DISABLE_HECI1_AT_PRE_BOOT
63 select SOC_INTEL_COMMON_BLOCK_IPU
64 select SOC_INTEL_COMMON_BLOCK_IOE_P2SB
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070065 select SOC_INTEL_COMMON_BLOCK_MEMINIT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070066 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
67 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
68 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070069 select SOC_INTEL_COMMON_BLOCK_SA
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070070 select SOC_INTEL_COMMON_BLOCK_SMM
71 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
72 select SOC_INTEL_COMMON_BLOCK_TCSS
73 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
74 select SOC_INTEL_COMMON_BLOCK_USB4
75 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
76 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
77 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
Ravi Sarawadib8224f42022-04-10 23:31:24 -070081 select SOC_INTEL_COMMON_PCH_BASE
82 select SOC_INTEL_COMMON_RESET
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070083 select SOC_INTEL_COMMON_BLOCK_IOC
84 select SOC_INTEL_CSE_SET_EOP
85 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
Ravi Sarawadib8224f42022-04-10 23:31:24 -070086 select SSE2
87 select SUPPORT_CPU_UCODE_IN_CBFS
88 select TSC_MONOTONIC_TIMER
89 select UDELAY_TSC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070090 select UDK_202111_BINDING
91 select DISPLAY_FSP_VERSION_INFO
92
93config MAX_CPUS
94 int
95 default 22
Ravi Sarawadib8224f42022-04-10 23:31:24 -070096
97config DCACHE_RAM_BASE
98 default 0xfef00000
99
100config DCACHE_RAM_SIZE
101 default 0xc0000
102 help
103 The size of the cache-as-ram region required during bootblock
104 and/or romstage.
105
106config DCACHE_BSP_STACK_SIZE
107 hex
108 default 0x80400
109 help
110 The amount of anticipated stack usage in CAR by bootblock and
111 other stages. In the case of FSP_USES_CB_STACK default value will be
112 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
113 (~1KiB).
114
115config FSP_TEMP_RAM_SIZE
116 hex
117 default 0x20000
118 help
119 The amount of anticipated heap usage in CAR by FSP.
120 Refer to Platform FSP integration guide document to know
121 the exact FSP requirement for Heap setup.
122
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700123config CHIPSET_DEVICETREE
124 string
125 default "soc/intel/meteorlake/chipset.cb"
126
127config EXT_BIOS_WIN_BASE
128 default 0xf8000000
129
130config EXT_BIOS_WIN_SIZE
131 default 0x2000000
132
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700133config IFD_CHIPSET
134 string
Subrata Banikd624e742022-07-06 06:45:57 +0000135 default "mtl"
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700136
137config IED_REGION_SIZE
138 hex
139 default 0x400000
140
141config HEAP_SIZE
142 hex
143 default 0x10000
144
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700145# Intel recommends reserving the following resources per PCIe TBT root port,
146# from ADL BIOS Spec (doc #627270) Revision 0.6.0 Section 7.2.5.1.5
147# - 42 buses
148# - 194 MiB Non-prefetchable memory
149# - 448 MiB Prefetchable memory
150if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
151
152config PCIEXP_HOTPLUG_BUSES
153 int
154 default 42
155
156config PCIEXP_HOTPLUG_MEM
157 hex
158 default 0xc200000
159
160config PCIEXP_HOTPLUG_PREFETCH_MEM
161 hex
162 default 0x1c000000
163
164endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
165
166config MAX_TBT_ROOT_PORTS
167 int
168 default 4
169
170config MAX_ROOT_PORTS
171 int
172 default 12
173
174config MAX_PCIE_CLOCK_SRC
175 int
176 default 9
177
178config SMM_TSEG_SIZE
179 hex
180 default 0x800000
181
182config SMM_RESERVED_SIZE
183 hex
184 default 0x200000
185
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700186config PCR_BASE_ADDRESS
187 hex
188 default 0xe0000000
189 help
190 This option allows you to select MMIO Base Address of sideband bus.
191
192config ECAM_MMCONF_BASE_ADDRESS
193 default 0xc0000000
194
195config CPU_BCLK_MHZ
196 int
197 default 100
198
199config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
200 int
201 default 120
202
203config CPU_XTAL_HZ
204 default 38400000
205
206config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
207 int
208 default 133
209
210config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
211 int
212 default 2
213
214config SOC_INTEL_I2C_DEV_MAX
215 int
216 default 6
217
218config SOC_INTEL_UART_DEV_MAX
219 int
220 default 3
221
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700222config SOC_INTEL_USB2_DEV_MAX
223 int
224 default 10
225
226config SOC_INTEL_USB3_DEV_MAX
227 int
228 default 2
229
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700230config CONSOLE_UART_BASE_ADDRESS
231 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700232 default 0xfe02c000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700233 depends on INTEL_LPSS_UART_FOR_CONSOLE
234
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700235config VBT_DATA_SIZE_KB
236 int
237 default 9
238
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700239# Clock divider parameters for 115200 baud rate
Angel Pons054ff5e2022-06-26 10:19:53 +0200240# Baudrate = (UART source clock * M) /(N *16)
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700241# MTL UART source clock: 120MHz
242config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
243 hex
244 default 0x25a
245
246config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
247 hex
248 default 0x7fff
249
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700250config VBOOT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700251 select VBOOT_SEPARATE_VERSTAGE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700252 select VBOOT_MUST_REQUEST_DISPLAY
253 select VBOOT_STARTS_IN_BOOTBLOCK
254 select VBOOT_VBNV_CMOS
255 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
256 select VBOOT_X86_SHA256_ACCELERATION
257
Subrata Banikfebd3d72022-05-30 13:59:25 +0530258# Default hash block size is 1KiB. Increasing it to 4KiB to improve
259# hashing time as well as read time.
260config VBOOT_HASH_BLOCK_SIZE
261 hex
262 default 0x1000
263
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700264config CBFS_SIZE
265 hex
266 default 0x200000
267
268config PRERAM_CBMEM_CONSOLE_SIZE
269 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700270 default 0x1400
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700271
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700272config FSP_HEADER_PATH
273 string "Location of FSP headers"
274 default "src/vendorcode/intel/fsp/fsp2_0/meteorlake/"
275
276config FSP_FD_PATH
277 string
278 depends on FSP_USE_REPO
279 default "3rdparty/fsp/MeteorLakeFspBinPkg/Fsp.fd"
280
281config SOC_INTEL_METEORLAKE_DEBUG_CONSENT
282 int "Debug Consent for MTL"
283 # USB DBC is more common for developers so make this default to 3 if
284 # SOC_INTEL_DEBUG_CONSENT=y
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700285 default 5 if SOC_INTEL_DEBUG_CONSENT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700286 default 0
287 help
288 This is to control debug interface on SOC.
289 Setting non-zero value will allow to use DBC or DCI to debug SOC.
290 PlatformDebugConsent in FspmUpd.h has the details.
291
292 Desired platform debug type are
293 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
294 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
295 6:Enable (2-wire DCI OOB), 7:Manual
296
297config DATA_BUS_WIDTH
298 int
299 default 128
300
301config DIMMS_PER_CHANNEL
302 int
303 default 2
304
305config MRC_CHANNEL_WIDTH
306 int
307 default 16
308
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700309config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
310 hex
311 default 0x800000
312
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700313endif