blob: 927409d281fafd7b08747e88190cdeb11c2695ab [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
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +080033config SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhao3638a522018-07-12 17:16:11 -070034 bool
35 default n
36 help
37 Choose this option if you have a PCH-H chipset.
38
Lijian Zhao81096042017-05-02 18:54:44 -070039if SOC_INTEL_CANNONLAKE
40
41config CPU_SPECIFIC_OPTIONS
42 def_bool y
Lijian Zhaob3dfcb82017-08-16 22:18:52 -070043 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Lijian Zhao0e956f22017-10-22 18:30:39 -070044 select ACPI_NHLT
Lijian Zhao81096042017-05-02 18:54:44 -070045 select ARCH_BOOTBLOCK_X86_32
Lijian Zhao81096042017-05-02 18:54:44 -070046 select ARCH_RAMSTAGE_X86_32
47 select ARCH_ROMSTAGE_X86_32
Lijian Zhaodcf99b02017-07-30 15:40:10 -070048 select ARCH_VERSTAGE_X86_32
Lijian Zhao32111172017-08-16 11:40:03 -070049 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
50 select BOOT_DEVICE_SUPPORTS_WRITES
Lijian Zhao81096042017-05-02 18:54:44 -070051 select C_ENVIRONMENT_BOOTBLOCK
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070052 select CACHE_MRC_SETTINGS
Kyösti Mälkki730df3c2016-06-18 07:39:31 +030053 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
Lijian Zhao2b074d92017-08-17 14:25:24 -070054 select COMMON_FADT
Lijian Zhaoacfc1492017-07-06 15:27:27 -070055 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Nick Vaccaro69b5cdb2017-08-29 19:25:23 -070056 select GENERIC_GPIO_LIB
Abhay kumarfcf88202017-09-20 15:17:42 -070057 select HAVE_FSP_GOP
Stefan Tauneref8b9572018-09-06 00:34:28 +020058 select INTEL_DESCRIPTOR_MODE_CAPABLE
Lijian Zhaodcf99b02017-07-30 15:40:10 -070059 select HAVE_MONOTONIC_TIMER
Lijian Zhaof0eb9992017-09-14 14:51:12 -070060 select HAVE_SMI_HANDLER
Aamir Bohrae4625852018-05-29 10:52:33 +053061 select IDT_IN_EVERY_STAGE
Abhay Kumarb0c4cbb2017-10-12 11:33:01 -070062 select INTEL_GMA_ACPI
Nico Huber29cc3312018-06-06 17:40:02 +020063 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
Lijian Zhaoa5158492017-08-29 14:37:17 -070064 select IOAPIC
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070065 select MRC_SETTINGS_PROTECT
Pratik Prajapati01eda282017-08-17 21:09:45 -070066 select PARALLEL_MP
67 select PARALLEL_MP_AP_WORK
Lijian Zhao81096042017-05-02 18:54:44 -070068 select PLATFORM_USES_FSP2_0
Lijian Zhao8465a812017-07-11 12:33:22 -070069 select POSTCAR_CONSOLE
70 select POSTCAR_STAGE
Lijian Zhaodcf99b02017-07-30 15:40:10 -070071 select REG_SCRIPT
Lijian Zhaof0eb9992017-09-14 14:51:12 -070072 select SMM_TSEG
Pratik Prajapati01eda282017-08-17 21:09:45 -070073 select SMP
Subrata Banikac1cd442018-02-06 15:25:27 +053074 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
Julien Viard de Galbert2912e8e2018-08-14 16:15:26 +020075 select PMC_GLOBAL_RESET_ENABLE_LOCK
Lijian Zhao81096042017-05-02 18:54:44 -070076 select SOC_INTEL_COMMON
Lijian Zhao2b074d92017-08-17 14:25:24 -070077 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Lijian Zhao81096042017-05-02 18:54:44 -070078 select SOC_INTEL_COMMON_BLOCK
Lijian Zhao2b074d92017-08-17 14:25:24 -070079 select SOC_INTEL_COMMON_BLOCK_ACPI
Subrata Banikc4986eb2018-05-09 14:55:09 +053080 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Andrey Petrov3e2e0502017-06-05 13:22:24 -070081 select SOC_INTEL_COMMON_BLOCK_CPU
Pratik Prajapati01eda282017-08-17 21:09:45 -070082 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Furquan Shaikha5bb7162017-12-20 11:09:04 -080083 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
praveen hodagatta praneshdc4fceb2018-10-16 18:06:18 +080084 select SOC_INTEL_COMMON_BLOCK_HDA
Lijian Zhaodcf99b02017-07-30 15:40:10 -070085 select SOC_INTEL_COMMON_BLOCK_SA
Brandon Breitensteinae154862017-08-01 11:32:06 -070086 select SOC_INTEL_COMMON_BLOCK_SMM
87 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banikf513ceb2018-05-17 15:57:43 +053088 select SOC_INTEL_COMMON_PCH_BASE
Lijian Zhao0e956f22017-10-22 18:30:39 -070089 select SOC_INTEL_COMMON_NHLT
Lijian Zhaodcf99b02017-07-30 15:40:10 -070090 select SOC_INTEL_COMMON_RESET
Lijian Zhaof0eb9992017-09-14 14:51:12 -070091 select SSE2
Lijian Zhaoacfc1492017-07-06 15:27:27 -070092 select SUPPORT_CPU_UCODE_IN_CBFS
Lijian Zhaodcf99b02017-07-30 15:40:10 -070093 select TSC_CONSTANT_RATE
94 select TSC_MONOTONIC_TIMER
95 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +053096 select UDK_2017_BINDING
Subrata Banika8733e32018-01-23 16:40:56 +053097 select DISPLAY_FSP_VERSION_INFO
Praveen hodagatta praneshb66757f2018-10-23 02:43:05 +080098 select FSP_T_XIP if FSP_CAR
Lijian Zhao81096042017-05-02 18:54:44 -070099
Lijian Zhao81096042017-05-02 18:54:44 -0700100config DCACHE_RAM_BASE
101 default 0xfef00000
102
103config DCACHE_RAM_SIZE
104 default 0x40000
105 help
106 The size of the cache-as-ram region required during bootblock
107 and/or romstage.
108
109config DCACHE_BSP_STACK_SIZE
110 hex
111 default 0x4000
112 help
113 The amount of anticipated stack usage in CAR by bootblock and
114 other stages.
115
Furquan Shaikhc0257dd2018-05-02 23:29:04 -0700116config IFD_CHIPSET
117 string
118 default "cnl"
119
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700120config IED_REGION_SIZE
121 hex
122 default 0x400000
123
John Zhao7492bcb2018-02-01 15:56:28 -0800124config HEAP_SIZE
125 hex
126 default 0x8000
127
Lijian Zhao0e956f22017-10-22 18:30:39 -0700128config NHLT_DMIC_1CH_16B
129 bool
130 depends on ACPI_NHLT
131 default n
132 help
133 Include DSP firmware settings for 1 channel 16B DMIC array.
134
135config NHLT_DMIC_2CH_16B
136 bool
137 depends on ACPI_NHLT
138 default n
139 help
140 Include DSP firmware settings for 2 channel 16B DMIC array.
141
142config NHLT_DMIC_4CH_16B
143 bool
144 depends on ACPI_NHLT
145 default n
146 help
147 Include DSP firmware settings for 4 channel 16B DMIC array.
148
149config NHLT_MAX98357
150 bool
151 depends on ACPI_NHLT
152 default n
153 help
154 Include DSP firmware settings for headset codec.
155
N, Harshapriya4a1ee4b2017-11-28 14:29:26 -0800156config NHLT_MAX98373
157 bool
158 depends on ACPI_NHLT
159 default n
160 help
161 Include DSP firmware settings for headset codec.
162
Lijian Zhao0e956f22017-10-22 18:30:39 -0700163config NHLT_DA7219
164 bool
165 depends on ACPI_NHLT
166 default n
167 help
168 Include DSP firmware settings for headset codec.
169
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700170config MAX_ROOT_PORTS
171 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800172 default 24 if SOC_INTEL_CANNONLAKE_PCH_H
Lijian Zhaoc85890d2017-10-20 09:19:07 -0700173 default 16
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700174
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700175config SMM_TSEG_SIZE
176 hex
177 default 0x800000
178
Subrata Banike66600e2018-05-10 17:23:56 +0530179config SMM_RESERVED_SIZE
180 hex
181 default 0x200000
182
Lijian Zhao81096042017-05-02 18:54:44 -0700183config PCR_BASE_ADDRESS
184 hex
185 default 0xfd000000
186 help
187 This option allows you to select MMIO Base Address of sideband bus.
188
Andrey Petrov3e2e0502017-06-05 13:22:24 -0700189config CPU_BCLK_MHZ
190 int
191 default 100
192
Aaron Durbin551e4be2018-04-10 09:24:54 -0600193config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Lijian Zhaof3885612017-11-09 15:01:33 -0800194 int
195 default 120
196
Chris Chingb8dc63b2017-12-06 14:26:15 -0700197config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
198 int
Duncan Laurie695f2fe2018-12-05 12:51:23 -0800199 default 216
Chris Chingb8dc63b2017-12-06 14:26:15 -0700200
Lijian Zhao32111172017-08-16 11:40:03 -0700201config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
202 int
203 default 3
204
Subrata Banikc4986eb2018-05-09 14:55:09 +0530205config SOC_INTEL_I2C_DEV_MAX
206 int
praveen hodagatta pranesh521e48c2018-09-27 00:00:13 +0800207 default 4 if SOC_INTEL_CANNONLAKE_PCH_H
Subrata Banikc4986eb2018-05-09 14:55:09 +0530208 default 6
209
Lijian Zhao8465a812017-07-11 12:33:22 -0700210# Clock divider parameters for 115200 baud rate
211config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
212 hex
213 default 0x30
214
215config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
216 hex
217 default 0xc35
218
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700219config CHROMEOS
220 select CHROMEOS_RAMOOPS_DYNAMIC
221
222config VBOOT
223 select VBOOT_SEPARATE_VERSTAGE
224 select VBOOT_OPROM_MATTERS
225 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
226 select VBOOT_STARTS_IN_BOOTBLOCK
227 select VBOOT_VBNV_CMOS
228 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
229
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600230config C_ENV_BOOTBLOCK_SIZE
231 hex
Duncan Laurie11340e52018-12-01 16:58:52 -0800232 default 0xC000
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600233
Patrick Georgi6539e102018-09-13 11:48:43 -0400234config CBFS_SIZE
235 hex
236 default 0x200000
237
Rizwan Qureshi8aadab72019-02-17 11:31:21 +0530238config MB_HAS_ACTIVE_HIGH_SD_PWR_ENABLE
239 bool
240 default n
241 help
242 Select this if the board has a SD_PWR_ENABLE pin connected to a
243 active high sensing load switch to turn on power to the card reader.
244 This will enable a workaround in ASL _PS3 and _PS0 methods to force
245 SD_PWR_ENABLE to stay low in D3.
246
Subrata Banik9e3ba212018-01-08 15:28:26 +0530247choice
248 prompt "Cache-as-ram implementation"
249 default USE_CANNONLAKE_CAR_NEM_ENHANCED if MAINBOARD_HAS_CHROMEOS
250 default USE_CANNONLAKE_FSP_CAR
251 help
252 This option allows you to select how cache-as-ram (CAR) is set up.
253
254config USE_CANNONLAKE_CAR_NEM_ENHANCED
255 bool "Enhanced Non-evict mode"
256 select SOC_INTEL_COMMON_BLOCK_CAR
257 select INTEL_CAR_NEM_ENHANCED
258 help
259 A current limitation of NEM (Non-Evict mode) is that code and data
260 sizes are derived from the requirement to not write out any modified
261 cache line. With NEM, if there is no physical memory behind the
262 cached area, the modified data will be lost and NEM results will be
263 inconsistent. ENHANCED NEM guarantees that modified data is always
264 kept in cache while clean data is replaced.
265
266config USE_CANNONLAKE_FSP_CAR
267 bool "Use FSP CAR"
268 select FSP_CAR
269 help
270 Use FSP APIs to initialize and tear down the Cache-As-Ram.
271
272endchoice
273
Patrick Georgi6539e102018-09-13 11:48:43 -0400274config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200275 string "Location of FSP headers"
Subrata Banik6527b1a2019-01-29 11:04:25 +0530276 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Include/" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
277 default "src/vendorcode/intel/fsp/fsp2_0/cannonlake/"
Patrick Georgi6539e102018-09-13 11:48:43 -0400278
279config FSP_FD_PATH
280 string
281 depends on FSP_USE_REPO
Subrata Banik6527b1a2019-01-29 11:04:25 +0530282 default "3rdparty/fsp/CoffeeLakeFspBinPkg/Fsp.fd" if SOC_INTEL_COFFEELAKE || SOC_INTEL_WHISKEYLAKE
Patrick Georgi6539e102018-09-13 11:48:43 -0400283
Lijian Zhao81096042017-05-02 18:54:44 -0700284endif