blob: 013f123c92aba3caec3c6576b8ff660a4618a70f [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 Banike88bee72022-06-27 16:51:44 +053018 select DISPLAY_FSP_VERSION_INFO
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070019 select DRIVERS_INTEL_USB4_RETIMER
Ravi Sarawadie02fd832022-05-08 00:27:31 -070020 select DRIVERS_USB_ACPI
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070021 select FSP_COMPRESS_FSP_S_LZ4
22 select FAST_SPI_SUPPORTS_EXT_BIOS_WINDOW
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070023 select FSP_M_XIP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070024 select FSP_STATUS_GLOBAL_RESET_REQUIRED_3
Subrata Banike88bee72022-06-27 16:51:44 +053025 select FSP_USES_CB_DEBUG_EVENT_HANDLER
26 select FSPS_HAS_ARCH_UPD
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070027 select GENERIC_GPIO_LIB
Subrata Banike88bee72022-06-27 16:51:44 +053028 select HAVE_DEBUG_RAM_SETUP
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070029 select HAVE_FSP_GOP
30 select INTEL_DESCRIPTOR_MODE_CAPABLE
31 select HAVE_SMI_HANDLER
Ravi Sarawadib8224f42022-04-10 23:31:24 -070032 select IDT_IN_EVERY_STAGE
33 select INTEL_CAR_NEM
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070034 select INTEL_GMA_ACPI
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070035 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
36 select IOAPIC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070037 select INTEL_TME
38 select USE_INTEL_FSP_MP_INIT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070039 select MRC_SETTINGS_PROTECT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070040 select PARALLEL_MP_AP_WORK
41 select MICROCODE_BLOB_UNDISCLOSED
42 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
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
Ravi Sarawadib8224f42022-04-10 23:31:24 -070059 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070060 select SOC_INTEL_COMMON_BLOCK_HDA
61 select SOC_INTEL_COMMON_BLOCK_HECI1_DISABLE_USING_PMC_IPC if DISABLE_HECI1_AT_PRE_BOOT
62 select SOC_INTEL_COMMON_BLOCK_IPU
63 select SOC_INTEL_COMMON_BLOCK_IOE_P2SB
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -070064 select SOC_INTEL_COMMON_BLOCK_MEMINIT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070065 select SOC_INTEL_COMMON_BLOCK_PCIE_RTD3
66 select SOC_INTEL_COMMON_BLOCK_PMC_EPOC
67 select SOC_INTEL_COMMON_BLOCK_POWER_LIMIT
Ravi Sarawadib8224f42022-04-10 23:31:24 -070068 select SOC_INTEL_COMMON_BLOCK_SA
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070069 select SOC_INTEL_COMMON_BLOCK_SMM
70 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
71 select SOC_INTEL_COMMON_BLOCK_TCSS
72 select SOC_INTEL_COMMON_BLOCK_THERMAL_BEHIND_PMC
73 select SOC_INTEL_COMMON_BLOCK_USB4
74 select SOC_INTEL_COMMON_BLOCK_USB4_PCIE
75 select SOC_INTEL_COMMON_BLOCK_USB4_XHCI
76 select SOC_INTEL_COMMON_BLOCK_XHCI
77 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
78 select SOC_INTEL_COMMON_BASECODE
79 select SOC_INTEL_COMMON_FSP_RESET
Ravi Sarawadib8224f42022-04-10 23:31:24 -070080 select SOC_INTEL_COMMON_PCH_BASE
81 select SOC_INTEL_COMMON_RESET
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070082 select SOC_INTEL_COMMON_BLOCK_IOC
83 select SOC_INTEL_CSE_SET_EOP
84 select SOC_INTEL_MEM_MAPPED_PM_CONFIGURATION
Ravi Sarawadib8224f42022-04-10 23:31:24 -070085 select SSE2
86 select SUPPORT_CPU_UCODE_IN_CBFS
87 select TSC_MONOTONIC_TIMER
88 select UDELAY_TSC
Ravi Sarawadi91ffac82022-05-07 16:37:09 -070089 select UDK_202111_BINDING
90 select DISPLAY_FSP_VERSION_INFO
91
92config MAX_CPUS
93 int
94 default 22
Ravi Sarawadib8224f42022-04-10 23:31:24 -070095
96config DCACHE_RAM_BASE
97 default 0xfef00000
98
99config DCACHE_RAM_SIZE
100 default 0xc0000
101 help
102 The size of the cache-as-ram region required during bootblock
103 and/or romstage.
104
105config DCACHE_BSP_STACK_SIZE
106 hex
107 default 0x80400
108 help
109 The amount of anticipated stack usage in CAR by bootblock and
110 other stages. In the case of FSP_USES_CB_STACK default value will be
111 sum of FSP-M stack requirement(512KiB) and CB romstage stack requirement
112 (~1KiB).
113
114config FSP_TEMP_RAM_SIZE
115 hex
116 default 0x20000
117 help
118 The amount of anticipated heap usage in CAR by FSP.
119 Refer to Platform FSP integration guide document to know
120 the exact FSP requirement for Heap setup.
121
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700122config CHIPSET_DEVICETREE
123 string
124 default "soc/intel/meteorlake/chipset.cb"
125
126config EXT_BIOS_WIN_BASE
127 default 0xf8000000
128
129config EXT_BIOS_WIN_SIZE
130 default 0x2000000
131
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700132config IFD_CHIPSET
133 string
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700134 default "ifd2"
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700135
136config IED_REGION_SIZE
137 hex
138 default 0x400000
139
140config HEAP_SIZE
141 hex
142 default 0x10000
143
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700144# Intel recommends reserving the following resources per PCIe TBT root port,
145# from ADL BIOS Spec (doc #627270) Revision 0.6.0 Section 7.2.5.1.5
146# - 42 buses
147# - 194 MiB Non-prefetchable memory
148# - 448 MiB Prefetchable memory
149if SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
150
151config PCIEXP_HOTPLUG_BUSES
152 int
153 default 42
154
155config PCIEXP_HOTPLUG_MEM
156 hex
157 default 0xc200000
158
159config PCIEXP_HOTPLUG_PREFETCH_MEM
160 hex
161 default 0x1c000000
162
163endif # SOC_INTEL_ENABLE_USB4_PCIE_RESOURCES
164
165config MAX_TBT_ROOT_PORTS
166 int
167 default 4
168
169config MAX_ROOT_PORTS
170 int
171 default 12
172
173config MAX_PCIE_CLOCK_SRC
174 int
175 default 9
176
177config SMM_TSEG_SIZE
178 hex
179 default 0x800000
180
181config SMM_RESERVED_SIZE
182 hex
183 default 0x200000
184
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700185config PCR_BASE_ADDRESS
186 hex
187 default 0xe0000000
188 help
189 This option allows you to select MMIO Base Address of sideband bus.
190
191config ECAM_MMCONF_BASE_ADDRESS
192 default 0xc0000000
193
194config CPU_BCLK_MHZ
195 int
196 default 100
197
198config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
199 int
200 default 120
201
202config CPU_XTAL_HZ
203 default 38400000
204
205config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
206 int
207 default 133
208
209config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
210 int
211 default 2
212
213config SOC_INTEL_I2C_DEV_MAX
214 int
215 default 6
216
217config SOC_INTEL_UART_DEV_MAX
218 int
219 default 3
220
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700221config SOC_INTEL_USB2_DEV_MAX
222 int
223 default 10
224
225config SOC_INTEL_USB3_DEV_MAX
226 int
227 default 2
228
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700229config CONSOLE_UART_BASE_ADDRESS
230 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700231 default 0xfe02c000
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700232 depends on INTEL_LPSS_UART_FOR_CONSOLE
233
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700234config VBT_DATA_SIZE_KB
235 int
236 default 9
237
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700238# Clock divider parameters for 115200 baud rate
Angel Pons054ff5e2022-06-26 10:19:53 +0200239# Baudrate = (UART source clock * M) /(N *16)
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700240# MTL UART source clock: 120MHz
241config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
242 hex
243 default 0x25a
244
245config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
246 hex
247 default 0x7fff
248
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700249config VBOOT
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700250 select VBOOT_SEPARATE_VERSTAGE
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700251 select VBOOT_MUST_REQUEST_DISPLAY
252 select VBOOT_STARTS_IN_BOOTBLOCK
253 select VBOOT_VBNV_CMOS
254 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
255 select VBOOT_X86_SHA256_ACCELERATION
256
Subrata Banikfebd3d72022-05-30 13:59:25 +0530257# Default hash block size is 1KiB. Increasing it to 4KiB to improve
258# hashing time as well as read time.
259config VBOOT_HASH_BLOCK_SIZE
260 hex
261 default 0x1000
262
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700263config CBFS_SIZE
264 hex
265 default 0x200000
266
267config PRERAM_CBMEM_CONSOLE_SIZE
268 hex
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700269 default 0x1400
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700270
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700271config FSP_HEADER_PATH
272 string "Location of FSP headers"
273 default "src/vendorcode/intel/fsp/fsp2_0/meteorlake/"
274
275config FSP_FD_PATH
276 string
277 depends on FSP_USE_REPO
278 default "3rdparty/fsp/MeteorLakeFspBinPkg/Fsp.fd"
279
280config SOC_INTEL_METEORLAKE_DEBUG_CONSENT
281 int "Debug Consent for MTL"
282 # USB DBC is more common for developers so make this default to 3 if
283 # SOC_INTEL_DEBUG_CONSENT=y
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700284 default 5 if SOC_INTEL_DEBUG_CONSENT
Ravi Sarawadi8069b5d2022-04-10 23:36:52 -0700285 default 0
286 help
287 This is to control debug interface on SOC.
288 Setting non-zero value will allow to use DBC or DCI to debug SOC.
289 PlatformDebugConsent in FspmUpd.h has the details.
290
291 Desired platform debug type are
292 0:Disabled, 1:Enabled (DCI OOB+[DbC]), 2:Enabled (DCI OOB),
293 3:Enabled (USB3 DbC), 4:Enabled (XDP/MIPI60), 5:Enabled (USB2 DbC),
294 6:Enable (2-wire DCI OOB), 7:Manual
295
296config DATA_BUS_WIDTH
297 int
298 default 128
299
300config DIMMS_PER_CHANNEL
301 int
302 default 2
303
304config MRC_CHANNEL_WIDTH
305 int
306 default 16
307
Ravi Sarawadi91ffac82022-05-07 16:37:09 -0700308config SOC_INTEL_GFX_FRAMEBUFFER_OFFSET
309 hex
310 default 0x800000
311
Ravi Sarawadib8224f42022-04-10 23:31:24 -0700312endif