blob: 2fbc6da15f9c914be1761fdca24bbd0178ee78b5 [file] [log] [blame]
Aamir Bohra3ee54bb2018-10-17 11:55:01 +05301config SOC_INTEL_ICELAKE
2 bool
3 help
4 Intel Icelake support
5
6if SOC_INTEL_ICELAKE
7
8config CPU_SPECIFIC_OPTIONS
9 def_bool y
10 select ACPI_INTEL_HARDWARE_SLEEP_VALUES
11 select ARCH_BOOTBLOCK_X86_32
12 select ARCH_RAMSTAGE_X86_32
13 select ARCH_ROMSTAGE_X86_32
14 select ARCH_VERSTAGE_X86_32
15 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
16 select BOOT_DEVICE_SUPPORTS_WRITES
17 select C_ENVIRONMENT_BOOTBLOCK
18 select CACHE_MRC_SETTINGS
19 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
20 select COMMON_FADT
21 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
22 select GENERIC_GPIO_LIB
23 select HAVE_FSP_GOP
24 select INTEL_DESCRIPTOR_MODE_CAPABLE
25 select HAVE_MONOTONIC_TIMER
26 select HAVE_SMI_HANDLER
27 select IDT_IN_EVERY_STAGE
28 select INTEL_GMA_ACPI
29 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
30 select IOAPIC
31 select MRC_SETTINGS_PROTECT
32 select PARALLEL_MP
33 select PARALLEL_MP_AP_WORK
Nico Huberf5ca9222018-11-29 17:05:32 +010034 select MICROCODE_BLOB_UNDISCLOSED
Subrata Banik55fb6b42018-12-19 16:50:57 +053035 select PLATFORM_USES_FSP2_1
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053036 select POSTCAR_CONSOLE
37 select POSTCAR_STAGE
38 select REG_SCRIPT
39 select SMM_TSEG
40 select SMP
41 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
42 select PMC_GLOBAL_RESET_ENABLE_LOCK
43 select SOC_INTEL_COMMON
44 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
45 select SOC_INTEL_COMMON_BLOCK
46 select SOC_INTEL_COMMON_BLOCK_ACPI
47 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
48 select SOC_INTEL_COMMON_BLOCK_CPU
49 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
50 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
51 select SOC_INTEL_COMMON_BLOCK_HDA
52 select SOC_INTEL_COMMON_BLOCK_SA
53 select SOC_INTEL_COMMON_BLOCK_SMM
54 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
55 select SOC_INTEL_COMMON_PCH_BASE
56 select SOC_INTEL_COMMON_RESET
57 select SSE2
58 select SUPPORT_CPU_UCODE_IN_CBFS
59 select TSC_CONSTANT_RATE
60 select TSC_MONOTONIC_TIMER
61 select UDELAY_TSC
62 select UDK_2017_BINDING
63 select DISPLAY_FSP_VERSION_INFO
64
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053065config DCACHE_RAM_BASE
66 default 0xfef00000
67
68config DCACHE_RAM_SIZE
69 default 0x40000
70 help
71 The size of the cache-as-ram region required during bootblock
72 and/or romstage.
73
74config DCACHE_BSP_STACK_SIZE
75 hex
Aamir Bohra23012a02018-10-09 20:33:16 +053076 default 0x20000 if FSP_USES_CB_STACK
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053077 default 0x4000
78 help
79 The amount of anticipated stack usage in CAR by bootblock and
80 other stages.
81
82config IFD_CHIPSET
83 string
84 default "icl"
85
86config IED_REGION_SIZE
87 hex
88 default 0x400000
89
90config HEAP_SIZE
91 hex
92 default 0x8000
93
94config MAX_ROOT_PORTS
95 int
96 default 16
97
98config SMM_TSEG_SIZE
99 hex
100 default 0x800000
101
102config SMM_RESERVED_SIZE
103 hex
104 default 0x200000
105
106config PCR_BASE_ADDRESS
107 hex
108 default 0xfd000000
109 help
110 This option allows you to select MMIO Base Address of sideband bus.
111
Subrata Banik26d706b2018-11-20 13:20:31 +0530112config MMCONF_BASE_ADDRESS
113 hex
114 default 0xc0000000
115
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530116config CPU_BCLK_MHZ
117 int
118 default 100
119
120config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
121 int
122 default 120
123
124config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
125 int
126 default 133
127
128config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
129 int
130 default 3
131
132config SOC_INTEL_I2C_DEV_MAX
133 int
134 default 6
135
Subrata Banik26d706b2018-11-20 13:20:31 +0530136config SOC_INTEL_UART_DEV_MAX
137 int
138 default 3
139
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530140# Clock divider parameters for 115200 baud rate
141config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
142 hex
143 default 0x30
144
145config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
146 hex
147 default 0xc35
148
149config CHROMEOS
150 select CHROMEOS_RAMOOPS_DYNAMIC
151
152config VBOOT
153 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800154 select VBOOT_MUST_REQUEST_DISPLAY
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530155 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
156 select VBOOT_STARTS_IN_BOOTBLOCK
157 select VBOOT_VBNV_CMOS
158 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
159
160config C_ENV_BOOTBLOCK_SIZE
161 hex
Subrata Banik458297c2019-01-07 14:24:27 +0530162 default 0xC000
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530163
164config CBFS_SIZE
165 hex
166 default 0x200000
167
168choice
169 prompt "Cache-as-ram implementation"
170 default USE_ICELAKE_CAR_NEM_ENHANCED if MAINBOARD_HAS_CHROMEOS
171 default USE_ICELAKE_FSP_CAR
172 help
173 This option allows you to select how cache-as-ram (CAR) is set up.
174
175config USE_ICELAKE_CAR_NEM_ENHANCED
176 bool "Enhanced Non-evict mode"
177 select SOC_INTEL_COMMON_BLOCK_CAR
178 select INTEL_CAR_NEM_ENHANCED
179 help
180 A current limitation of NEM (Non-Evict mode) is that code and data
181 sizes are derived from the requirement to not write out any modified
182 cache line. With NEM, if there is no physical memory behind the
183 cached area, the modified data will be lost and NEM results will be
184 inconsistent. ENHANCED NEM guarantees that modified data is always
185 kept in cache while clean data is replaced.
186
187config USE_ICELAKE_FSP_CAR
188 bool "Use FSP CAR"
189 select FSP_CAR
190 help
191 Use FSP APIs to initialize and tear down the Cache-As-Ram.
192
193endchoice
194
195config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200196 string "Location of FSP headers"
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530197 default "src/vendorcode/intel/fsp/fsp2_0/icelake/"
198
199config FSP_FD_PATH
200 string
201 depends on FSP_USE_REPO
202 default "3rdparty/fsp/IceLakeFspBinPkg/Fsp.fd"
203
204endif