blob: 727fccee0f71567591cdd4f24fd06bb43a2ce6f6 [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
Aamir Bohra23012a02018-10-09 20:33:16 +053022 select FSP_USES_CB_STACK
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053023 select GENERIC_GPIO_LIB
24 select HAVE_FSP_GOP
25 select INTEL_DESCRIPTOR_MODE_CAPABLE
26 select HAVE_MONOTONIC_TIMER
27 select HAVE_SMI_HANDLER
28 select IDT_IN_EVERY_STAGE
29 select INTEL_GMA_ACPI
30 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
31 select IOAPIC
32 select MRC_SETTINGS_PROTECT
33 select PARALLEL_MP
34 select PARALLEL_MP_AP_WORK
35 select PLATFORM_USES_FSP2_0
36 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
65config UART_DEBUG
66 bool "Enable UART debug port."
67 default n
68 select CONSOLE_SERIAL
69 select BOOTBLOCK_CONSOLE
70 select DRIVERS_UART
71 select DRIVERS_UART_8250MEM_32
72 select NO_UART_ON_SUPERIO
73
74config UART_FOR_CONSOLE
75 int "Index for LPSS UART port to use for console"
76 default 2 if DRIVERS_UART_8250MEM_32
77 default 0
78 help
79 Index for LPSS UART port to use for console:
80 0 = LPSS UART0, 1 = LPSS UART1, 2 = LPSS UART2
81
82config 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
Aamir Bohra23012a02018-10-09 20:33:16 +053093 default 0x20000 if FSP_USES_CB_STACK
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053094 default 0x4000
95 help
96 The amount of anticipated stack usage in CAR by bootblock and
97 other stages.
98
99config IFD_CHIPSET
100 string
101 default "icl"
102
103config IED_REGION_SIZE
104 hex
105 default 0x400000
106
107config HEAP_SIZE
108 hex
109 default 0x8000
110
111config MAX_ROOT_PORTS
112 int
113 default 16
114
115config SMM_TSEG_SIZE
116 hex
117 default 0x800000
118
119config SMM_RESERVED_SIZE
120 hex
121 default 0x200000
122
123config PCR_BASE_ADDRESS
124 hex
125 default 0xfd000000
126 help
127 This option allows you to select MMIO Base Address of sideband bus.
128
Subrata Banik26d706b2018-11-20 13:20:31 +0530129config MMCONF_BASE_ADDRESS
130 hex
131 default 0xc0000000
132
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530133config CPU_BCLK_MHZ
134 int
135 default 100
136
137config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
138 int
139 default 120
140
141config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
142 int
143 default 133
144
145config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
146 int
147 default 3
148
149config SOC_INTEL_I2C_DEV_MAX
150 int
151 default 6
152
Subrata Banik26d706b2018-11-20 13:20:31 +0530153config SOC_INTEL_UART_DEV_MAX
154 int
155 default 3
156
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530157# Clock divider parameters for 115200 baud rate
158config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
159 hex
160 default 0x30
161
162config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
163 hex
164 default 0xc35
165
166config CHROMEOS
167 select CHROMEOS_RAMOOPS_DYNAMIC
168
169config VBOOT
170 select VBOOT_SEPARATE_VERSTAGE
171 select VBOOT_OPROM_MATTERS
172 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
173 select VBOOT_STARTS_IN_BOOTBLOCK
174 select VBOOT_VBNV_CMOS
175 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
176
177config C_ENV_BOOTBLOCK_SIZE
178 hex
179 default 0x8000
180
181config CBFS_SIZE
182 hex
183 default 0x200000
184
185choice
186 prompt "Cache-as-ram implementation"
187 default USE_ICELAKE_CAR_NEM_ENHANCED if MAINBOARD_HAS_CHROMEOS
188 default USE_ICELAKE_FSP_CAR
189 help
190 This option allows you to select how cache-as-ram (CAR) is set up.
191
192config USE_ICELAKE_CAR_NEM_ENHANCED
193 bool "Enhanced Non-evict mode"
194 select SOC_INTEL_COMMON_BLOCK_CAR
195 select INTEL_CAR_NEM_ENHANCED
196 help
197 A current limitation of NEM (Non-Evict mode) is that code and data
198 sizes are derived from the requirement to not write out any modified
199 cache line. With NEM, if there is no physical memory behind the
200 cached area, the modified data will be lost and NEM results will be
201 inconsistent. ENHANCED NEM guarantees that modified data is always
202 kept in cache while clean data is replaced.
203
204config USE_ICELAKE_FSP_CAR
205 bool "Use FSP CAR"
206 select FSP_CAR
207 help
208 Use FSP APIs to initialize and tear down the Cache-As-Ram.
209
210endchoice
211
212config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200213 string "Location of FSP headers"
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530214 default "src/vendorcode/intel/fsp/fsp2_0/icelake/"
215
216config FSP_FD_PATH
217 string
218 depends on FSP_USE_REPO
219 default "3rdparty/fsp/IceLakeFspBinPkg/Fsp.fd"
220
221endif