blob: 052e37dadbbcff6399502f3a48c0832e89e22667 [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
Subrata Banikffb83be2019-04-29 13:58:43 +053022 select FSP_M_XIP
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
Nico Huberf5ca9222018-11-29 17:05:32 +010035 select MICROCODE_BLOB_UNDISCLOSED
Subrata Banik55fb6b42018-12-19 16:50:57 +053036 select PLATFORM_USES_FSP2_1
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053037 select POSTCAR_CONSOLE
38 select POSTCAR_STAGE
39 select REG_SCRIPT
40 select SMM_TSEG
41 select SMP
42 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
43 select PMC_GLOBAL_RESET_ENABLE_LOCK
44 select SOC_INTEL_COMMON
45 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
46 select SOC_INTEL_COMMON_BLOCK
47 select SOC_INTEL_COMMON_BLOCK_ACPI
48 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
49 select SOC_INTEL_COMMON_BLOCK_CPU
50 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
51 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
52 select SOC_INTEL_COMMON_BLOCK_HDA
53 select SOC_INTEL_COMMON_BLOCK_SA
54 select SOC_INTEL_COMMON_BLOCK_SMM
55 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
56 select SOC_INTEL_COMMON_PCH_BASE
57 select SOC_INTEL_COMMON_RESET
58 select SSE2
59 select SUPPORT_CPU_UCODE_IN_CBFS
60 select TSC_CONSTANT_RATE
61 select TSC_MONOTONIC_TIMER
62 select UDELAY_TSC
63 select UDK_2017_BINDING
64 select DISPLAY_FSP_VERSION_INFO
65
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053066config DCACHE_RAM_BASE
67 default 0xfef00000
68
69config DCACHE_RAM_SIZE
70 default 0x40000
71 help
72 The size of the cache-as-ram region required during bootblock
73 and/or romstage.
74
75config DCACHE_BSP_STACK_SIZE
76 hex
Aamir Bohra23012a02018-10-09 20:33:16 +053077 default 0x20000 if FSP_USES_CB_STACK
Aamir Bohra3ee54bb2018-10-17 11:55:01 +053078 default 0x4000
79 help
80 The amount of anticipated stack usage in CAR by bootblock and
81 other stages.
82
83config IFD_CHIPSET
84 string
85 default "icl"
86
87config IED_REGION_SIZE
88 hex
89 default 0x400000
90
91config HEAP_SIZE
92 hex
93 default 0x8000
94
95config MAX_ROOT_PORTS
96 int
97 default 16
98
99config SMM_TSEG_SIZE
100 hex
101 default 0x800000
102
103config SMM_RESERVED_SIZE
104 hex
105 default 0x200000
106
107config PCR_BASE_ADDRESS
108 hex
109 default 0xfd000000
110 help
111 This option allows you to select MMIO Base Address of sideband bus.
112
Subrata Banik26d706b2018-11-20 13:20:31 +0530113config MMCONF_BASE_ADDRESS
114 hex
115 default 0xc0000000
116
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530117config CPU_BCLK_MHZ
118 int
119 default 100
120
121config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
122 int
123 default 120
124
125config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
126 int
127 default 133
128
129config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
130 int
131 default 3
132
133config SOC_INTEL_I2C_DEV_MAX
134 int
135 default 6
136
Subrata Banik26d706b2018-11-20 13:20:31 +0530137config SOC_INTEL_UART_DEV_MAX
138 int
139 default 3
140
Nico Huber99954182019-05-29 23:33:06 +0200141config CONSOLE_UART_BASE_ADDRESS
142 hex
143 default 0xfe032000
144 depends on INTEL_LPSS_UART_FOR_CONSOLE
145
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530146# Clock divider parameters for 115200 baud rate
147config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
148 hex
149 default 0x30
150
151config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
152 hex
153 default 0xc35
154
155config CHROMEOS
156 select CHROMEOS_RAMOOPS_DYNAMIC
157
158config VBOOT
159 select VBOOT_SEPARATE_VERSTAGE
Joel Kitching6672bd82019-04-10 16:06:21 +0800160 select VBOOT_MUST_REQUEST_DISPLAY
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530161 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
162 select VBOOT_STARTS_IN_BOOTBLOCK
163 select VBOOT_VBNV_CMOS
164 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
165
166config C_ENV_BOOTBLOCK_SIZE
167 hex
Subrata Banik458297c2019-01-07 14:24:27 +0530168 default 0xC000
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530169
170config CBFS_SIZE
171 hex
172 default 0x200000
173
174choice
175 prompt "Cache-as-ram implementation"
176 default USE_ICELAKE_CAR_NEM_ENHANCED if MAINBOARD_HAS_CHROMEOS
177 default USE_ICELAKE_FSP_CAR
178 help
179 This option allows you to select how cache-as-ram (CAR) is set up.
180
181config USE_ICELAKE_CAR_NEM_ENHANCED
182 bool "Enhanced Non-evict mode"
183 select SOC_INTEL_COMMON_BLOCK_CAR
184 select INTEL_CAR_NEM_ENHANCED
185 help
186 A current limitation of NEM (Non-Evict mode) is that code and data
187 sizes are derived from the requirement to not write out any modified
188 cache line. With NEM, if there is no physical memory behind the
189 cached area, the modified data will be lost and NEM results will be
190 inconsistent. ENHANCED NEM guarantees that modified data is always
191 kept in cache while clean data is replaced.
192
193config USE_ICELAKE_FSP_CAR
194 bool "Use FSP CAR"
195 select FSP_CAR
196 help
197 Use FSP APIs to initialize and tear down the Cache-As-Ram.
198
199endchoice
200
201config FSP_HEADER_PATH
Patrick Georgic6382cd2018-10-26 22:03:17 +0200202 string "Location of FSP headers"
Aamir Bohra3ee54bb2018-10-17 11:55:01 +0530203 default "src/vendorcode/intel/fsp/fsp2_0/icelake/"
204
205config FSP_FD_PATH
206 string
207 depends on FSP_USE_REPO
208 default "3rdparty/fsp/IceLakeFspBinPkg/Fsp.fd"
209
210endif