blob: c4ee841802b01e520ceb1e2718f1f1f28075cac2 [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
129config CPU_BCLK_MHZ
130 int
131 default 100
132
133config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
134 int
135 default 120
136
137config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
138 int
139 default 133
140
141config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
142 int
143 default 3
144
145config SOC_INTEL_I2C_DEV_MAX
146 int
147 default 6
148
149# Clock divider parameters for 115200 baud rate
150config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
151 hex
152 default 0x30
153
154config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
155 hex
156 default 0xc35
157
158config CHROMEOS
159 select CHROMEOS_RAMOOPS_DYNAMIC
160
161config VBOOT
162 select VBOOT_SEPARATE_VERSTAGE
163 select VBOOT_OPROM_MATTERS
164 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
165 select VBOOT_STARTS_IN_BOOTBLOCK
166 select VBOOT_VBNV_CMOS
167 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
168
169config C_ENV_BOOTBLOCK_SIZE
170 hex
171 default 0x8000
172
173config CBFS_SIZE
174 hex
175 default 0x200000
176
177choice
178 prompt "Cache-as-ram implementation"
179 default USE_ICELAKE_CAR_NEM_ENHANCED if MAINBOARD_HAS_CHROMEOS
180 default USE_ICELAKE_FSP_CAR
181 help
182 This option allows you to select how cache-as-ram (CAR) is set up.
183
184config USE_ICELAKE_CAR_NEM_ENHANCED
185 bool "Enhanced Non-evict mode"
186 select SOC_INTEL_COMMON_BLOCK_CAR
187 select INTEL_CAR_NEM_ENHANCED
188 help
189 A current limitation of NEM (Non-Evict mode) is that code and data
190 sizes are derived from the requirement to not write out any modified
191 cache line. With NEM, if there is no physical memory behind the
192 cached area, the modified data will be lost and NEM results will be
193 inconsistent. ENHANCED NEM guarantees that modified data is always
194 kept in cache while clean data is replaced.
195
196config USE_ICELAKE_FSP_CAR
197 bool "Use FSP CAR"
198 select FSP_CAR
199 help
200 Use FSP APIs to initialize and tear down the Cache-As-Ram.
201
202endchoice
203
204config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200205 string "Location of FSP headers"
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530206 default "src/vendorcode/intel/fsp/fsp2_0/icelake/"
207
208config FSP_FD_PATH
209 string
210 depends on FSP_USE_REPO
211 default "3rdparty/fsp/IceLakeFspBinPkg/Fsp.fd"
212
213endif