blob: b730b7a26f34ba181e1765b66e0432cac0863db5 [file] [log] [blame]
Lijian Zhao81096042017-05-02 18:54:44 -07001config SOC_INTEL_CANNONLAKE
2 bool
3 help
4 Intel Cannonlake support
5
Subrata Banik6527b1a2019-01-29 11:04:25 +05306config SOC_INTEL_COMMON_CANNONLAKE_BASE
Lijian Zhao3638a522018-07-12 17:16:11 -07007 bool
8 default n
9 select SOC_INTEL_CANNONLAKE
10 help
Subrata Banik6527b1a2019-01-29 11:04:25 +053011 Single Kconfig option to select common base Cannonlake support.
12 This Kconfig will help to select majority of CNL SoC features.
13 Major difference that exist today between
14 SOC_INTEL_COMMON_CANNONLAKE_BASE and SOC_INTEL_CANNONLAKE Kconfig
15 are in FSP Header Files. Hence this Kconfig might help to select
16 required SoC support FSP headers. Any future Intel SoC would
17 like to make use of CNL support might just select this Kconfig.
18
19config SOC_INTEL_COFFEELAKE
20 bool
21 default n
22 select SOC_INTEL_COMMON_CANNONLAKE_BASE
23 help
Lijian Zhao3638a522018-07-12 17:16:11 -070024 Intel Coffeelake support
25
Subrata Banik6527b1a2019-01-29 11:04:25 +053026config SOC_INTEL_WHISKEYLAKE
27 bool
28 default n
29 select SOC_INTEL_COMMON_CANNONLAKE_BASE
30 help
31 Intel Whiskeylake support
32
Subrata Banikfa011db2019-02-02 13:25:14 +053033config SOC_INTEL_COMETLAKE
34 bool
35 default n
36 select SOC_INTEL_COMMON_CANNONLAKE_BASE
37 help
38 Intel Cometlake support
39
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +080040config SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhao3638a522018-07-12 17:16:11 -070041 bool
42 default n
43 help
44 Choose this option if you have a PCH-H chipset.
45
Lijian Zhao81096042017-05-02 18:54:44 -070046if SOC_INTEL_CANNONLAKE
47
48config CPU_SPECIFIC_OPTIONS
49 def_bool y
Lijian Zhaob3dfcb82017-08-16 22:18:52 -070050 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Lijian Zhao0e956f22017-10-22 18:30:39 -070051 select ACPI_NHLT
Lijian Zhao81096042017-05-02 18:54:44 -070052 select ARCH_BOOTBLOCK_X86_32
Lijian Zhao81096042017-05-02 18:54:44 -070053 select ARCH_RAMSTAGE_X86_32
54 select ARCH_ROMSTAGE_X86_32
Lijian Zhaodcf99b02017-07-30 15:40:10 -070055 select ARCH_VERSTAGE_X86_32
Lijian Zhao32111172017-08-16 11:40:03 -070056 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
57 select BOOT_DEVICE_SUPPORTS_WRITES
Lijian Zhao81096042017-05-02 18:54:44 -070058 select C_ENVIRONMENT_BOOTBLOCK
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070059 select CACHE_MRC_SETTINGS
Kyösti Mälkki730df3c2016-06-18 07:39:31 +030060 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
Lijian Zhao2b074d92017-08-17 14:25:24 -070061 select COMMON_FADT
Ronak Kanabara432f382019-03-16 21:26:43 +053062 select CPU_INTEL_COMMON
Lijian Zhaoacfc1492017-07-06 15:27:27 -070063 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Furquan Shaikhcef98792019-04-10 16:31:55 -070064 select FSP_M_XIP
Nick Vaccaro69b5cdb2017-08-29 19:25:23 -070065 select GENERIC_GPIO_LIB
Abhay kumarfcf88202017-09-20 15:17:42 -070066 select HAVE_FSP_GOP
Stefan Tauneref8b9572018-09-06 00:34:28 +020067 select INTEL_DESCRIPTOR_MODE_CAPABLE
Lijian Zhaodcf99b02017-07-30 15:40:10 -070068 select HAVE_MONOTONIC_TIMER
Lijian Zhaof0eb9992017-09-14 14:51:12 -070069 select HAVE_SMI_HANDLER
Aamir Bohrae4625852018-05-29 10:52:33 +053070 select IDT_IN_EVERY_STAGE
Abhay Kumarb0c4cbb2017-10-12 11:33:01 -070071 select INTEL_GMA_ACPI
Nico Huber29cc3312018-06-06 17:40:02 +020072 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Lijian Zhaoa5158492017-08-29 14:37:17 -070073 select IOAPIC
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070074 select MRC_SETTINGS_PROTECT
Furquan Shaikh09b01de2019-04-09 16:26:29 -070075 select NO_FIXED_XIP_ROM_SIZE
Pratik Prajapati01eda282017-08-17 21:09:45 -070076 select PARALLEL_MP
77 select PARALLEL_MP_AP_WORK
Lijian Zhao81096042017-05-02 18:54:44 -070078 select PLATFORM_USES_FSP2_0
Lijian Zhao8465a812017-07-11 12:33:22 -070079 select POSTCAR_CONSOLE
80 select POSTCAR_STAGE
Lijian Zhaodcf99b02017-07-30 15:40:10 -070081 select REG_SCRIPT
Lijian Zhaof0eb9992017-09-14 14:51:12 -070082 select SMM_TSEG
Pratik Prajapati01eda282017-08-17 21:09:45 -070083 select SMP
Subrata Banikac1cd442018-02-06 15:25:27 +053084 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020085 select PMC_GLOBAL_RESET_ENABLE_LOCK
Lijian Zhao81096042017-05-02 18:54:44 -070086 select SOC_INTEL_COMMON
Lijian Zhao2b074d92017-08-17 14:25:24 -070087 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Lijian Zhao81096042017-05-02 18:54:44 -070088 select SOC_INTEL_COMMON_BLOCK
Lijian Zhao2b074d92017-08-17 14:25:24 -070089 select SOC_INTEL_COMMON_BLOCK_ACPI
Subrata Banikc4986eb2018-05-09 14:55:09 +053090 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Andrey Petrov3e2e0502017-06-05 13:22:24 -070091 select SOC_INTEL_COMMON_BLOCK_CPU
Pratik Prajapati01eda282017-08-17 21:09:45 -070092 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Furquan Shaikha5bb7162017-12-20 11:09:04 -080093 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
praveen hodagatta praneshdc4fceb2018-10-16 18:06:18 +080094 select SOC_INTEL_COMMON_BLOCK_HDA
Lijian Zhaodcf99b02017-07-30 15:40:10 -070095 select SOC_INTEL_COMMON_BLOCK_SA
Brandon Breitensteinae154862017-08-01 11:32:06 -070096 select SOC_INTEL_COMMON_BLOCK_SMM
97 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banikf513ceb2018-05-17 15:57:43 +053098 select SOC_INTEL_COMMON_PCH_BASE
Lijian Zhao0e956f22017-10-22 18:30:39 -070099 select SOC_INTEL_COMMON_NHLT
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700100 select SOC_INTEL_COMMON_RESET
Lijian Zhaof0eb9992017-09-14 14:51:12 -0700101 select SSE2
Lijian Zhaoacfc1492017-07-06 15:27:27 -0700102 select SUPPORT_CPU_UCODE_IN_CBFS
Lijian Zhaodcf99b02017-07-30 15:40:10 -0700103 select TSC_CONSTANT_RATE
104 select TSC_MONOTONIC_TIMER
105 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +0530106 select UDK_2017_BINDING
Subrata Banika8733e32018-01-23 16:40:56 +0530107 select DISPLAY_FSP_VERSION_INFO
Praveen hodagatta praneshb66757f2018-10-23 02:43:05 +0800108 select FSP_T_XIP if FSP_CAR
Lijian Zhao81096042017-05-02 18:54:44 -0700109
Lijian Zhao81096042017-05-02 18:54:44 -0700110config DCACHE_RAM_BASE
111 default 0xfef00000
112
113config DCACHE_RAM_SIZE
114 default 0x40000
115 help
116 The size of the cache-as-ram region required during bootblock
117 and/or romstage.
118
119config DCACHE_BSP_STACK_SIZE
120 hex
121 default 0x4000
122 help
123 The amount of anticipated stack usage in CAR by bootblock and
124 other stages.
125
Furquan Shaikhc0257dd2018-05-02 23:29:04 -0700126config IFD_CHIPSET
127 string
128 default "cnl"
129
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700130config IED_REGION_SIZE
131 hex
132 default 0x400000
133
John Zhao7492bcb2018-02-01 15:56:28 -0800134config HEAP_SIZE
135 hex
136 default 0x8000
137
Lijian Zhao0e956f22017-10-22 18:30:39 -0700138config NHLT_DMIC_1CH_16B
139 bool
140 depends on ACPI_NHLT
141 default n
142 help
143 Include DSP firmware settings for 1 channel 16B DMIC array.
144
145config NHLT_DMIC_2CH_16B
146 bool
147 depends on ACPI_NHLT
148 default n
149 help
150 Include DSP firmware settings for 2 channel 16B DMIC array.
151
152config NHLT_DMIC_4CH_16B
153 bool
154 depends on ACPI_NHLT
155 default n
156 help
157 Include DSP firmware settings for 4 channel 16B DMIC array.
158
159config NHLT_MAX98357
160 bool
161 depends on ACPI_NHLT
162 default n
163 help
164 Include DSP firmware settings for headset codec.
165
N, Harshapriya4a1ee4b2017-11-28 14:29:26 -0800166config NHLT_MAX98373
167 bool
168 depends on ACPI_NHLT
169 default n
170 help
171 Include DSP firmware settings for headset codec.
172
Lijian Zhao0e956f22017-10-22 18:30:39 -0700173config NHLT_DA7219
174 bool
175 depends on ACPI_NHLT
176 default n
177 help
178 Include DSP firmware settings for headset codec.
179
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700180config MAX_ROOT_PORTS
181 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800182 default 24 if SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhaoc85890d2017-10-20 09:19:07 -0700183 default 16
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700184
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700185config SMM_TSEG_SIZE
186 hex
187 default 0x800000
188
Subrata Banike66600e2018-05-10 17:23:56 +0530189config SMM_RESERVED_SIZE
190 hex
191 default 0x200000
192
Lijian Zhao81096042017-05-02 18:54:44 -0700193config PCR_BASE_ADDRESS
194 hex
195 default 0xfd000000
196 help
197 This option allows you to select MMIO Base Address of sideband bus.
198
Andrey Petrov3e2e0502017-06-05 13:22:24 -0700199config CPU_BCLK_MHZ
200 int
201 default 100
202
Aaron Durbin551e4be2018-04-10 09:24:54 -0600203config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Lijian Zhaof3885612017-11-09 15:01:33 -0800204 int
205 default 120
206
Chris Chingb8dc63b2017-12-06 14:26:15 -0700207config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
208 int
Duncan Laurie695f2fe2018-12-05 12:51:23 -0800209 default 216
Chris Chingb8dc63b2017-12-06 14:26:15 -0700210
Lijian Zhao32111172017-08-16 11:40:03 -0700211config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
212 int
213 default 3
214
Subrata Banikc4986eb2018-05-09 14:55:09 +0530215config SOC_INTEL_I2C_DEV_MAX
216 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800217 default 4 if SOC_INTEL_CANNONLAKE_PCH_H
Subrata Banikc4986eb2018-05-09 14:55:09 +0530218 default 6
219
Lijian Zhao8465a812017-07-11 12:33:22 -0700220# Clock divider parameters for 115200 baud rate
221config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
222 hex
223 default 0x30
224
225config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
226 hex
227 default 0xc35
228
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700229config CHROMEOS
230 select CHROMEOS_RAMOOPS_DYNAMIC
231
232config VBOOT
233 select VBOOT_SEPARATE_VERSTAGE
234 select VBOOT_OPROM_MATTERS
235 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
236 select VBOOT_STARTS_IN_BOOTBLOCK
237 select VBOOT_VBNV_CMOS
238 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
239
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600240config C_ENV_BOOTBLOCK_SIZE
241 hex
Duncan Laurie11340e52018-12-01 16:58:52 -0800242 default 0xC000
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600243
Patrick Georgi6539e102018-09-13 11:48:43 -0400244config CBFS_SIZE
245 hex
246 default 0x200000
247
Rizwan Qureshi8aadab72019-02-17 11:31:21 +0530248config MB_HAS_ACTIVE_HIGH_SD_PWR_ENABLE
249 bool
250 default n
251 help
252 Select this if the board has a SD_PWR_ENABLE pin connected to a
253 active high sensing load switch to turn on power to the card reader.
254 This will enable a workaround in ASL _PS3 and _PS0 methods to force
255 SD_PWR_ENABLE to stay low in D3.
256
Subrata Banik9e3ba212018-01-08 15:28:26 +0530257choice
258 prompt "Cache-as-ram implementation"
259 default USE_CANNONLAKE_CAR_NEM_ENHANCED if MAINBOARD_HAS_CHROMEOS
260 default USE_CANNONLAKE_FSP_CAR
261 help
262 This option allows you to select how cache-as-ram (CAR) is set up.
263
264config USE_CANNONLAKE_CAR_NEM_ENHANCED
265 bool "Enhanced Non-evict mode"
266 select SOC_INTEL_COMMON_BLOCK_CAR
267 select INTEL_CAR_NEM_ENHANCED
268 help
269 A current limitation of NEM (Non-Evict mode) is that code and data
270 sizes are derived from the requirement to not write out any modified
271 cache line. With NEM, if there is no physical memory behind the
272 cached area, the modified data will be lost and NEM results will be
273 inconsistent. ENHANCED NEM guarantees that modified data is always
274 kept in cache while clean data is replaced.
275
276config USE_CANNONLAKE_FSP_CAR
277 bool "Use FSP CAR"
278 select FSP_CAR
279 help
280 Use FSP APIs to initialize and tear down the Cache-As-Ram.
281
282endchoice
283
Patrick Georgi6539e102018-09-13 11:48:43 -0400284config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200285 string "Location of FSP headers"
Subrata Banik6527b1a2019-01-29 11:04:25 +0530286 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Include/" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Subrata Banikfa011db2019-02-02 13:25:14 +0530287 default "src/vendorcode/intel/fsp/fsp2_0/cometlake/" if SOC_INTEL_COMETLAKE
Subrata Banik6527b1a2019-01-29 11:04:25 +0530288 default "src/vendorcode/intel/fsp/fsp2_0/cannonlake/"
Patrick Georgi6539e102018-09-13 11:48:43 -0400289
290config FSP_FD_PATH
291 string
292 depends on FSP_USE_REPO
Matt DeVillier73b01362019-04-23 12:03:03 -0500293 default "3rdparty/fsp/CoffeeLakeFspBinPkg/FSP.fd" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400294
Kane Chen37172562019-04-11 21:55:20 +0800295config SOC_INTEL_CANNONLAKE_DEBUG_CONSENT
296 int "Debug Consent for CNL"
297 # USB DBC is more common for developers so make this default to 3 if
298 # SOC_INTEL_DEBUG_CONSENT=y
299 default 3 if SOC_INTEL_DEBUG_CONSENT
300 default 0
301 help
302 This is to control debug interface on SOC.
303 Setting non-zero value will allow to use DBC or DCI to debug SOC.
304 PlatformDebugConsent in FspmUpd.h has the details.
305
Lijian Zhao81096042017-05-02 18:54:44 -0700306endif