Patrick Georgi | c49d7a3 | 2020-05-08 22:50:46 +0200 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Lee Leahy | 47bd2d9 | 2016-07-24 18:12:16 -0700 | [diff] [blame] | 2 | |
Andrey Petrov | b37fd67 | 2016-03-01 16:25:38 -0800 | [diff] [blame] | 3 | config PLATFORM_USES_FSP2_0 |
| 4 | bool |
Subrata Banik | 7455881 | 2018-01-25 11:41:04 +0530 | [diff] [blame] | 5 | default n |
Andrey Petrov | b37fd67 | 2016-03-01 16:25:38 -0800 | [diff] [blame] | 6 | help |
| 7 | Include FSP 2.0 wrappers and functionality |
| 8 | |
Subrata Banik | 8a83282 | 2018-12-19 16:46:37 +0530 | [diff] [blame] | 9 | config PLATFORM_USES_FSP2_1 |
| 10 | bool |
| 11 | default n |
| 12 | select PLATFORM_USES_FSP2_0 |
| 13 | select FSP_USES_CB_STACK |
Subrata Banik | 8a83282 | 2018-12-19 16:46:37 +0530 | [diff] [blame] | 14 | help |
| 15 | Include FSP 2.1 wrappers and functionality. |
Jonathan Zhang | 01e3855 | 2020-06-17 16:03:18 -0700 | [diff] [blame] | 16 | Feature added into FSP 2.1 specification that impacts coreboot is: |
Subrata Banik | 8a83282 | 2018-12-19 16:46:37 +0530 | [diff] [blame] | 17 | 1. Remove FSP stack switch and use the same stack with boot firmware |
Subrata Banik | 8a83282 | 2018-12-19 16:46:37 +0530 | [diff] [blame] | 18 | |
Subrata Banik | 33d9c4a | 2020-05-26 18:26:54 +0530 | [diff] [blame] | 19 | config PLATFORM_USES_FSP2_2 |
| 20 | bool |
| 21 | default n |
| 22 | select PLATFORM_USES_FSP2_1 |
| 23 | help |
| 24 | Include FSP 2.2 wrappers and functionality. |
| 25 | Features added into FSP 2.2 specification that impact coreboot are: |
| 26 | 1. Added multi-phase silicon initialization to increase the modularity of the |
| 27 | FspSiliconInit() API |
| 28 | 2. FSP_INFO_HEADER changes to add FspMultiPhaseSiInitEntryOffset |
| 29 | 3. Added EnableMultiPhaseSiliconInit, bootloaders designed for FSP2.0/2.1 can disable |
| 30 | the FspMultiPhaseSiInit() API and continue to use FspSiliconInit() without change. |
| 31 | |
Anil Kumar | 57309d3 | 2021-11-11 18:56:21 -0800 | [diff] [blame] | 32 | config PLATFORM_USES_FSP2_3 |
| 33 | bool |
| 34 | default n |
| 35 | select PLATFORM_USES_FSP2_2 |
| 36 | help |
| 37 | Include FSP 2.3 wrappers and functionality. |
| 38 | Features added into FSP 2.3 specification that impact coreboot are: |
| 39 | 1. Added ExtendedImageRevision field in FSP_INFO_HEADER |
| 40 | 2. Added FSP_NON_VOLATILE_STORAGE_HOB2 |
| 41 | |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 42 | if PLATFORM_USES_FSP2_0 |
Andrey Petrov | b37fd67 | 2016-03-01 16:25:38 -0800 | [diff] [blame] | 43 | |
Patrick Rudolph | 31218a4 | 2020-11-30 15:50:06 +0100 | [diff] [blame] | 44 | config PLATFORM_USES_FSP2_X86_32 |
| 45 | bool |
| 46 | default y |
| 47 | help |
| 48 | The FSP 2.0 runs in x86_32 protected mode. |
| 49 | Once there's a x86_64 FSP this needs to default to n. |
| 50 | |
Nico Huber | a0e72c4 | 2020-04-03 23:38:17 +0200 | [diff] [blame] | 51 | config HAVE_INTEL_FSP_REPO |
| 52 | bool |
| 53 | help |
| 54 | Select this, if the FSP binaries for the platform are public |
| 55 | and available in 3rdparty/fsp/. When selecting this option, the |
| 56 | platform must also set FSP_HEADER_PATH and FSP_FD_PATH correctly. |
| 57 | |
Nico Huber | 04da5d7 | 2020-03-27 20:34:54 +0100 | [diff] [blame] | 58 | config FSP_USE_REPO |
| 59 | bool "Use binaries of the Intel FSP repository on GitHub" |
| 60 | depends on HAVE_INTEL_FSP_REPO |
Michael Niewöhner | 59f06ad | 2020-11-25 13:55:42 +0100 | [diff] [blame] | 61 | select FSP_FULL_FD |
Nico Huber | 04da5d7 | 2020-03-27 20:34:54 +0100 | [diff] [blame] | 62 | default y |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 63 | help |
Nico Huber | a0e72c4 | 2020-04-03 23:38:17 +0200 | [diff] [blame] | 64 | Select this option to use the default FSP headers and binaries |
| 65 | found in the IntelFsp GitHub repository at |
| 66 | |
| 67 | https://github.com/IntelFsp/FSP/ |
| 68 | |
| 69 | If unsure, say Y. |
| 70 | |
| 71 | config FSP_HEADER_PATH |
| 72 | string "Location of FSP headers" if !FSP_USE_REPO |
| 73 | help |
| 74 | Include directory with the FSP ABI header files. |
| 75 | |
Nico Huber | 04da5d7 | 2020-03-27 20:34:54 +0100 | [diff] [blame] | 76 | config ADD_FSP_BINARIES |
| 77 | bool "Add Intel FSP 2.0 binaries to CBFS" if !FSP_USE_REPO |
| 78 | default y if FSP_USE_REPO |
| 79 | help |
| 80 | Add the FSP-M and FSP-S binaries to CBFS. |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 81 | |
Brenton Dong | 0a5971c | 2016-10-18 11:35:15 -0700 | [diff] [blame] | 82 | config FSP_T_CBFS |
| 83 | string "Name of FSP-T in CBFS" |
| 84 | depends on FSP_CAR |
| 85 | default "fspt.bin" |
| 86 | |
Arthur Heymans | 0f068a6 | 2021-05-03 10:59:45 +0200 | [diff] [blame] | 87 | config FSP_T_LOCATION |
| 88 | hex |
| 89 | default 0xfffe0000 |
| 90 | help |
| 91 | The location for FSP-T. |
| 92 | |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 93 | config FSP_S_CBFS |
| 94 | string "Name of FSP-S in CBFS" |
| 95 | default "fsps.bin" |
| 96 | |
| 97 | config FSP_M_CBFS |
| 98 | string "Name of FSP-M in CBFS" |
| 99 | default "fspm.bin" |
| 100 | |
Michael Niewöhner | 59f06ad | 2020-11-25 13:55:42 +0100 | [diff] [blame] | 101 | config FSP_FULL_FD |
| 102 | bool "Use a combined FSP FD file" if !FSP_USE_REPO |
| 103 | depends on ADD_FSP_BINARIES |
| 104 | help |
| 105 | Use a combined FSP FD file instead of specifying individual, already split |
| 106 | binaries and split the file at build-time. |
| 107 | |
Michael Niewöhner | 3044d70 | 2020-11-25 15:07:47 +0100 | [diff] [blame] | 108 | config FSP_FD_PATH |
| 109 | string "Location of FSP FD file" if FSP_FULL_FD && !FSP_USE_REPO |
| 110 | help |
| 111 | Path to the FSP FD file that contains the individual FSP-T, FSP-M |
| 112 | and FSP-S binaries. The file gets split at build-time. |
| 113 | |
Brenton Dong | 0a5971c | 2016-10-18 11:35:15 -0700 | [diff] [blame] | 114 | config FSP_T_FILE |
Michael Niewöhner | 59f06ad | 2020-11-25 13:55:42 +0100 | [diff] [blame] | 115 | string "Intel FSP-T (temp RAM init) binary path and filename" if !FSP_FULL_FD |
Nico Huber | 04da5d7 | 2020-03-27 20:34:54 +0100 | [diff] [blame] | 116 | depends on ADD_FSP_BINARIES |
Brenton Dong | 0a5971c | 2016-10-18 11:35:15 -0700 | [diff] [blame] | 117 | depends on FSP_CAR |
Michael Niewöhner | 59f06ad | 2020-11-25 13:55:42 +0100 | [diff] [blame] | 118 | default "\$(obj)/Fsp_T.fd" if FSP_FULL_FD |
Brenton Dong | 0a5971c | 2016-10-18 11:35:15 -0700 | [diff] [blame] | 119 | help |
Nico Huber | 04da5d7 | 2020-03-27 20:34:54 +0100 | [diff] [blame] | 120 | The path and filename of the Intel FSP-T binary for this platform. |
Brenton Dong | 0a5971c | 2016-10-18 11:35:15 -0700 | [diff] [blame] | 121 | |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 122 | config FSP_M_FILE |
Michael Niewöhner | 59f06ad | 2020-11-25 13:55:42 +0100 | [diff] [blame] | 123 | string "Intel FSP-M (memory init) binary path and filename" if !FSP_FULL_FD |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 124 | depends on ADD_FSP_BINARIES |
Michael Niewöhner | 59f06ad | 2020-11-25 13:55:42 +0100 | [diff] [blame] | 125 | default "\$(obj)/Fsp_M.fd" if FSP_FULL_FD |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 126 | help |
| 127 | The path and filename of the Intel FSP-M binary for this platform. |
| 128 | |
| 129 | config FSP_S_FILE |
Michael Niewöhner | 59f06ad | 2020-11-25 13:55:42 +0100 | [diff] [blame] | 130 | string "Intel FSP-S (silicon init) binary path and filename" if !FSP_FULL_FD |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 131 | depends on ADD_FSP_BINARIES |
Michael Niewöhner | 59f06ad | 2020-11-25 13:55:42 +0100 | [diff] [blame] | 132 | default "\$(obj)/Fsp_S.fd" if FSP_FULL_FD |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 133 | help |
| 134 | The path and filename of the Intel FSP-S binary for this platform. |
| 135 | |
Brenton Dong | 0a5971c | 2016-10-18 11:35:15 -0700 | [diff] [blame] | 136 | config FSP_CAR |
Arthur Heymans | acc88f8 | 2019-10-20 14:29:59 +0200 | [diff] [blame] | 137 | bool |
Brenton Dong | 0a5971c | 2016-10-18 11:35:15 -0700 | [diff] [blame] | 138 | default n |
Arthur Heymans | 5fc2bed | 2021-01-23 15:09:48 +0100 | [diff] [blame] | 139 | select NO_CBFS_MCACHE if !NO_FSP_TEMP_RAM_EXIT |
Brenton Dong | 0a5971c | 2016-10-18 11:35:15 -0700 | [diff] [blame] | 140 | help |
| 141 | Use FSP APIs to initialize & Tear Down the Cache-As-Ram |
| 142 | |
Arthur Heymans | 9789689 | 2021-01-04 12:22:57 +0100 | [diff] [blame] | 143 | config FSP_T_RESERVED_SIZE |
| 144 | hex |
| 145 | default 0x100 if FSP_CAR |
| 146 | default 0x0 |
| 147 | help |
| 148 | This is the size of the area reserved by FSP-T. This is not |
| 149 | defined in the FSP specification but in the SOC integration |
| 150 | guides. |
| 151 | |
Arthur Heymans | 98cc783 | 2020-12-08 12:49:38 +0100 | [diff] [blame] | 152 | config NO_FSP_TEMP_RAM_EXIT |
| 153 | bool |
| 154 | depends on FSP_CAR |
| 155 | help |
| 156 | Select this on a platform where you want to use FSP-T but use |
| 157 | coreboot code to tear down CAR. |
| 158 | |
Lee Leahy | 27cd96a | 2016-07-21 11:16:39 -0700 | [diff] [blame] | 159 | config FSP_M_XIP |
Arthur Heymans | 585786b | 2019-10-20 14:32:57 +0200 | [diff] [blame] | 160 | bool |
Lee Leahy | 27cd96a | 2016-07-21 11:16:39 -0700 | [diff] [blame] | 161 | default n |
| 162 | help |
| 163 | Select this value when FSP-M is execute-in-place. |
| 164 | |
praveen hodagatta pranesh | 6c96542 | 2018-10-10 22:48:00 +0800 | [diff] [blame] | 165 | config FSP_T_XIP |
| 166 | bool |
| 167 | default n |
| 168 | help |
| 169 | Select this value when FSP-T is execute-in-place. |
| 170 | |
Aamir Bohra | 6d569e0c | 2018-08-27 13:36:15 +0530 | [diff] [blame] | 171 | config FSP_USES_CB_STACK |
| 172 | bool |
| 173 | default n |
| 174 | help |
| 175 | Enable support for fsp to use same stack as coreboot. |
| 176 | This option allows fsp to continue using coreboot stack |
| 177 | without reinitializing stack pointer. This feature is |
| 178 | supported Icelake onwards. |
| 179 | |
Kyösti Mälkki | c987150 | 2019-09-03 07:03:39 +0300 | [diff] [blame] | 180 | config FSP_TEMP_RAM_SIZE |
| 181 | hex |
Subrata Banik | 1d260e6 | 2019-09-09 13:55:42 +0530 | [diff] [blame] | 182 | help |
Felix Held | 414d7e4 | 2020-08-11 22:54:06 +0200 | [diff] [blame] | 183 | The amount of memory coreboot reserves for the FSP to use. In the |
| 184 | case of FSP 2.1 and newer that share the stack with coreboot instead |
| 185 | of having its own stack, this is the amount of anticipated heap usage |
| 186 | in CAR by FSP to setup HOB and needs to be the recommended value from |
| 187 | the Platform FSP integration guide. In the case of the FSP having its |
| 188 | own stack that will be placed in DRAM and not in CAR, this is the |
| 189 | amount of memory the FSP needs for its stack and heap. |
Kyösti Mälkki | c987150 | 2019-09-03 07:03:39 +0300 | [diff] [blame] | 190 | |
Aaron Durbin | a3cecb2 | 2017-04-25 21:58:10 -0500 | [diff] [blame] | 191 | config FSP_PLATFORM_MEMORY_SETTINGS_VERSIONS |
| 192 | bool |
| 193 | help |
| 194 | This is selected by SoC or mainboard to supply their own |
| 195 | concept of a version for the memory settings respectively. |
| 196 | This allows deployed systems to bump their version number |
| 197 | with the same FSP which will trigger a retrain of the memory. |
| 198 | |
Wim Vervoorn | d137150 | 2019-12-17 14:10:16 +0100 | [diff] [blame] | 199 | config HAVE_FSP_LOGO_SUPPORT |
| 200 | bool |
| 201 | default n |
| 202 | |
Kyösti Mälkki | 4949a3d | 2021-01-09 20:38:43 +0200 | [diff] [blame] | 203 | config BMP_LOGO |
Wim Vervoorn | cbc878d2 | 2019-11-28 14:45:12 +0100 | [diff] [blame] | 204 | bool "Enable logo" |
| 205 | default n |
Wim Vervoorn | d137150 | 2019-12-17 14:10:16 +0100 | [diff] [blame] | 206 | depends on HAVE_FSP_LOGO_SUPPORT |
Wim Vervoorn | cbc878d2 | 2019-11-28 14:45:12 +0100 | [diff] [blame] | 207 | help |
| 208 | Uses the FSP to display the boot logo. This method supports a |
Subrata Banik | 7a6f888 | 2023-08-04 21:31:05 +0530 | [diff] [blame^] | 209 | BMP file only. The uncompressed size can be up to 1 MB. The logo can |
| 210 | be compressed based on either `BMP_LOGO_COMPRESS_*` configs (default LZMA). |
| 211 | |
| 212 | config HAVE_BMP_LOGO_COMPRESS_LZMA |
| 213 | bool |
| 214 | depends on BMP_LOGO |
| 215 | default y |
| 216 | |
| 217 | choice |
| 218 | prompt "BMP Logo compression" |
| 219 | depends on BMP_LOGO |
| 220 | default BMP_LOGO_COMPRESS_LZMA if HAVE_BMP_LOGO_COMPRESS_LZMA |
| 221 | default BMP_LOGO_COMPRESS_LZ4 |
| 222 | |
| 223 | config BMP_LOGO_COMPRESS_LZMA |
| 224 | bool "Use LZMA compression for BMP logo" |
| 225 | help |
| 226 | This option enables the use of LZMA compression for the BMP logo. |
| 227 | LZMA is a lossless compression algorithm that can significantly reduce |
| 228 | the size of the logo, without sacrificing quality. |
| 229 | |
| 230 | If this option is not enabled, the BMP logo will be uncompressed. |
| 231 | |
| 232 | config BMP_LOGO_COMPRESS_LZ4 |
| 233 | bool "Compress BMP logo using LZ4" |
| 234 | help |
| 235 | This option enables compression of the BMP logo using the LZ4 algorithm. |
| 236 | Although the size reduction is not as efficient as LZMA compression, however, |
| 237 | it can also make the boot process slightly faster compared to the LZMA. |
| 238 | |
| 239 | endchoice |
Wim Vervoorn | cbc878d2 | 2019-11-28 14:45:12 +0100 | [diff] [blame] | 240 | |
| 241 | config FSP2_0_LOGO_FILE_NAME |
| 242 | string "Logo file" |
Kyösti Mälkki | 4949a3d | 2021-01-09 20:38:43 +0200 | [diff] [blame] | 243 | depends on BMP_LOGO |
Patrick Georgi | b8fba86 | 2020-06-17 21:06:53 +0200 | [diff] [blame] | 244 | default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/logo.bmp" |
Wim Vervoorn | cbc878d2 | 2019-11-28 14:45:12 +0100 | [diff] [blame] | 245 | |
Aaron Durbin | a85febc | 2020-05-15 15:09:10 -0600 | [diff] [blame] | 246 | config FSP_COMPRESS_FSP_S_LZMA |
| 247 | bool |
| 248 | |
| 249 | config FSP_COMPRESS_FSP_S_LZ4 |
| 250 | bool |
| 251 | |
Aaron Durbin | ecbfa99 | 2020-05-15 17:01:58 -0600 | [diff] [blame] | 252 | config FSP_COMPRESS_FSP_M_LZMA |
| 253 | bool |
| 254 | depends on !FSP_M_XIP |
| 255 | |
| 256 | config FSP_COMPRESS_FSP_M_LZ4 |
| 257 | bool |
| 258 | depends on !FSP_M_XIP |
| 259 | |
Raul E Rangel | 82897c9 | 2021-11-05 10:29:24 -0600 | [diff] [blame] | 260 | config FSP_ALIGNMENT_FSP_S |
| 261 | int |
| 262 | help |
| 263 | Sets the CBFS alignment for FSP-S |
| 264 | |
| 265 | config FSP_ALIGNMENT_FSP_M |
| 266 | int |
| 267 | help |
| 268 | Sets the CBFS alignment for FSP-M |
| 269 | |
Aaron Durbin | ecbfa99 | 2020-05-15 17:01:58 -0600 | [diff] [blame] | 270 | config FSP_M_ADDR |
| 271 | hex |
| 272 | help |
| 273 | The address FSP-M will be relocated to during build time |
| 274 | |
Subrata Banik | 8f7a248 | 2020-09-20 12:28:45 +0530 | [diff] [blame] | 275 | config FSP_STATUS_GLOBAL_RESET_REQUIRED_3 |
| 276 | bool |
| 277 | help |
| 278 | FSP Reset Status code used for global reset as per FSP EAS v2.0 section 11.2.2 |
| 279 | |
| 280 | config FSP_STATUS_GLOBAL_RESET_REQUIRED_4 |
| 281 | bool |
| 282 | help |
| 283 | FSP Reset Status code used for global reset as per FSP EAS v2.0 section 11.2.2 |
| 284 | |
| 285 | config FSP_STATUS_GLOBAL_RESET_REQUIRED_5 |
| 286 | bool |
| 287 | help |
| 288 | FSP Reset Status code used for global reset as per FSP EAS v2.0 section 11.2.2 |
| 289 | |
| 290 | config FSP_STATUS_GLOBAL_RESET_REQUIRED_6 |
| 291 | bool |
| 292 | help |
| 293 | FSP Reset Status code used for global reset as per FSP EAS v2.0 section 11.2.2 |
| 294 | |
| 295 | config FSP_STATUS_GLOBAL_RESET_REQUIRED_7 |
| 296 | bool |
| 297 | help |
| 298 | FSP Reset Status code used for global reset as per FSP EAS v2.0 section 11.2.2 |
| 299 | |
| 300 | config FSP_STATUS_GLOBAL_RESET_REQUIRED_8 |
| 301 | bool |
| 302 | help |
| 303 | FSP Reset Status code used for global reset as per FSP EAS v2.0 section 11.2.2 |
| 304 | |
| 305 | config FSP_STATUS_GLOBAL_RESET |
| 306 | hex |
Subrata Banik | 2b2ade9 | 2020-10-31 21:07:16 +0530 | [diff] [blame] | 307 | depends on SOC_INTEL_COMMON_FSP_RESET |
Subrata Banik | 8f7a248 | 2020-09-20 12:28:45 +0530 | [diff] [blame] | 308 | default 0x40000003 if FSP_STATUS_GLOBAL_RESET_REQUIRED_3 |
| 309 | default 0x40000004 if FSP_STATUS_GLOBAL_RESET_REQUIRED_4 |
| 310 | default 0x40000005 if FSP_STATUS_GLOBAL_RESET_REQUIRED_5 |
| 311 | default 0x40000006 if FSP_STATUS_GLOBAL_RESET_REQUIRED_6 |
| 312 | default 0x40000007 if FSP_STATUS_GLOBAL_RESET_REQUIRED_7 |
| 313 | default 0x40000008 if FSP_STATUS_GLOBAL_RESET_REQUIRED_8 |
| 314 | default 0xffffffff |
| 315 | help |
| 316 | If global reset is supported by SoC then select the correct status value for global |
| 317 | reset type from SoC Kconfig based on available Kconfig options |
| 318 | FSP_STATUS_GLOBAL_RESET_REQUIRED_X. Default is unsupported. |
| 319 | |
Subrata Banik | 2b2ade9 | 2020-10-31 21:07:16 +0530 | [diff] [blame] | 320 | config SOC_INTEL_COMMON_FSP_RESET |
| 321 | bool |
| 322 | help |
| 323 | Common code block to handle platform reset request raised by FSP. The FSP |
| 324 | will use the FSP EAS v2.0 section 12.2.2 (OEM Status Code) to indicate that |
| 325 | a reset is required. |
Subrata Banik | 298b359 | 2021-09-14 12:38:08 +0530 | [diff] [blame] | 326 | |
| 327 | config FSPS_HAS_ARCH_UPD |
| 328 | bool |
| 329 | help |
| 330 | SoC users must select this Kconfig if the `FSPS_UPD` header has architecture |
| 331 | UPD structure as `FSPS_ARCH_UPD`. Typically, platform with FSP 2.2 specification |
| 332 | onwards has support for `FSPS_ARCH_UPD` section as part of `FSPS_UPD` structure. |
| 333 | But there are some exceptions as in TGL, JSL, XEON_SP FSP header doesn't have |
| 334 | support for FSPS_ARCH_UPD. |
| 335 | |
| 336 | config FSPS_USE_MULTI_PHASE_INIT |
| 337 | bool |
| 338 | help |
| 339 | SoC users to select this Kconfig to set EnableMultiPhaseSiliconInit to enable and |
| 340 | execute FspMultiPhaseSiInit() API. |
| 341 | |
Subrata Banik | 34f26b2 | 2022-02-10 12:38:02 +0530 | [diff] [blame] | 342 | config USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM |
Subrata Banik | e8feab0 | 2021-12-27 10:25:55 +0000 | [diff] [blame] | 343 | bool |
| 344 | help |
| 345 | The FSP API is used to notify the FSP about different phases in the boot process. |
| 346 | The current FSP specification supports three notify phases: |
| 347 | - Post PCI enumeration |
| 348 | - Ready to Boot |
| 349 | - End of Firmware |
Subrata Banik | 34f26b2 | 2022-02-10 12:38:02 +0530 | [diff] [blame] | 350 | This option allows FSP to execute Notify Phase API (Post PCI enumeration). |
| 351 | SoC users can override this config to use coreboot native implementations |
| 352 | to perform the required lock down and chipset register configuration prior |
| 353 | to executing any 3rd-party code during PCI enumeration (i.e. Option ROM). |
| 354 | |
| 355 | coreboot native implementation to skip FSP Notify Phase (Post PCI enumeration) |
| 356 | is still WIP. |
| 357 | |
| 358 | config USE_FSP_NOTIFY_PHASE_READY_TO_BOOT |
| 359 | bool |
| 360 | help |
| 361 | The FSP API is used to notify the FSP about different phases in the boot process. |
| 362 | The current FSP specification supports three notify phases: |
| 363 | - Post PCI enumeration |
| 364 | - Ready to Boot |
| 365 | - End of Firmware |
| 366 | This option allows FSP to execute Notify Phase API (Ready to Boot). |
| 367 | SoC users can override this config to use coreboot native implementations |
Subrata Banik | e8feab0 | 2021-12-27 10:25:55 +0000 | [diff] [blame] | 368 | to perform the required lock down and chipset register configuration prior |
| 369 | boot to payload. |
| 370 | |
Subrata Banik | 34f26b2 | 2022-02-10 12:38:02 +0530 | [diff] [blame] | 371 | config USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE |
Subrata Banik | e8feab0 | 2021-12-27 10:25:55 +0000 | [diff] [blame] | 372 | bool |
| 373 | help |
| 374 | The FSP API is used to notify the FSP about different phases in the boot process. |
| 375 | The current FSP specification supports three notify phases: |
| 376 | - Post PCI enumeration |
| 377 | - Ready to Boot |
| 378 | - End of Firmware |
Subrata Banik | 34f26b2 | 2022-02-10 12:38:02 +0530 | [diff] [blame] | 379 | This option allows FSP to execute Notify Phase API (End of Firmware). |
| 380 | SoC users can override this config to use coreboot native implementations |
| 381 | to perform the required lock down and chipset register configuration prior |
| 382 | boot to payload. |
Subrata Banik | e8feab0 | 2021-12-27 10:25:55 +0000 | [diff] [blame] | 383 | |
Subrata Banik | 3ba6f8c | 2022-03-23 03:22:28 +0530 | [diff] [blame] | 384 | config FSP_USES_CB_DEBUG_EVENT_HANDLER |
| 385 | bool |
| 386 | default n |
| 387 | help |
| 388 | This option allows to create `Debug Event Handler` to print FSP debug messages |
| 389 | to output device using coreboot native implementation. |
| 390 | |
Subrata Banik | 6de1d9f | 2022-03-20 19:50:38 +0530 | [diff] [blame] | 391 | config DISPLAY_FSP_TIMESTAMPS |
| 392 | bool "Display FSP Timestamps" |
| 393 | default n |
| 394 | help |
| 395 | Select this config to retrieve FSP timestamps from Firmware Performance Data Table |
| 396 | (FPDT) and display from ramstage after FSP-S is executed. |
| 397 | |
| 398 | To be able to use this, FSP has to be compiled with `PcdFspPerformanceEnable` set to |
| 399 | `TRUE`. |
| 400 | |
Subrata Banik | 9bc5b00 | 2022-04-06 18:41:25 +0000 | [diff] [blame] | 401 | config FSP_ENABLE_SERIAL_DEBUG |
| 402 | bool "Output FSP debug messages on serial console" |
| 403 | default y |
| 404 | depends on FSP_USES_CB_DEBUG_EVENT_HANDLER |
| 405 | help |
| 406 | Output FSP debug messages on serial console. |
| 407 | |
| 408 | The config option is selected based on your FSP configuration i.e., debug or |
| 409 | release. Enable this option from site-local to print FSP serial messages using |
| 410 | coreboot native debug driver when coreboot has integrated the debug FSP |
| 411 | binaries. coreboot disables serial messages when this config is not enabled. |
| 412 | |
Johnny Lin | 55bc2d3 | 2022-06-13 14:05:43 +0800 | [diff] [blame] | 413 | config SAVE_MRC_AFTER_FSPS |
| 414 | bool |
| 415 | default n |
| 416 | depends on XEON_SP_COMMON_BASE |
| 417 | help |
| 418 | Save MRC training data after FSP-S. Select this on platforms that generate MRC |
| 419 | cache HOB data as part of FSP-S rather than FSP-M. |
| 420 | |
Subrata Banik | da7d00e | 2023-04-26 16:31:56 +0530 | [diff] [blame] | 421 | config FSP_MULTIPHASE_SI_INIT_RETURN_BROKEN |
| 422 | bool |
| 423 | default n |
| 424 | depends on PLATFORM_USES_FSP2_2 |
| 425 | help |
| 426 | Select this config for Intel SoC platform where FSP MultiPhaseSiInit API is unable |
| 427 | to return ERROR status properly. |
| 428 | |
| 429 | The config option will be selected based on the target SoC platform and if the |
| 430 | problem existed inside the FSP MultiPhaseSiInit. At present the problem has only |
| 431 | reported with Alder Lake and Raptor Lake FSP where MultiPhaseSiInit API is unable |
| 432 | to return any ERROR status. |
| 433 | |
Andrey Petrov | 9be1a11 | 2016-05-14 16:32:39 -0700 | [diff] [blame] | 434 | endif |