blob: c1f53b1c5460e687a3947326f337500be3f65605 [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
V Sowmya1dcc1702019-10-14 14:42:34 +0530123 default 0x20400 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
V Sowmya1dcc1702019-10-14 14:42:34 +0530127 other stages. In the case of FSP_USES_CB_STACK default value will be
128 sum of FSP-M stack requirement (128KiB) and CB romstage stack requirement (~1KiB).
Lijian Zhao81096042017-05-02 18:54:44 -0700129
Subrata Banik1d260e62019-09-09 13:55:42 +0530130config FSP_TEMP_RAM_SIZE
131 hex
132 depends on FSP_USES_CB_STACK
133 default 0x10000
134 help
135 The amount of anticipated heap usage in CAR by FSP.
136 Refer to Platform FSP integration guide document to know
137 the exact FSP requirement for Heap setup.
138
Furquan Shaikhc0257dd2018-05-02 23:29:04 -0700139config IFD_CHIPSET
140 string
141 default "cnl"
142
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700143config IED_REGION_SIZE
144 hex
145 default 0x400000
146
John Zhao7492bcb2018-02-01 15:56:28 -0800147config HEAP_SIZE
148 hex
149 default 0x8000
150
Lijian Zhao0e956f22017-10-22 18:30:39 -0700151config NHLT_DMIC_1CH_16B
152 bool
153 depends on ACPI_NHLT
154 default n
155 help
156 Include DSP firmware settings for 1 channel 16B DMIC array.
157
158config NHLT_DMIC_2CH_16B
159 bool
160 depends on ACPI_NHLT
161 default n
162 help
163 Include DSP firmware settings for 2 channel 16B DMIC array.
164
165config NHLT_DMIC_4CH_16B
166 bool
167 depends on ACPI_NHLT
168 default n
169 help
170 Include DSP firmware settings for 4 channel 16B DMIC array.
171
172config NHLT_MAX98357
173 bool
174 depends on ACPI_NHLT
175 default n
176 help
177 Include DSP firmware settings for headset codec.
178
N, Harshapriya4a1ee4b2017-11-28 14:29:26 -0800179config NHLT_MAX98373
180 bool
181 depends on ACPI_NHLT
182 default n
183 help
184 Include DSP firmware settings for headset codec.
185
Lijian Zhao0e956f22017-10-22 18:30:39 -0700186config NHLT_DA7219
187 bool
188 depends on ACPI_NHLT
189 default n
190 help
191 Include DSP firmware settings for headset codec.
192
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700193config MAX_ROOT_PORTS
194 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800195 default 24 if SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhaoc85890d2017-10-20 09:19:07 -0700196 default 16
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700197
Lijian Zhaod5d89c82019-05-07 14:05:33 -0700198config MAX_PCIE_CLOCKS
199 int
200 default 16 if SOC_INTEL_CANNONLAKE_PCH_H
201 default 6
202
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700203config SMM_TSEG_SIZE
204 hex
205 default 0x800000
206
Subrata Banike66600e2018-05-10 17:23:56 +0530207config SMM_RESERVED_SIZE
208 hex
209 default 0x200000
210
Lijian Zhao81096042017-05-02 18:54:44 -0700211config PCR_BASE_ADDRESS
212 hex
213 default 0xfd000000
214 help
215 This option allows you to select MMIO Base Address of sideband bus.
216
Andrey Petrov3e2e0502017-06-05 13:22:24 -0700217config CPU_BCLK_MHZ
218 int
219 default 100
220
Aaron Durbin551e4be2018-04-10 09:24:54 -0600221config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Lijian Zhaof3885612017-11-09 15:01:33 -0800222 int
223 default 120
224
Chris Chingb8dc63b2017-12-06 14:26:15 -0700225config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
226 int
Duncan Laurie695f2fe2018-12-05 12:51:23 -0800227 default 216
Chris Chingb8dc63b2017-12-06 14:26:15 -0700228
Lijian Zhao32111172017-08-16 11:40:03 -0700229config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
230 int
231 default 3
232
Subrata Banikc4986eb2018-05-09 14:55:09 +0530233config SOC_INTEL_I2C_DEV_MAX
234 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800235 default 4 if SOC_INTEL_CANNONLAKE_PCH_H
Subrata Banikc4986eb2018-05-09 14:55:09 +0530236 default 6
237
Nico Huber99954182019-05-29 23:33:06 +0200238config CONSOLE_UART_BASE_ADDRESS
239 hex
240 default 0xfe032000
241 depends on INTEL_LPSS_UART_FOR_CONSOLE
242
Lijian Zhao8465a812017-07-11 12:33:22 -0700243# Clock divider parameters for 115200 baud rate
244config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
245 hex
246 default 0x30
247
248config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
249 hex
250 default 0xc35
251
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700252config CHROMEOS
253 select CHROMEOS_RAMOOPS_DYNAMIC
254
255config VBOOT
256 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800257 select VBOOT_MUST_REQUEST_DISPLAY
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700258 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
259 select VBOOT_STARTS_IN_BOOTBLOCK
260 select VBOOT_VBNV_CMOS
261 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
262
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600263config C_ENV_BOOTBLOCK_SIZE
264 hex
Duncan Laurie11340e52018-12-01 16:58:52 -0800265 default 0xC000
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600266
Patrick Georgi6539e102018-09-13 11:48:43 -0400267config CBFS_SIZE
268 hex
269 default 0x200000
270
Rizwan Qureshi8aadab72019-02-17 11:31:21 +0530271config MB_HAS_ACTIVE_HIGH_SD_PWR_ENABLE
272 bool
273 default n
274 help
275 Select this if the board has a SD_PWR_ENABLE pin connected to a
276 active high sensing load switch to turn on power to the card reader.
277 This will enable a workaround in ASL _PS3 and _PS0 methods to force
278 SD_PWR_ENABLE to stay low in D3.
279
Subrata Banik9e3ba212018-01-08 15:28:26 +0530280choice
281 prompt "Cache-as-ram implementation"
Angel Pons7ed704d2019-07-12 15:46:43 +0200282 default USE_CANNONLAKE_CAR_NEM_ENHANCED
Subrata Banik9e3ba212018-01-08 15:28:26 +0530283 help
284 This option allows you to select how cache-as-ram (CAR) is set up.
285
286config USE_CANNONLAKE_CAR_NEM_ENHANCED
287 bool "Enhanced Non-evict mode"
288 select SOC_INTEL_COMMON_BLOCK_CAR
289 select INTEL_CAR_NEM_ENHANCED
290 help
291 A current limitation of NEM (Non-Evict mode) is that code and data
292 sizes are derived from the requirement to not write out any modified
293 cache line. With NEM, if there is no physical memory behind the
294 cached area, the modified data will be lost and NEM results will be
295 inconsistent. ENHANCED NEM guarantees that modified data is always
296 kept in cache while clean data is replaced.
297
298config USE_CANNONLAKE_FSP_CAR
299 bool "Use FSP CAR"
300 select FSP_CAR
301 help
302 Use FSP APIs to initialize and tear down the Cache-As-Ram.
303
304endchoice
305
Patrick Georgi6539e102018-09-13 11:48:43 -0400306config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200307 string "Location of FSP headers"
Subrata Banik6527b1a2019-01-29 11:04:25 +0530308 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Include/" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Subrata Banikfa011db2019-02-02 13:25:14 +0530309 default "src/vendorcode/intel/fsp/fsp2_0/cometlake/" if SOC_INTEL_COMETLAKE
Arthur Heymansc8db6332019-06-17 13:32:13 +0200310 default "src/vendorcode/intel/fsp/fsp2_0/cannonlake/" if SOC_INTEL_CANNONLAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400311
312config FSP_FD_PATH
313 string
314 depends on FSP_USE_REPO
Matt DeVillier73b01362019-04-23 12:03:03 -0500315 default "3rdparty/fsp/CoffeeLakeFspBinPkg/FSP.fd" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400316
Kane Chen37172562019-04-11 21:55:20 +0800317config SOC_INTEL_CANNONLAKE_DEBUG_CONSENT
318 int "Debug Consent for CNL"
319 # USB DBC is more common for developers so make this default to 3 if
320 # SOC_INTEL_DEBUG_CONSENT=y
321 default 3 if SOC_INTEL_DEBUG_CONSENT
322 default 0
323 help
324 This is to control debug interface on SOC.
325 Setting non-zero value will allow to use DBC or DCI to debug SOC.
326 PlatformDebugConsent in FspmUpd.h has the details.
327
Subrata Banik5ee4c122019-07-05 06:43:46 +0530328config PRERAM_CBMEM_CONSOLE_SIZE
329 hex
330 default 0xe00
331
Patrick Rudolph5fffb5e2019-07-25 11:55:30 +0200332config INTEL_TXT_BIOSACM_ALIGNMENT
333 hex
334 default 0x40000 # 256KB
335
Lijian Zhao81096042017-05-02 18:54:44 -0700336endif