blob: 014606b8829491d5dcf69c4ba474e4981a4854ea [file] [log] [blame]
Subrata Banik91e89c52019-11-01 18:30:01 +05301config SOC_INTEL_TIGERLAKE
2 bool
3 help
4 Intel Tigerlake support
5
6if SOC_INTEL_TIGERLAKE
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 COMMON_FADT
20 select CPU_INTEL_FIRMWARE_INTERFACE_TABLE
21 select FSP_M_XIP
22 select GENERIC_GPIO_LIB
23 select HAVE_FSP_GOP
24 select INTEL_DESCRIPTOR_MODE_CAPABLE
25 select HAVE_SMI_HANDLER
26 select IDT_IN_EVERY_STAGE
27 select INTEL_GMA_ACPI
28 select INTEL_GMA_ADD_VBT if RUN_FSP_GOP
29 select IOAPIC
30 select MRC_SETTINGS_PROTECT
31 select PARALLEL_MP
32 select PARALLEL_MP_AP_WORK
33 select MICROCODE_BLOB_UNDISCLOSED
34 select PLATFORM_USES_FSP2_1
35 select REG_SCRIPT
36 select SMP
37 select SOC_AHCI_PORT_IMPLEMENTED_INVERT
38 select PMC_GLOBAL_RESET_ENABLE_LOCK
39 select SOC_INTEL_COMMON
40 select SOC_INTEL_COMMON_ACPI_WAKE_SOURCE
41 select SOC_INTEL_COMMON_BLOCK
42 select SOC_INTEL_COMMON_BLOCK_ACPI
43 select SOC_INTEL_COMMON_BLOCK_CHIP_CONFIG
44 select SOC_INTEL_COMMON_BLOCK_CPU
45 select SOC_INTEL_COMMON_BLOCK_CPU_MPINIT
46 select SOC_INTEL_COMMON_BLOCK_EBDA
47 select SOC_INTEL_COMMON_BLOCK_GSPI_VERSION_2
48 select SOC_INTEL_COMMON_BLOCK_HDA
49 select SOC_INTEL_COMMON_BLOCK_SA
50 select SOC_INTEL_COMMON_BLOCK_SMM
51 select SOC_INTEL_COMMON_BLOCK_SMM_IO_TRAP
52 select SOC_INTEL_COMMON_PCH_BASE
53 select SOC_INTEL_COMMON_RESET
54 select SSE2
55 select SUPPORT_CPU_UCODE_IN_CBFS
56 select TSC_MONOTONIC_TIMER
57 select UDELAY_TSC
58 select UDK_2017_BINDING
59 select DISPLAY_FSP_VERSION_INFO
60 select HECI_DISABLE_USING_SMM
61
62config DCACHE_RAM_BASE
63 default 0xfef00000
64
65config DCACHE_RAM_SIZE
66 default 0x40000
67 help
68 The size of the cache-as-ram region required during bootblock
69 and/or romstage.
70
71config DCACHE_BSP_STACK_SIZE
72 hex
73 default 0x20400
74 help
75 The amount of anticipated stack usage in CAR by bootblock and
76 other stages. In the case of FSP_USES_CB_STACK default value will be
77 sum of FSP-M stack requirement (128KiB) and CB romstage stack requirement (~1KiB).
78
79config FSP_TEMP_RAM_SIZE
80 hex
81 default 0x10000
82 help
83 The amount of anticipated heap usage in CAR by FSP.
84 Refer to Platform FSP integration guide document to know
85 the exact FSP requirement for Heap setup.
86
87config IFD_CHIPSET
88 string
89 default "tgl"
90
91config IED_REGION_SIZE
92 hex
93 default 0x400000
94
95config HEAP_SIZE
96 hex
97 default 0x8000
98
99config MAX_ROOT_PORTS
100 int
101 default 16
102
103config SMM_TSEG_SIZE
104 hex
105 default 0x800000
106
107config SMM_RESERVED_SIZE
108 hex
109 default 0x200000
110
111config PCR_BASE_ADDRESS
112 hex
113 default 0xfd000000
114 help
115 This option allows you to select MMIO Base Address of sideband bus.
116
117config MMCONF_BASE_ADDRESS
118 hex
119 default 0xc0000000
120
121config CPU_BCLK_MHZ
122 int
123 default 100
124
125config SOC_INTEL_COMMON_BLOCK_GSPI_CLOCK_MHZ
126 int
127 default 120
128
129config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
130 int
131 default 133
132
133config SOC_INTEL_COMMON_BLOCK_GSPI_MAX
134 int
135 default 3
136
137config SOC_INTEL_I2C_DEV_MAX
138 int
139 default 6
140
141config SOC_INTEL_UART_DEV_MAX
142 int
143 default 3
144
145config CONSOLE_UART_BASE_ADDRESS
146 hex
147 default 0xfe032000
148 depends on INTEL_LPSS_UART_FOR_CONSOLE
149
150# Clock divider parameters for 115200 baud rate
151config SOC_INTEL_COMMON_LPSS_UART_CLK_M_VAL
152 hex
153 default 0x30
154
155config SOC_INTEL_COMMON_LPSS_UART_CLK_N_VAL
156 hex
157 default 0xc35
158
159config CHROMEOS
160 select CHROMEOS_RAMOOPS_DYNAMIC
161
162config VBOOT
163 select VBOOT_SEPARATE_VERSTAGE
164 select VBOOT_MUST_REQUEST_DISPLAY
165 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
166 select VBOOT_STARTS_IN_BOOTBLOCK
167 select VBOOT_VBNV_CMOS
168 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
169
170config C_ENV_BOOTBLOCK_SIZE
171 hex
172 default 0xC000
173
174config CBFS_SIZE
175 hex
176 default 0x200000
177
178choice
179 prompt "Cache-as-ram implementation"
180 default USE_TIGERLAKE_CAR_NEM_ENHANCED
181 help
182 This option allows you to select how cache-as-ram (CAR) is set up.
183
184config USE_TIGERLAKE_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_TIGERLAKE_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
205 string "Location of FSP headers"
206 default "src/vendorcode/intel/fsp/fsp2_0/tigerlake/"
207
208config FSP_FD_PATH
209 string
210 depends on FSP_USE_REPO
211 default "3rdparty/fsp/TigerLakeFspBinPkg/Fsp.fd"
212
213endif