blob: 194b775bb0ab7e0ba3b32ac0aebe61e30b65d48f [file] [log] [blame]
Felix Held3c44c622022-01-10 20:57:29 +01001# SPDX-License-Identifier: GPL-2.0-only
2
Ritul Gurud3dae3d2022-04-04 13:33:01 +05303config SOC_AMD_REMBRANDT_BASE
4 bool
Felix Held3c44c622022-01-10 20:57:29 +01005 select ACPI_SOC_NVS
Matt DeVillier6dadf7f2023-09-01 09:29:14 -05006 select ADD_FSP_BINARIES if USE_AMD_BLOBS
Felix Held3c44c622022-01-10 20:57:29 +01007 select ARCH_X86
8 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Karthikeyan Ramasubramanianb9a62232023-02-23 15:53:59 -07009 select CACHE_MRC_SETTINGS
Felix Held3c44c622022-01-10 20:57:29 +010010 select DRIVERS_USB_ACPI
Felix Held3c44c622022-01-10 20:57:29 +010011 select DRIVERS_USB_PCI_XHCI
12 select FSP_COMPRESS_FSP_M_LZMA if !ASYNC_FILE_LOADING
13 select FSP_COMPRESS_FSP_M_LZ4 if ASYNC_FILE_LOADING
14 select FSP_COMPRESS_FSP_S_LZ4
15 select GENERIC_GPIO_LIB
16 select HAVE_ACPI_TABLES
17 select HAVE_CF9_RESET
18 select HAVE_EM100_SUPPORT
19 select HAVE_FSP_GOP
Karthikeyan Ramasubramanian93cf2f12023-10-13 16:18:56 +000020 select HAVE_FSP_LOGO_SUPPORT if RUN_FSP_GOP
Felix Held3c44c622022-01-10 20:57:29 +010021 select HAVE_SMI_HANDLER
22 select IDT_IN_EVERY_STAGE
23 select PARALLEL_MP_AP_WORK
24 select PLATFORM_USES_FSP2_0
25 select PROVIDES_ROM_SHARING
Karthikeyan Ramasubramanianef129762022-12-22 13:07:28 -070026 select PSP_INCLUDES_HSP
Karthikeyan Ramasubramanian8ebb04c2022-07-14 17:29:06 -060027 select PSP_SUPPORTS_EFS2_RELATIVE_ADDR if VBOOT_STARTS_BEFORE_BOOTBLOCK
Karthikeyan Ramasubramanianb2af2e32022-08-04 14:16:38 -060028 select PSP_VERSTAGE_CCP_DMA if VBOOT_STARTS_BEFORE_BOOTBLOCK
Felix Held3c44c622022-01-10 20:57:29 +010029 select RESET_VECTOR_IN_RAM
30 select RTC
31 select SOC_AMD_COMMON
Fred Reitberger81d3cde2022-02-10 09:31:26 -050032 select SOC_AMD_COMMON_BLOCK_ACP_GEN2
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050033 select SOC_AMD_COMMON_BLOCK_ACPI
Felix Held70f32bb2022-02-04 16:23:47 +010034 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held9ab8a782023-07-14 18:44:13 +020035 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_PM_IO_ACCESS
Tim Van Patten92443582022-08-23 16:06:33 -060036 select SOC_AMD_COMMON_BLOCK_ACPI_ALIB
Felix Held665476d2022-08-03 22:18:18 +020037 select SOC_AMD_COMMON_BLOCK_ACPI_CPPC
Felix Helde23c4252023-03-07 00:03:46 +010038 select SOC_AMD_COMMON_BLOCK_ACPI_CPU_POWER_STATE
Felix Heldaf803a62022-06-22 18:22:16 +020039 select SOC_AMD_COMMON_BLOCK_ACPI_GPIO
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050040 select SOC_AMD_COMMON_BLOCK_ACPI_IVRS
Felix Heldaab8a222024-01-08 23:30:38 +010041 select SOC_AMD_COMMON_BLOCK_ACPI_MADT
Felix Held716ccb72022-02-03 18:27:29 +010042 select SOC_AMD_COMMON_BLOCK_AOAC
Fred Reitberger8b570bd2022-09-06 12:19:38 -040043 select SOC_AMD_COMMON_BLOCK_APOB
44 select SOC_AMD_COMMON_BLOCK_APOB_HASH
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050045 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
Felix Helda63f8592023-03-24 16:30:55 +010046 select SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM17H_19H
Matt DeVillier37cae5c2023-07-28 14:51:15 -050047 select SOC_AMD_COMMON_BLOCK_CPU_SYNC_PSP_ADDR_MSR
Felix Held75739d32022-02-03 18:44:27 +010048 select SOC_AMD_COMMON_BLOCK_DATA_FABRIC
Felix Helda4f4b0a2023-05-31 16:21:35 +020049 select SOC_AMD_COMMON_BLOCK_DATA_FABRIC_DOMAIN
Felix Heldd6326972023-09-15 22:40:02 +020050 select SOC_AMD_COMMON_BLOCK_DATA_FABRIC_NP_REGION
Felix Heldc64f37d2022-02-12 17:30:59 +010051 select SOC_AMD_COMMON_BLOCK_ESPI_EXTENDED_DECODE_RANGES
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050052 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Felix Heldc64f37d2022-02-12 17:30:59 +010053 select SOC_AMD_COMMON_BLOCK_HAS_ESPI
Raul E Rangel5a5de332022-04-25 13:33:50 -060054 select SOC_AMD_COMMON_BLOCK_HAS_ESPI_ALERT_ENABLE
Felix Held8e4742d2022-02-03 15:15:37 +010055 select SOC_AMD_COMMON_BLOCK_I2C
Felix Held3bdbdb72022-02-02 22:55:34 +010056 select SOC_AMD_COMMON_BLOCK_I23C_PAD_CTRL
Felix Held0eef54b2022-02-04 19:28:51 +010057 select SOC_AMD_COMMON_BLOCK_IOMMU
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050058 select SOC_AMD_COMMON_BLOCK_LPC
Karthikeyan Ramasubramanian5d5f6822022-12-05 17:08:08 -070059 select SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA
Felix Held901481f2022-06-22 15:38:44 +020060 select SOC_AMD_COMMON_BLOCK_MCAX
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050061 select SOC_AMD_COMMON_BLOCK_NONCAR
62 select SOC_AMD_COMMON_BLOCK_PCI
Felix Heldceefc742022-02-07 15:27:27 +010063 select SOC_AMD_COMMON_BLOCK_PCI_MMCONF
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050064 select SOC_AMD_COMMON_BLOCK_PCIE_GPP_DRIVER
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050065 select SOC_AMD_COMMON_BLOCK_PM
66 select SOC_AMD_COMMON_BLOCK_PM_CHIPSET_STATE_SAVE
67 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Felix Held51d1f302023-10-04 21:10:36 +020068 select SOC_AMD_COMMON_BLOCK_PSP_SPL
Martin Roth440c8232023-02-01 14:27:18 -070069 select SOC_AMD_COMMON_BLOCK_RESET
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050070 select SOC_AMD_COMMON_BLOCK_SMBUS
71 select SOC_AMD_COMMON_BLOCK_SMI
72 select SOC_AMD_COMMON_BLOCK_SMM
Felix Held6f9e4ab2022-02-03 18:34:23 +010073 select SOC_AMD_COMMON_BLOCK_SMU
Felix Held7a2c1c72023-01-12 23:11:22 +010074 select SOC_AMD_COMMON_BLOCK_SMU_SX_ENTRY
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050075 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth300338f2022-10-14 14:55:25 -060076 select SOC_AMD_COMMON_BLOCK_STB
Felix Held23a398e2023-03-23 23:44:03 +010077 select SOC_AMD_COMMON_BLOCK_SVI3
Felix Held60df7ca2023-03-24 20:33:15 +010078 select SOC_AMD_COMMON_BLOCK_TSC
Felix Heldb0789ed2022-02-04 22:36:32 +010079 select SOC_AMD_COMMON_BLOCK_UART
Felix Heldd9bb9fc2022-06-22 15:35:35 +020080 select SOC_AMD_COMMON_BLOCK_UCODE
Robert Zieba3b28aef2022-09-15 15:25:55 -060081 select SOC_AMD_COMMON_BLOCK_XHCI
Felix Held665476d2022-08-03 22:18:18 +020082 select SOC_AMD_COMMON_FSP_CCX_CPPC_HOB
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050083 select SOC_AMD_COMMON_FSP_DMI_TABLES
84 select SOC_AMD_COMMON_FSP_PCI
Matt DeVillier6bb0f8a2023-11-13 20:57:12 -060085 select SOC_AMD_COMMON_FSP_PCIE_CLK_REQ
Fred Reitberger41c7e312023-01-11 15:11:08 -050086 select SOC_AMD_COMMON_FSP_PRELOAD_FSPS
Felix Heldce60fb12024-01-18 20:42:54 +010087 select SOC_AMD_COMMON_ROMSTAGE_LEGACY_DMA_FIXUP
Felix Held3c44c622022-01-10 20:57:29 +010088 select SSE2
89 select UDK_2017_BINDING
Martin Rothbcb610a2022-10-29 13:31:54 -060090 select USE_DDR5
Subrata Banik34f26b22022-02-10 12:38:02 +053091 select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
92 select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT
93 select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
Felix Held3c44c622022-01-10 20:57:29 +010094 select VBOOT_DEFINE_WIDEVINE_COUNTERS if VBOOT_STARTS_BEFORE_BOOTBLOCK
Matt DeVillier65a44452023-02-16 09:57:40 -060095 select VBOOT_MUST_REQUEST_DISPLAY if VBOOT
Karthikeyan Ramasubramanian06d5b8b2022-10-27 22:50:07 -060096 select VBOOT_X86_SHA256_ACCELERATION if VBOOT
Felix Held3c44c622022-01-10 20:57:29 +010097 select X86_AMD_FIXED_MTRRS
98 select X86_INIT_NEED_1_SIPI
99
Elyes Haouas3cd06cc2023-01-05 07:42:24 +0100100config SOC_AMD_MENDOCINO
101 bool
102 select SOC_AMD_REMBRANDT_BASE
103 help
104 AMD Mendocino support
105
106config SOC_AMD_REMBRANDT
107 bool
108 select SOC_AMD_REMBRANDT_BASE
109 help
110 AMD Rembrandt support
111
112
113if SOC_AMD_REMBRANDT_BASE
114
Felix Held3c44c622022-01-10 20:57:29 +0100115config CHIPSET_DEVICETREE
116 string
Jon Murphy4f732422022-08-05 15:43:44 -0600117 default "soc/amd/mendocino/chipset_mendocino.cb" if SOC_AMD_MENDOCINO
118 default "soc/amd/mendocino/chipset_rembrandt.cb"
Felix Held3c44c622022-01-10 20:57:29 +0100119
Matt DeVillier6dadf7f2023-09-01 09:29:14 -0500120config FSP_M_FILE
121 string "FSP-M (memory init) binary path and filename"
122 depends on ADD_FSP_BINARIES
123 default "3rdparty/amd_blobs/mendocino/MENDOCINO_M.fd" if SOC_AMD_MENDOCINO
124 help
125 The path and filename of the FSP-M binary for this platform.
126
127config FSP_S_FILE
128 string "FSP-S (silicon init) binary path and filename"
129 depends on ADD_FSP_BINARIES
130 default "3rdparty/amd_blobs/mendocino/MENDOCINO_S.fd" if SOC_AMD_MENDOCINO
131 help
132 The path and filename of the FSP-S binary for this platform.
133
Felix Held3c44c622022-01-10 20:57:29 +0100134config EARLY_RESERVED_DRAM_BASE
135 hex
136 default 0x2000000
137 help
138 This variable defines the base address of the DRAM which is reserved
139 for usage by coreboot in early stages (i.e. before ramstage is up).
140 This memory gets reserved in BIOS tables to ensure that the OS does
141 not use it, thus preventing corruption of OS memory in case of S3
142 resume.
143
144config EARLYRAM_BSP_STACK_SIZE
145 hex
146 default 0x1000
147
148config PSP_APOB_DRAM_ADDRESS
149 hex
150 default 0x2001000
151 help
152 Location in DRAM where the PSP will copy the AGESA PSP Output
153 Block.
154
Fred Reitberger475e2822022-07-14 11:06:30 -0400155config PSP_APOB_DRAM_SIZE
156 hex
Fred Reitbergerfdb07582022-07-15 08:05:56 -0400157 default 0x1E000
Fred Reitberger475e2822022-07-14 11:06:30 -0400158
Felix Held3c44c622022-01-10 20:57:29 +0100159config PSP_SHAREDMEM_BASE
160 hex
Fred Reitbergerfdb07582022-07-15 08:05:56 -0400161 default 0x201F000 if VBOOT
Felix Held3c44c622022-01-10 20:57:29 +0100162 default 0x0
163 help
164 This variable defines the base address in DRAM memory where PSP copies
165 the vboot workbuf. This is used in the linker script to have a static
166 allocation for the buffer as well as for adding relevant entries in
167 the BIOS directory table for the PSP.
168
169config PSP_SHAREDMEM_SIZE
170 hex
171 default 0x8000 if VBOOT
172 default 0x0
173 help
174 Sets the maximum size for the PSP to pass the vboot workbuf and
175 any logs or timestamps back to coreboot. This will be copied
176 into main memory by the PSP and will be available when the x86 is
177 started. The workbuf's base depends on the address of the reset
178 vector.
179
Felix Held55614682022-01-25 04:31:15 +0100180config PRE_X86_CBMEM_CONSOLE_SIZE
181 hex
Karthikeyan Ramasubramanian4763a5a42022-11-17 23:07:28 -0700182 default 0x1000
Felix Held55614682022-01-25 04:31:15 +0100183 help
184 Size of the CBMEM console used in PSP verstage.
185
Felix Held3c44c622022-01-10 20:57:29 +0100186config PRERAM_CBMEM_CONSOLE_SIZE
187 hex
188 default 0x1600
189 help
190 Increase this value if preram cbmem console is getting truncated
191
192config CBFS_MCACHE_SIZE
193 hex
Karthikeyan Ramasubramanian4763a5a42022-11-17 23:07:28 -0700194 default 0x3800 if VBOOT_STARTS_BEFORE_BOOTBLOCK
Felix Held3c44c622022-01-10 20:57:29 +0100195
196config C_ENV_BOOTBLOCK_SIZE
197 hex
198 default 0x10000
199 help
200 Sets the size of the bootblock stage that should be loaded in DRAM.
201 This variable controls the DRAM allocation size in linker script
202 for bootblock stage.
203
204config ROMSTAGE_ADDR
205 hex
206 default 0x2040000
207 help
208 Sets the address in DRAM where romstage should be loaded.
209
210config ROMSTAGE_SIZE
211 hex
212 default 0x80000
213 help
214 Sets the size of DRAM allocation for romstage in linker script.
215
216config FSP_M_ADDR
217 hex
218 default 0x20C0000
219 help
220 Sets the address in DRAM where FSP-M should be loaded. cbfstool
221 performs relocation of FSP-M to this address.
222
223config FSP_M_SIZE
224 hex
225 default 0xC0000
226 help
227 Sets the size of DRAM allocation for FSP-M in linker script.
228
229config FSP_TEMP_RAM_SIZE
230 hex
231 default 0x40000
232 help
233 The amount of coreboot-allocated heap and stack usage by the FSP.
234
235config VERSTAGE_ADDR
236 hex
237 depends on VBOOT_SEPARATE_VERSTAGE
238 default 0x2180000
239 help
240 Sets the address in DRAM where verstage should be loaded if running
241 as a separate stage on x86.
242
243config VERSTAGE_SIZE
244 hex
245 depends on VBOOT_SEPARATE_VERSTAGE
246 default 0x80000
247 help
248 Sets the size of DRAM allocation for verstage in linker script if
249 running as a separate stage on x86.
250
251config ASYNC_FILE_LOADING
252 bool "Loads files from SPI asynchronously"
253 select COOP_MULTITASKING
254 select SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA
255 select CBFS_PRELOAD
256 help
257 When enabled, the platform will use the LPC SPI DMA controller to
258 asynchronously load contents from the SPI ROM. This will improve
259 boot time because the CPUs can be performing useful work while the
260 SPI contents are being preloaded.
261
262config CBFS_CACHE_SIZE
263 hex
Karthikeyan Ramasubramaniane4fd7dc2023-04-10 17:46:41 -0600264 default 0x40000 if CBFS_PRELOAD || SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA
Felix Held3c44c622022-01-10 20:57:29 +0100265
Felix Held3c44c622022-01-10 20:57:29 +0100266config RO_REGION_ONLY
267 string
268 depends on VBOOT_SLOTS_RW_AB || VBOOT_SLOTS_RW_A
269 default "apu/amdfw"
270
271config ECAM_MMCONF_BASE_ADDRESS
272 default 0xF8000000
273
274config ECAM_MMCONF_BUS_NUMBER
275 default 64
276
277config MAX_CPUS
278 int
Jon Murphy4f732422022-08-05 15:43:44 -0600279 default 8 if SOC_AMD_MENDOCINO
Ritul Gurud3dae3d2022-04-04 13:33:01 +0530280 default 16
Felix Held3c44c622022-01-10 20:57:29 +0100281 help
282 Maximum number of threads the platform can have.
283
Felix Helde68ddc72023-02-14 23:02:09 +0100284config VGA_BIOS_ID
285 string
286 default "1002,1506" if SOC_AMD_MENDOCINO
287 help
288 The default VGA BIOS PCI vendor/device ID of the GPU and VBIOS.
289
290config VGA_BIOS_FILE
291 string
292 default "3rdparty/amd_blobs/mendocino/MdnGenericVbios.bin" if SOC_AMD_MENDOCINO
293
Felix Held3c44c622022-01-10 20:57:29 +0100294config CONSOLE_UART_BASE_ADDRESS
295 depends on CONSOLE_SERIAL && AMD_SOC_CONSOLE_UART
296 hex
297 default 0xfedc9000 if UART_FOR_CONSOLE = 0
298 default 0xfedca000 if UART_FOR_CONSOLE = 1
Felix Heldb1fe9de2022-01-12 23:18:54 +0100299 default 0xfedce000 if UART_FOR_CONSOLE = 2
300 default 0xfedcf000 if UART_FOR_CONSOLE = 3
301 default 0xfedd1000 if UART_FOR_CONSOLE = 4
Felix Held3c44c622022-01-10 20:57:29 +0100302
303config SMM_TSEG_SIZE
304 hex
305 default 0x800000 if HAVE_SMI_HANDLER
306 default 0x0
307
308config SMM_RESERVED_SIZE
309 hex
310 default 0x180000
311
312config SMM_MODULE_STACK_SIZE
313 hex
314 default 0x800
315
316config ACPI_BERT
317 bool "Build ACPI BERT Table"
318 default y
319 depends on HAVE_ACPI_TABLES
320 help
321 Report Machine Check errors identified in POST to the OS in an
322 ACPI Boot Error Record Table.
323
324config ACPI_BERT_SIZE
325 hex
326 default 0x4000 if ACPI_BERT
327 default 0x0
328 help
329 Specify the amount of DRAM reserved for gathering the data used to
330 generate the ACPI table.
331
332config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
333 int
334 default 150
335
336config DISABLE_SPI_FLASH_ROM_SHARING
337 def_bool n
338 help
339 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
340 which indicates a board level ROM transaction request. This
341 removes arbitration with board and assumes the chipset controls
342 the SPI flash bus entirely.
343
344config DISABLE_KEYBOARD_RESET_PIN
345 bool
346 help
Martin Roth9ceac742023-02-08 14:26:02 -0700347 Instruct the SoC to not to reset based on the state of GPIO_21, KBDRST_L.
Felix Held3c44c622022-01-10 20:57:29 +0100348
Chris.Wang9ac09842022-12-13 14:31:38 +0800349config FEATURE_DYNAMIC_DPTC
350 bool
351 depends on SOC_AMD_COMMON_BLOCK_ACPI_DPTC
352 help
353 Selected by mainboards that implement support for ALIB
354 to enable dynamic DPTC.
355
356config FEATURE_TABLET_MODE_DPTC
357 bool
358 depends on SOC_AMD_COMMON_BLOCK_ACPI_DPTC
359 help
360 Selected by mainboards that implement support for ALIB to
361 switch default and tablet mode.
362
Felix Held3c44c622022-01-10 20:57:29 +0100363menu "PSP Configuration Options"
364
Felix Held3c44c622022-01-10 20:57:29 +0100365config AMDFW_CONFIG_FILE
Karthikeyan Ramasubramanian9cb0a052022-03-21 17:49:11 -0600366 string "AMD PSP Firmware config file"
Jon Murphy4f732422022-08-05 15:43:44 -0600367 default "src/soc/amd/mendocino/fw.cfg"
Karthikeyan Ramasubramanian9cb0a052022-03-21 17:49:11 -0600368 help
369 Specify the path/location of AMD PSP Firmware config file.
Felix Held3c44c622022-01-10 20:57:29 +0100370
371config PSP_DISABLE_POSTCODES
372 bool "Disable PSP post codes"
373 help
374 Disables the output of port80 post codes from PSP.
375
376config PSP_POSTCODES_ON_ESPI
377 bool "Use eSPI bus for PSP post codes"
378 default y
379 depends on !PSP_DISABLE_POSTCODES
380 help
381 Select to send PSP port80 post codes on eSPI bus.
382 If not selected, PSP port80 codes will be sent on LPC bus.
383
384config PSP_LOAD_MP2_FW
385 bool
386 default n
387 help
388 Include the MP2 firmwares and configuration into the PSP build.
389
390 If unsure, answer 'n'
391
392config PSP_UNLOCK_SECURE_DEBUG
393 bool "Unlock secure debug"
394 default y
395 help
396 Select this item to enable secure debug options in PSP.
397
398config HAVE_PSP_WHITELIST_FILE
399 bool "Include a debug whitelist file in PSP build"
400 default n
401 help
402 Support secured unlock prior to reset using a whitelisted
403 serial number. This feature requires a signed whitelist image
404 and bootloader from AMD.
405
406 If unsure, answer 'n'
407
408config PSP_WHITELIST_FILE
409 string "Debug whitelist file path"
410 depends on HAVE_PSP_WHITELIST_FILE
Marshall Dawson84fef892022-08-05 12:13:49 -0600411 default "site-local/3rdparty/amd_blobs/mendocino/PSP/wtl-mdn.sbin"
Felix Held3c44c622022-01-10 20:57:29 +0100412
413config PSP_SOFTFUSE_BITS
414 string "PSP Soft Fuse bits to enable"
Felix Helded694502022-06-22 15:09:23 +0200415 default "34 28 6"
Felix Held3c44c622022-01-10 20:57:29 +0100416 help
417 Space separated list of Soft Fuse bits to enable.
418 Bit 0: Enable secure debug (Set by PSP_UNLOCK_SECURE_DEBUG)
419 Bit 7: Disable PSP postcodes on Renoir and newer chips only
420 (Set by PSP_DISABLE_PORT80)
Felix Heldc3579002022-03-23 22:15:56 +0100421 Bit 15: PSP debug output destination:
422 0=SoC MMIO UART, 1=IO port 0x3F8
Felix Held3c44c622022-01-10 20:57:29 +0100423 Bit 29: Disable MP2 firmware loading (Set by PSP_LOAD_MP2_FW)
424
425 See #55758 (NDA) for additional bit definitions.
426
427config PSP_VERSTAGE_FILE
428 string "Specify the PSP_verstage file path"
429 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
430 default "\$(obj)/psp_verstage.bin"
431 help
432 Add psp_verstage file to the build & PSP Directory Table
433
434config PSP_VERSTAGE_SIGNING_TOKEN
435 string "Specify the PSP_verstage Signature Token file path"
436 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
437 default ""
438 help
439 Add psp_verstage signature token to the build & PSP Directory Table
440
441endmenu
442
443config VBOOT
444 select VBOOT_VBNV_CMOS
445 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
446
447config VBOOT_STARTS_BEFORE_BOOTBLOCK
448 def_bool n
449 depends on VBOOT
450 select ARCH_VERSTAGE_ARMV7
451 help
452 Runs verstage on the PSP. Only available on
Jon Murphyc4e90452022-06-28 10:36:23 -0600453 certain ChromeOS branded parts from AMD.
Felix Held3c44c622022-01-10 20:57:29 +0100454
455config VBOOT_HASH_BLOCK_SIZE
456 hex
457 default 0x9000
458 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
459 help
460 Because the bulk of the time in psp_verstage to hash the RO cbfs is
461 spent in the overhead of doing svc calls, increasing the hash block
462 size significantly cuts the verstage hashing time as seen below.
463
464 4k takes 180ms
465 16k takes 44ms
466 32k takes 33.7ms
467 36k takes 32.5ms
468 There's actually still room for an even bigger stack, but we've
469 reached a point of diminishing returns.
470
471config CMOS_RECOVERY_BYTE
472 hex
473 default 0x51
474 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
475 help
476 If the workbuf is not passed from the PSP to coreboot, set the
477 recovery flag and reboot. The PSP will read this byte, mark the
478 recovery request in VBNV, and reset the system into recovery mode.
479
480 This is the byte before the default first byte used by VBNV
481 (0x26 + 0x0E - 1)
482
Matt DeVillierf9fea862022-10-04 16:41:28 -0500483if VBOOT_SLOTS_RW_A && VBOOT_STARTS_BEFORE_BOOTBLOCK
Felix Held3c44c622022-01-10 20:57:29 +0100484
485config RWA_REGION_ONLY
486 string
Karthikeyan Ramasubramanian716c8f02022-12-15 14:57:05 -0700487 default "apu/amdfw_a apu/amdfw_a_body"
Felix Held3c44c622022-01-10 20:57:29 +0100488 help
489 Add a space-delimited list of filenames that should only be in the
490 RW-A section.
491
Matt DeVillierf9fea862022-10-04 16:41:28 -0500492endif # VBOOT_SLOTS_RW_A && VBOOT_STARTS_BEFORE_BOOTBLOCK
493
494if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
495
Felix Held3c44c622022-01-10 20:57:29 +0100496config RWB_REGION_ONLY
497 string
Karthikeyan Ramasubramanian716c8f02022-12-15 14:57:05 -0700498 default "apu/amdfw_b apu/amdfw_b_body"
Felix Held3c44c622022-01-10 20:57:29 +0100499 help
500 Add a space-delimited list of filenames that should only be in the
501 RW-B section.
502
503endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
504
Ritul Gurud3dae3d2022-04-04 13:33:01 +0530505endif # SOC_AMD_REMBRANDT_BASE