blob: c1fda951c22b6f54ce72e627b2dcd6838bca7831 [file] [log] [blame]
Arthur Heymansc8db6332019-06-17 13:32:13 +02001config SOC_INTEL_CANNONLAKE_BASE
Lijian Zhao81096042017-05-02 18:54:44 -07002 bool
Lijian Zhao81096042017-05-02 18:54:44 -07003
Arthur Heymans4821a0e2019-06-18 13:19:29 +02004config SOC_INTEL_CANNONLAKE_ALTERNATE_HEADERS
Lijian Zhao3638a522018-07-12 17:16:11 -07005 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +02006 default y if SOC_INTEL_CANNONLAKE_BASE && !SOC_INTEL_CANNONLAKE
Lijian Zhao3638a522018-07-12 17:16:11 -07007 help
Subrata Banik6527b1a2019-01-29 11:04:25 +05308 Single Kconfig option to select common base Cannonlake support.
9 This Kconfig will help to select majority of CNL SoC features.
10 Major difference that exist today between
Arthur Heymans4821a0e2019-06-18 13:19:29 +020011 SOC_INTEL_CANNONLAKE_ALTERNATE_HEADERS and SOC_INTEL_CANNONLAKE Kconfig
Subrata Banik6527b1a2019-01-29 11:04:25 +053012 are in FSP Header Files. Hence this Kconfig might help to select
13 required SoC support FSP headers. Any future Intel SoC would
14 like to make use of CNL support might just select this Kconfig.
15
Arthur Heymansc8db6332019-06-17 13:32:13 +020016config SOC_INTEL_CANNONLAKE
17 bool
18 select SOC_INTEL_CANNONLAKE_BASE
Arthur Heymansa4492902019-06-17 10:50:47 +020019 select MICROCODE_BLOB_NOT_IN_BLOB_REPO
Arthur Heymansc8db6332019-06-17 13:32:13 +020020 help
21 Intel Cannonlake support
22
Subrata Banik6527b1a2019-01-29 11:04:25 +053023config SOC_INTEL_COFFEELAKE
24 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020025 select SOC_INTEL_CANNONLAKE_BASE
Subrata Banik6527b1a2019-01-29 11:04:25 +053026 help
Lijian Zhao3638a522018-07-12 17:16:11 -070027 Intel Coffeelake support
28
Subrata Banik6527b1a2019-01-29 11:04:25 +053029config SOC_INTEL_WHISKEYLAKE
30 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020031 select SOC_INTEL_CANNONLAKE_BASE
Bora Guvendik349b6a12019-06-24 14:33:31 -070032 select FSP_USES_CB_STACK
Subrata Banik6527b1a2019-01-29 11:04:25 +053033 help
34 Intel Whiskeylake support
35
Subrata Banikfa011db2019-02-02 13:25:14 +053036config SOC_INTEL_COMETLAKE
37 bool
Arthur Heymansc8db6332019-06-17 13:32:13 +020038 select SOC_INTEL_CANNONLAKE_BASE
Arthur Heymansa4492902019-06-17 10:50:47 +020039 select MICROCODE_BLOB_UNDISCLOSED
Aamir Bohraf2ad8b32019-07-08 12:22:28 +053040 select FSP_USES_CB_STACK
Subrata Banikfa011db2019-02-02 13:25:14 +053041 help
42 Intel Cometlake support
43
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +080044config SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhao3638a522018-07-12 17:16:11 -070045 bool
Lijian Zhao3638a522018-07-12 17:16:11 -070046 help
47 Choose this option if you have a PCH-H chipset.
48
Arthur Heymansc8db6332019-06-17 13:32:13 +020049if SOC_INTEL_CANNONLAKE_BASE
Lijian Zhao81096042017-05-02 18:54:44 -070050
51config CPU_SPECIFIC_OPTIONS
52 def_bool y
Lijian Zhaob3dfcb82017-08-16 22:18:52 -070053 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Lijian Zhao0e956f22017-10-22 18:30:39 -070054 select ACPI_NHLT
Lijian Zhao81096042017-05-02 18:54:44 -070055 select ARCH_BOOTBLOCK_X86_32
Lijian Zhao81096042017-05-02 18:54:44 -070056 select ARCH_RAMSTAGE_X86_32
57 select ARCH_ROMSTAGE_X86_32
Lijian Zhaodcf99b02017-07-30 15:40:10 -070058 select ARCH_VERSTAGE_X86_32
Lijian Zhao32111172017-08-16 11:40:03 -070059 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
60 select BOOT_DEVICE_SUPPORTS_WRITES
Lijian Zhao81096042017-05-02 18:54:44 -070061 select C_ENVIRONMENT_BOOTBLOCK
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070062 select CACHE_MRC_SETTINGS
Lijian Zhao2b074d92017-08-17 14:25:24 -070063 select COMMON_FADT
Ronak Kanabara432f382019-03-16 21:26:43 +053064 select CPU_INTEL_COMMON
Lijian Zhaoacfc1492017-07-06 15:27:27 -070065 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Furquan Shaikhcef98792019-04-10 16:31:55 -070066 select FSP_M_XIP
Nick Vaccaro69b5cdb2017-08-29 19:25:23 -070067 select GENERIC_GPIO_LIB
Abhay kumarfcf88202017-09-20 15:17:42 -070068 select HAVE_FSP_GOP
Stefan Tauneref8b9572018-09-06 00:34:28 +020069 select INTEL_DESCRIPTOR_MODE_CAPABLE
Lijian Zhaof0eb9992017-09-14 14:51:12 -070070 select HAVE_SMI_HANDLER
Aamir Bohrae4625852018-05-29 10:52:33 +053071 select IDT_IN_EVERY_STAGE
Abhay Kumarb0c4cbb2017-10-12 11:33:01 -070072 select INTEL_GMA_ACPI
Nico Huber29cc3312018-06-06 17:40:02 +020073 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Lijian Zhaoa5158492017-08-29 14:37:17 -070074 select IOAPIC
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070075 select MRC_SETTINGS_PROTECT
Furquan Shaikh09b01de2019-04-09 16:26:29 -070076 select NO_FIXED_XIP_ROM_SIZE
Pratik Prajapati01eda282017-08-17 21:09:45 -070077 select PARALLEL_MP
78 select PARALLEL_MP_AP_WORK
Lijian Zhao81096042017-05-02 18:54:44 -070079 select PLATFORM_USES_FSP2_0
Lijian Zhaodcf99b02017-07-30 15:40:10 -070080 select REG_SCRIPT
Pratik Prajapati01eda282017-08-17 21:09:45 -070081 select SMP
Subrata Banikac1cd442018-02-06 15:25:27 +053082 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020083 select PMC_GLOBAL_RESET_ENABLE_LOCK
Lijian Zhao81096042017-05-02 18:54:44 -070084 select SOC_INTEL_COMMON
Lijian Zhao2b074d92017-08-17 14:25:24 -070085 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Lijian Zhao81096042017-05-02 18:54:44 -070086 select SOC_INTEL_COMMON_BLOCK
Lijian Zhao2b074d92017-08-17 14:25:24 -070087 select SOC_INTEL_COMMON_BLOCK_ACPI
Subrata Banikc4986eb2018-05-09 14:55:09 +053088 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Andrey Petrov3e2e0502017-06-05 13:22:24 -070089 select SOC_INTEL_COMMON_BLOCK_CPU
Pratik Prajapati01eda282017-08-17 21:09:45 -070090 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Tim Wawrzynczak939440c2019-04-26 15:03:33 -060091 select SOC_INTEL_COMMON_BLOCK_GPIO_DUAL_ROUTE_SUPPORT
Furquan Shaikha5bb7162017-12-20 11:09:04 -080092 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
praveen hodagatta praneshdc4fceb2018-10-16 18:06:18 +080093 select SOC_INTEL_COMMON_BLOCK_HDA
Lijian Zhaodcf99b02017-07-30 15:40:10 -070094 select SOC_INTEL_COMMON_BLOCK_SA
Paul Fagerburg7803e482019-06-27 10:44:51 -060095 select SOC_INTEL_COMMON_BLOCK_XHCI
96 select SOC_INTEL_COMMON_BLOCK_XHCI_ELOG
Brandon Breitensteinae154862017-08-01 11:32:06 -070097 select SOC_INTEL_COMMON_BLOCK_SMM
98 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banikf513ceb2018-05-17 15:57:43 +053099 select SOC_INTEL_COMMON_PCH_BASE
Lijian Zhao0e956f22017-10-22 18:30:39 -0700100 select SOC_INTEL_COMMON_NHLT
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700101 select SOC_INTEL_COMMON_RESET
Lijian Zhaof0eb9992017-09-14 14:51:12 -0700102 select SSE2
Lijian Zhaoacfc1492017-07-06 15:27:27 -0700103 select SUPPORT_CPU_UCODE_IN_CBFS
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700104 select TSC_CONSTANT_RATE
105 select TSC_MONOTONIC_TIMER
106 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +0530107 select UDK_2017_BINDING
Subrata Banika8733e32018-01-23 16:40:56 +0530108 select DISPLAY_FSP_VERSION_INFO
Praveen hodagatta praneshb66757f2018-10-23 02:43:05 +0800109 select FSP_T_XIP if FSP_CAR
Subrata Banika0368a02019-06-04 14:16:02 +0530110 select HECI_DISABLE_USING_SMM if !SOC_INTEL_COFFEELAKE && !SOC_INTEL_WHISKEYLAKE && !SOC_INTEL_COMETLAKE
Lijian Zhao81096042017-05-02 18:54:44 -0700111
Lijian Zhao81096042017-05-02 18:54:44 -0700112config DCACHE_RAM_BASE
113 default 0xfef00000
114
115config DCACHE_RAM_SIZE
116 default 0x40000
117 help
118 The size of the cache-as-ram region required during bootblock
119 and/or romstage.
120
121config DCACHE_BSP_STACK_SIZE
122 hex
Aamir Bohraf2ad8b32019-07-08 12:22:28 +0530123 default 0x20000 if FSP_USES_CB_STACK
Lijian Zhao81096042017-05-02 18:54:44 -0700124 default 0x4000
125 help
126 The amount of anticipated stack usage in CAR by bootblock and
127 other stages.
128
Subrata Banik1d260e62019-09-09 13:55:42 +0530129config FSP_TEMP_RAM_SIZE
130 hex
131 depends on FSP_USES_CB_STACK
132 default 0x10000
133 help
134 The amount of anticipated heap usage in CAR by FSP.
135 Refer to Platform FSP integration guide document to know
136 the exact FSP requirement for Heap setup.
137
Furquan Shaikhc0257dd2018-05-02 23:29:04 -0700138config IFD_CHIPSET
139 string
140 default "cnl"
141
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700142config IED_REGION_SIZE
143 hex
144 default 0x400000
145
John Zhao7492bcb2018-02-01 15:56:28 -0800146config HEAP_SIZE
147 hex
148 default 0x8000
149
Lijian Zhao0e956f22017-10-22 18:30:39 -0700150config NHLT_DMIC_1CH_16B
151 bool
152 depends on ACPI_NHLT
153 default n
154 help
155 Include DSP firmware settings for 1 channel 16B DMIC array.
156
157config NHLT_DMIC_2CH_16B
158 bool
159 depends on ACPI_NHLT
160 default n
161 help
162 Include DSP firmware settings for 2 channel 16B DMIC array.
163
164config NHLT_DMIC_4CH_16B
165 bool
166 depends on ACPI_NHLT
167 default n
168 help
169 Include DSP firmware settings for 4 channel 16B DMIC array.
170
171config NHLT_MAX98357
172 bool
173 depends on ACPI_NHLT
174 default n
175 help
176 Include DSP firmware settings for headset codec.
177
N, Harshapriya4a1ee4b2017-11-28 14:29:26 -0800178config NHLT_MAX98373
179 bool
180 depends on ACPI_NHLT
181 default n
182 help
183 Include DSP firmware settings for headset codec.
184
Lijian Zhao0e956f22017-10-22 18:30:39 -0700185config NHLT_DA7219
186 bool
187 depends on ACPI_NHLT
188 default n
189 help
190 Include DSP firmware settings for headset codec.
191
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700192config MAX_ROOT_PORTS
193 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800194 default 24 if SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhaoc85890d2017-10-20 09:19:07 -0700195 default 16
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700196
Lijian Zhaod5d89c82019-05-07 14:05:33 -0700197config MAX_PCIE_CLOCKS
198 int
199 default 16 if SOC_INTEL_CANNONLAKE_PCH_H
200 default 6
201
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700202config SMM_TSEG_SIZE
203 hex
204 default 0x800000
205
Subrata Banike66600e2018-05-10 17:23:56 +0530206config SMM_RESERVED_SIZE
207 hex
208 default 0x200000
209
Lijian Zhao81096042017-05-02 18:54:44 -0700210config PCR_BASE_ADDRESS
211 hex
212 default 0xfd000000
213 help
214 This option allows you to select MMIO Base Address of sideband bus.
215
Andrey Petrov3e2e0502017-06-05 13:22:24 -0700216config CPU_BCLK_MHZ
217 int
218 default 100
219
Aaron Durbin551e4be2018-04-10 09:24:54 -0600220config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Lijian Zhaof3885612017-11-09 15:01:33 -0800221 int
222 default 120
223
Chris Chingb8dc63b2017-12-06 14:26:15 -0700224config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
225 int
Duncan Laurie695f2fe2018-12-05 12:51:23 -0800226 default 216
Chris Chingb8dc63b2017-12-06 14:26:15 -0700227
Lijian Zhao32111172017-08-16 11:40:03 -0700228config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
229 int
230 default 3
231
Subrata Banikc4986eb2018-05-09 14:55:09 +0530232config SOC_INTEL_I2C_DEV_MAX
233 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800234 default 4 if SOC_INTEL_CANNONLAKE_PCH_H
Subrata Banikc4986eb2018-05-09 14:55:09 +0530235 default 6
236
Nico Huber99954182019-05-29 23:33:06 +0200237config CONSOLE_UART_BASE_ADDRESS
238 hex
239 default 0xfe032000
240 depends on INTEL_LPSS_UART_FOR_CONSOLE
241
Lijian Zhao8465a812017-07-11 12:33:22 -0700242# Clock divider parameters for 115200 baud rate
243config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
244 hex
245 default 0x30
246
247config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
248 hex
249 default 0xc35
250
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700251config CHROMEOS
252 select CHROMEOS_RAMOOPS_DYNAMIC
253
254config VBOOT
255 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800256 select VBOOT_MUST_REQUEST_DISPLAY
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700257 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
258 select VBOOT_STARTS_IN_BOOTBLOCK
259 select VBOOT_VBNV_CMOS
260 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
261
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600262config C_ENV_BOOTBLOCK_SIZE
263 hex
Duncan Laurie11340e52018-12-01 16:58:52 -0800264 default 0xC000
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600265
Patrick Georgi6539e102018-09-13 11:48:43 -0400266config CBFS_SIZE
267 hex
268 default 0x200000
269
Rizwan Qureshi8aadab72019-02-17 11:31:21 +0530270config MB_HAS_ACTIVE_HIGH_SD_PWR_ENABLE
271 bool
272 default n
273 help
274 Select this if the board has a SD_PWR_ENABLE pin connected to a
275 active high sensing load switch to turn on power to the card reader.
276 This will enable a workaround in ASL _PS3 and _PS0 methods to force
277 SD_PWR_ENABLE to stay low in D3.
278
Subrata Banik9e3ba212018-01-08 15:28:26 +0530279choice
280 prompt "Cache-as-ram implementation"
Angel Pons7ed704d2019-07-12 15:46:43 +0200281 default USE_CANNONLAKE_CAR_NEM_ENHANCED
Subrata Banik9e3ba212018-01-08 15:28:26 +0530282 help
283 This option allows you to select how cache-as-ram (CAR) is set up.
284
285config USE_CANNONLAKE_CAR_NEM_ENHANCED
286 bool "Enhanced Non-evict mode"
287 select SOC_INTEL_COMMON_BLOCK_CAR
288 select INTEL_CAR_NEM_ENHANCED
289 help
290 A current limitation of NEM (Non-Evict mode) is that code and data
291 sizes are derived from the requirement to not write out any modified
292 cache line. With NEM, if there is no physical memory behind the
293 cached area, the modified data will be lost and NEM results will be
294 inconsistent. ENHANCED NEM guarantees that modified data is always
295 kept in cache while clean data is replaced.
296
297config USE_CANNONLAKE_FSP_CAR
298 bool "Use FSP CAR"
299 select FSP_CAR
300 help
301 Use FSP APIs to initialize and tear down the Cache-As-Ram.
302
303endchoice
304
Patrick Georgi6539e102018-09-13 11:48:43 -0400305config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200306 string "Location of FSP headers"
Subrata Banik6527b1a2019-01-29 11:04:25 +0530307 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Include/" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Subrata Banikfa011db2019-02-02 13:25:14 +0530308 default "src/vendorcode/intel/fsp/fsp2_0/cometlake/" if SOC_INTEL_COMETLAKE
Arthur Heymansc8db6332019-06-17 13:32:13 +0200309 default "src/vendorcode/intel/fsp/fsp2_0/cannonlake/" if SOC_INTEL_CANNONLAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400310
311config FSP_FD_PATH
312 string
313 depends on FSP_USE_REPO
Matt DeVillier73b01362019-04-23 12:03:03 -0500314 default "3rdparty/fsp/CoffeeLakeFspBinPkg/FSP.fd" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400315
Kane Chen37172562019-04-11 21:55:20 +0800316config SOC_INTEL_CANNONLAKE_DEBUG_CONSENT
317 int "Debug Consent for CNL"
318 # USB DBC is more common for developers so make this default to 3 if
319 # SOC_INTEL_DEBUG_CONSENT=y
320 default 3 if SOC_INTEL_DEBUG_CONSENT
321 default 0
322 help
323 This is to control debug interface on SOC.
324 Setting non-zero value will allow to use DBC or DCI to debug SOC.
325 PlatformDebugConsent in FspmUpd.h has the details.
326
Subrata Banik5ee4c122019-07-05 06:43:46 +0530327config PRERAM_CBMEM_CONSOLE_SIZE
328 hex
329 default 0xe00
330
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +0200331config INTEL_TXT_BIOSACM_ALIGNMENT
332 hex
333 default 0x40000 # 256KB
334
Lijian Zhao81096042017-05-02 18:54:44 -0700335endif