blob: dd369365f916f3e9e067d23b49db18f7dcc74b9e [file] [log] [blame]
Lijian Zhao81096042017-05-02 18:54:44 -07001config SOC_INTEL_CANNONLAKE
2 bool
3 help
4 Intel Cannonlake support
5
6if SOC_INTEL_CANNONLAKE
7
8config CPU_SPECIFIC_OPTIONS
9 def_bool y
Lijian Zhaob3dfcb82017-08-16 22:18:52 -070010 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
Lijian Zhao0e956f22017-10-22 18:30:39 -070011 select ACPI_NHLT
Lijian Zhao81096042017-05-02 18:54:44 -070012 select ARCH_BOOTBLOCK_X86_32
Lijian Zhao81096042017-05-02 18:54:44 -070013 select ARCH_RAMSTAGE_X86_32
14 select ARCH_ROMSTAGE_X86_32
Lijian Zhaodcf99b02017-07-30 15:40:10 -070015 select ARCH_VERSTAGE_X86_32
Lijian Zhao32111172017-08-16 11:40:03 -070016 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
17 select BOOT_DEVICE_SUPPORTS_WRITES
Lijian Zhao81096042017-05-02 18:54:44 -070018 select C_ENVIRONMENT_BOOTBLOCK
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070019 select CACHE_MRC_SETTINGS
Kyösti Mälkki730df3c2016-06-18 07:39:31 +030020 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
Lijian Zhao2b074d92017-08-17 14:25:24 -070021 select COMMON_FADT
Lijian Zhaoacfc1492017-07-06 15:27:27 -070022 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
Nick Vaccaro69b5cdb2017-08-29 19:25:23 -070023 select GENERIC_GPIO_LIB
Abhay kumarfcf88202017-09-20 15:17:42 -070024 select HAVE_FSP_GOP
Lijian Zhao81096042017-05-02 18:54:44 -070025 select HAVE_HARD_RESET
26 select HAVE_INTEL_FIRMWARE
Lijian Zhaodcf99b02017-07-30 15:40:10 -070027 select HAVE_MONOTONIC_TIMER
Lijian Zhaof0eb9992017-09-14 14:51:12 -070028 select HAVE_SMI_HANDLER
Aamir Bohrae4625852018-05-29 10:52:33 +053029 select IDT_IN_EVERY_STAGE
Abhay Kumarb0c4cbb2017-10-12 11:33:01 -070030 select INTEL_GMA_ACPI
Abhay kumarfcf88202017-09-20 15:17:42 -070031 select INTEL_GMA_ADD_VBT_DATA_FILE if RUN_FSP_GOP
Lijian Zhaoa5158492017-08-29 14:37:17 -070032 select IOAPIC
Lijian Zhaoa06f55b2017-10-04 23:08:55 -070033 select MRC_SETTINGS_PROTECT
Pratik Prajapati01eda282017-08-17 21:09:45 -070034 select PARALLEL_MP
35 select PARALLEL_MP_AP_WORK
Lijian Zhao81096042017-05-02 18:54:44 -070036 select PLATFORM_USES_FSP2_0
Lijian Zhao8465a812017-07-11 12:33:22 -070037 select POSTCAR_CONSOLE
38 select POSTCAR_STAGE
Lijian Zhaodcf99b02017-07-30 15:40:10 -070039 select REG_SCRIPT
Lijian Zhaof0eb9992017-09-14 14:51:12 -070040 select SMM_TSEG
Pratik Prajapati01eda282017-08-17 21:09:45 -070041 select SMP
Subrata Banikac1cd442018-02-06 15:25:27 +053042 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
Lijian Zhao81096042017-05-02 18:54:44 -070043 select SOC_INTEL_COMMON
Lijian Zhao2b074d92017-08-17 14:25:24 -070044 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
Lijian Zhao81096042017-05-02 18:54:44 -070045 select SOC_INTEL_COMMON_BLOCK
Lijian Zhao2b074d92017-08-17 14:25:24 -070046 select SOC_INTEL_COMMON_BLOCK_ACPI
Subrata Banikc4986eb2018-05-09 14:55:09 +053047 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
Andrey Petrov3e2e0502017-06-05 13:22:24 -070048 select SOC_INTEL_COMMON_BLOCK_CPU
Pratik Prajapati01eda282017-08-17 21:09:45 -070049 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
Furquan Shaikha5bb7162017-12-20 11:09:04 -080050 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
Lijian Zhaodcf99b02017-07-30 15:40:10 -070051 select SOC_INTEL_COMMON_BLOCK_SA
Brandon Breitensteinae154862017-08-01 11:32:06 -070052 select SOC_INTEL_COMMON_BLOCK_SMM
53 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
Subrata Banikf513ceb2018-05-17 15:57:43 +053054 select SOC_INTEL_COMMON_PCH_BASE
Lijian Zhao0e956f22017-10-22 18:30:39 -070055 select SOC_INTEL_COMMON_NHLT
Lijian Zhaodcf99b02017-07-30 15:40:10 -070056 select SOC_INTEL_COMMON_RESET
Lijian Zhaof0eb9992017-09-14 14:51:12 -070057 select SSE2
Lijian Zhaoacfc1492017-07-06 15:27:27 -070058 select SUPPORT_CPU_UCODE_IN_CBFS
Lijian Zhaodcf99b02017-07-30 15:40:10 -070059 select TSC_CONSTANT_RATE
60 select TSC_MONOTONIC_TIMER
61 select UDELAY_TSC
Subrata Banik74558812018-01-25 11:41:04 +053062 select UDK_2017_BINDING
Subrata Banika8733e32018-01-23 16:40:56 +053063 select DISPLAY_FSP_VERSION_INFO
Lijian Zhao81096042017-05-02 18:54:44 -070064
65config UART_DEBUG
66 bool "Enable UART debug port."
67 default y
68 select CONSOLE_SERIAL
69 select BOOTBLOCK_CONSOLE
70 select DRIVERS_UART
Lijian Zhaod37ebdd2017-08-30 20:54:16 -070071 select DRIVERS_UART_8250MEM_32
72 select NO_UART_ON_SUPERIO
Lijian Zhao81096042017-05-02 18:54:44 -070073
Subrata Banikce4c9ec2017-08-14 13:23:54 +053074config UART_FOR_CONSOLE
75 int "Index for LPSS UART port to use for console"
Lijian Zhao0c8237a2017-09-14 16:25:18 -070076 default 2 if DRIVERS_UART_8250MEM_32
Subrata Banikb045d4c2017-08-30 11:47:32 +053077 default 0
Subrata Banikce4c9ec2017-08-14 13:23:54 +053078 help
79 Index for LPSS UART port to use for console:
80 0 = LPSS UART0, 1 = LPSS UART1, 2 = LPSS UART2
81
Lijian Zhao81096042017-05-02 18:54:44 -070082config DCACHE_RAM_BASE
83 default 0xfef00000
84
85config DCACHE_RAM_SIZE
86 default 0x40000
87 help
88 The size of the cache-as-ram region required during bootblock
89 and/or romstage.
90
91config DCACHE_BSP_STACK_SIZE
92 hex
93 default 0x4000
94 help
95 The amount of anticipated stack usage in CAR by bootblock and
96 other stages.
97
Furquan Shaikhc0257dd2018-05-02 23:29:04 -070098config IFD_CHIPSET
99 string
100 default "cnl"
101
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700102config IED_REGION_SIZE
103 hex
104 default 0x400000
105
John Zhao7492bcb2018-02-01 15:56:28 -0800106config HEAP_SIZE
107 hex
108 default 0x8000
109
Lijian Zhao0e956f22017-10-22 18:30:39 -0700110config NHLT_DMIC_1CH_16B
111 bool
112 depends on ACPI_NHLT
113 default n
114 help
115 Include DSP firmware settings for 1 channel 16B DMIC array.
116
117config NHLT_DMIC_2CH_16B
118 bool
119 depends on ACPI_NHLT
120 default n
121 help
122 Include DSP firmware settings for 2 channel 16B DMIC array.
123
124config NHLT_DMIC_4CH_16B
125 bool
126 depends on ACPI_NHLT
127 default n
128 help
129 Include DSP firmware settings for 4 channel 16B DMIC array.
130
131config NHLT_MAX98357
132 bool
133 depends on ACPI_NHLT
134 default n
135 help
136 Include DSP firmware settings for headset codec.
137
N, Harshapriya4a1ee4b2017-11-28 14:29:26 -0800138config NHLT_MAX98373
139 bool
140 depends on ACPI_NHLT
141 default n
142 help
143 Include DSP firmware settings for headset codec.
144
Lijian Zhao0e956f22017-10-22 18:30:39 -0700145config NHLT_DA7219
146 bool
147 depends on ACPI_NHLT
148 default n
149 help
150 Include DSP firmware settings for headset codec.
151
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700152config MAX_ROOT_PORTS
153 int
Lijian Zhaoc85890d2017-10-20 09:19:07 -0700154 default 16
Pratik Prajapatic8c741d2017-08-29 11:38:42 -0700155
Pratik Prajapati9027e1b2017-08-23 17:37:43 -0700156config SMM_TSEG_SIZE
157 hex
158 default 0x800000
159
Subrata Banike66600e2018-05-10 17:23:56 +0530160config SMM_RESERVED_SIZE
161 hex
162 default 0x200000
163
Lijian Zhao81096042017-05-02 18:54:44 -0700164config PCR_BASE_ADDRESS
165 hex
166 default 0xfd000000
167 help
168 This option allows you to select MMIO Base Address of sideband bus.
169
Andrey Petrov3e2e0502017-06-05 13:22:24 -0700170config CPU_BCLK_MHZ
171 int
172 default 100
173
Nick Vaccaro780a1c42017-12-22 22:50:57 -0800174config SOC_INTEL_CANNONLAKE_LPDDR4_INIT
175 bool
176 default n
177
Aaron Durbin551e4be2018-04-10 09:24:54 -0600178config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
Lijian Zhaof3885612017-11-09 15:01:33 -0800179 int
180 default 120
181
Chris Chingb8dc63b2017-12-06 14:26:15 -0700182config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
183 int
Lijian Zhaoe09ba472018-04-10 10:33:05 -0700184 default 133
Chris Chingb8dc63b2017-12-06 14:26:15 -0700185
Lijian Zhao32111172017-08-16 11:40:03 -0700186config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
187 int
188 default 3
189
Subrata Banikc4986eb2018-05-09 14:55:09 +0530190config SOC_INTEL_I2C_DEV_MAX
191 int
192 default 6
193
Lijian Zhao8465a812017-07-11 12:33:22 -0700194# Clock divider parameters for 115200 baud rate
195config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
196 hex
197 default 0x30
198
199config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
200 hex
201 default 0xc35
202
Lijian Zhao6d7063c2017-08-29 17:26:48 -0700203config CHROMEOS
204 select CHROMEOS_RAMOOPS_DYNAMIC
205
206config VBOOT
207 select VBOOT_SEPARATE_VERSTAGE
208 select VBOOT_OPROM_MATTERS
209 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
210 select VBOOT_STARTS_IN_BOOTBLOCK
211 select VBOOT_VBNV_CMOS
212 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
213
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600214config C_ENV_BOOTBLOCK_SIZE
215 hex
Lijian Zhao031020e2017-12-15 12:58:07 -0800216 default 0x8000
Aaron Durbin4a8f45f2017-10-05 17:05:36 -0600217
Subrata Banik9e3ba212018-01-08 15:28:26 +0530218choice
219 prompt "Cache-as-ram implementation"
220 default USE_CANNONLAKE_CAR_NEM_ENHANCED if MAINBOARD_HAS_CHROMEOS
221 default USE_CANNONLAKE_FSP_CAR
222 help
223 This option allows you to select how cache-as-ram (CAR) is set up.
224
225config USE_CANNONLAKE_CAR_NEM_ENHANCED
226 bool "Enhanced Non-evict mode"
227 select SOC_INTEL_COMMON_BLOCK_CAR
228 select INTEL_CAR_NEM_ENHANCED
229 help
230 A current limitation of NEM (Non-Evict mode) is that code and data
231 sizes are derived from the requirement to not write out any modified
232 cache line. With NEM, if there is no physical memory behind the
233 cached area, the modified data will be lost and NEM results will be
234 inconsistent. ENHANCED NEM guarantees that modified data is always
235 kept in cache while clean data is replaced.
236
237config USE_CANNONLAKE_FSP_CAR
238 bool "Use FSP CAR"
239 select FSP_CAR
240 help
241 Use FSP APIs to initialize and tear down the Cache-As-Ram.
242
243endchoice
244
Lijian Zhao81096042017-05-02 18:54:44 -0700245endif