blob: 189c6b9be96562f3463f2e8a1f7e0e3cd8fdd627 [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
Felix Held3c44c622022-01-10 20:57:29 +01006 select ARCH_X86
7 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Karthikeyan Ramasubramanianb9a62232023-02-23 15:53:59 -07008 select CACHE_MRC_SETTINGS
Felix Held3c44c622022-01-10 20:57:29 +01009 select DRIVERS_USB_ACPI
Felix Held3c44c622022-01-10 20:57:29 +010010 select DRIVERS_USB_PCI_XHCI
11 select FSP_COMPRESS_FSP_M_LZMA if !ASYNC_FILE_LOADING
12 select FSP_COMPRESS_FSP_M_LZ4 if ASYNC_FILE_LOADING
13 select FSP_COMPRESS_FSP_S_LZ4
14 select GENERIC_GPIO_LIB
15 select HAVE_ACPI_TABLES
16 select HAVE_CF9_RESET
17 select HAVE_EM100_SUPPORT
18 select HAVE_FSP_GOP
19 select HAVE_SMI_HANDLER
20 select IDT_IN_EVERY_STAGE
21 select PARALLEL_MP_AP_WORK
22 select PLATFORM_USES_FSP2_0
23 select PROVIDES_ROM_SHARING
Karthikeyan Ramasubramanianef129762022-12-22 13:07:28 -070024 select PSP_INCLUDES_HSP
Karthikeyan Ramasubramanian8ebb04c2022-07-14 17:29:06 -060025 select PSP_SUPPORTS_EFS2_RELATIVE_ADDR if VBOOT_STARTS_BEFORE_BOOTBLOCK
Karthikeyan Ramasubramanianb2af2e32022-08-04 14:16:38 -060026 select PSP_VERSTAGE_CCP_DMA if VBOOT_STARTS_BEFORE_BOOTBLOCK
Felix Held3c44c622022-01-10 20:57:29 +010027 select RESET_VECTOR_IN_RAM
28 select RTC
29 select SOC_AMD_COMMON
Fred Reitberger81d3cde2022-02-10 09:31:26 -050030 select SOC_AMD_COMMON_BLOCK_ACP_GEN2
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050031 select SOC_AMD_COMMON_BLOCK_ACPI
Felix Held70f32bb2022-02-04 16:23:47 +010032 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held9ab8a782023-07-14 18:44:13 +020033 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_PM_IO_ACCESS
Tim Van Patten92443582022-08-23 16:06:33 -060034 select SOC_AMD_COMMON_BLOCK_ACPI_ALIB
Felix Held665476d2022-08-03 22:18:18 +020035 select SOC_AMD_COMMON_BLOCK_ACPI_CPPC
Felix Helde23c4252023-03-07 00:03:46 +010036 select SOC_AMD_COMMON_BLOCK_ACPI_CPU_POWER_STATE
Felix Heldaf803a62022-06-22 18:22:16 +020037 select SOC_AMD_COMMON_BLOCK_ACPI_GPIO
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050038 select SOC_AMD_COMMON_BLOCK_ACPI_IVRS
Felix Held716ccb72022-02-03 18:27:29 +010039 select SOC_AMD_COMMON_BLOCK_AOAC
Fred Reitberger8b570bd2022-09-06 12:19:38 -040040 select SOC_AMD_COMMON_BLOCK_APOB
41 select SOC_AMD_COMMON_BLOCK_APOB_HASH
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050042 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
Felix Helda63f8592023-03-24 16:30:55 +010043 select SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM17H_19H
Matt DeVillier37cae5c2023-07-28 14:51:15 -050044 select SOC_AMD_COMMON_BLOCK_CPU_SYNC_PSP_ADDR_MSR
Felix Held75739d32022-02-03 18:44:27 +010045 select SOC_AMD_COMMON_BLOCK_DATA_FABRIC
Felix Helda4f4b0a2023-05-31 16:21:35 +020046 select SOC_AMD_COMMON_BLOCK_DATA_FABRIC_DOMAIN
Felix Heldc64f37d2022-02-12 17:30:59 +010047 select SOC_AMD_COMMON_BLOCK_ESPI_EXTENDED_DECODE_RANGES
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050048 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Felix Heldc64f37d2022-02-12 17:30:59 +010049 select SOC_AMD_COMMON_BLOCK_HAS_ESPI
Raul E Rangel5a5de332022-04-25 13:33:50 -060050 select SOC_AMD_COMMON_BLOCK_HAS_ESPI_ALERT_ENABLE
Felix Held8e4742d2022-02-03 15:15:37 +010051 select SOC_AMD_COMMON_BLOCK_I2C
Felix Held3bdbdb72022-02-02 22:55:34 +010052 select SOC_AMD_COMMON_BLOCK_I23C_PAD_CTRL
Felix Held0eef54b2022-02-04 19:28:51 +010053 select SOC_AMD_COMMON_BLOCK_IOMMU
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050054 select SOC_AMD_COMMON_BLOCK_LPC
Karthikeyan Ramasubramanian5d5f6822022-12-05 17:08:08 -070055 select SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA
Felix Held901481f2022-06-22 15:38:44 +020056 select SOC_AMD_COMMON_BLOCK_MCAX
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050057 select SOC_AMD_COMMON_BLOCK_NONCAR
58 select SOC_AMD_COMMON_BLOCK_PCI
Felix Heldceefc742022-02-07 15:27:27 +010059 select SOC_AMD_COMMON_BLOCK_PCI_MMCONF
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050060 select SOC_AMD_COMMON_BLOCK_PCIE_GPP_DRIVER
Robert Ziebab3b27f72022-10-03 14:50:55 -060061 select SOC_AMD_COMMON_BLOCK_PCIE_CLK_REQ
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050062 select SOC_AMD_COMMON_BLOCK_PM
63 select SOC_AMD_COMMON_BLOCK_PM_CHIPSET_STATE_SAVE
64 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Martin Roth440c8232023-02-01 14:27:18 -070065 select SOC_AMD_COMMON_BLOCK_RESET
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050066 select SOC_AMD_COMMON_BLOCK_SMBUS
67 select SOC_AMD_COMMON_BLOCK_SMI
68 select SOC_AMD_COMMON_BLOCK_SMM
Felix Held6f9e4ab2022-02-03 18:34:23 +010069 select SOC_AMD_COMMON_BLOCK_SMU
Felix Held7a2c1c72023-01-12 23:11:22 +010070 select SOC_AMD_COMMON_BLOCK_SMU_SX_ENTRY
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050071 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth300338f2022-10-14 14:55:25 -060072 select SOC_AMD_COMMON_BLOCK_STB
Felix Held23a398e2023-03-23 23:44:03 +010073 select SOC_AMD_COMMON_BLOCK_SVI3
Felix Held60df7ca2023-03-24 20:33:15 +010074 select SOC_AMD_COMMON_BLOCK_TSC
Felix Heldb0789ed2022-02-04 22:36:32 +010075 select SOC_AMD_COMMON_BLOCK_UART
Felix Heldd9bb9fc2022-06-22 15:35:35 +020076 select SOC_AMD_COMMON_BLOCK_UCODE
Robert Zieba3b28aef2022-09-15 15:25:55 -060077 select SOC_AMD_COMMON_BLOCK_XHCI
Felix Held665476d2022-08-03 22:18:18 +020078 select SOC_AMD_COMMON_FSP_CCX_CPPC_HOB
Fred Reitbergerb77f9a32023-01-06 10:46:23 -050079 select SOC_AMD_COMMON_FSP_DMI_TABLES
80 select SOC_AMD_COMMON_FSP_PCI
Fred Reitberger41c7e312023-01-11 15:11:08 -050081 select SOC_AMD_COMMON_FSP_PRELOAD_FSPS
Felix Held3c44c622022-01-10 20:57:29 +010082 select SSE2
83 select UDK_2017_BINDING
Martin Rothbcb610a2022-10-29 13:31:54 -060084 select USE_DDR5
Subrata Banik34f26b22022-02-10 12:38:02 +053085 select USE_FSP_NOTIFY_PHASE_POST_PCI_ENUM
86 select USE_FSP_NOTIFY_PHASE_READY_TO_BOOT
87 select USE_FSP_NOTIFY_PHASE_END_OF_FIRMWARE
Felix Held3c44c622022-01-10 20:57:29 +010088 select VBOOT_DEFINE_WIDEVINE_COUNTERS if VBOOT_STARTS_BEFORE_BOOTBLOCK
Matt DeVillier65a44452023-02-16 09:57:40 -060089 select VBOOT_MUST_REQUEST_DISPLAY if VBOOT
Karthikeyan Ramasubramanian06d5b8b2022-10-27 22:50:07 -060090 select VBOOT_X86_SHA256_ACCELERATION if VBOOT
Felix Held3c44c622022-01-10 20:57:29 +010091 select X86_AMD_FIXED_MTRRS
92 select X86_INIT_NEED_1_SIPI
93
Elyes Haouas3cd06cc2023-01-05 07:42:24 +010094config SOC_AMD_MENDOCINO
95 bool
96 select SOC_AMD_REMBRANDT_BASE
97 help
98 AMD Mendocino support
99
100config SOC_AMD_REMBRANDT
101 bool
102 select SOC_AMD_REMBRANDT_BASE
103 help
104 AMD Rembrandt support
105
106
107if SOC_AMD_REMBRANDT_BASE
108
Felix Held3c44c622022-01-10 20:57:29 +0100109config CHIPSET_DEVICETREE
110 string
Jon Murphy4f732422022-08-05 15:43:44 -0600111 default "soc/amd/mendocino/chipset_mendocino.cb" if SOC_AMD_MENDOCINO
112 default "soc/amd/mendocino/chipset_rembrandt.cb"
Felix Held3c44c622022-01-10 20:57:29 +0100113
114config EARLY_RESERVED_DRAM_BASE
115 hex
116 default 0x2000000
117 help
118 This variable defines the base address of the DRAM which is reserved
119 for usage by coreboot in early stages (i.e. before ramstage is up).
120 This memory gets reserved in BIOS tables to ensure that the OS does
121 not use it, thus preventing corruption of OS memory in case of S3
122 resume.
123
124config EARLYRAM_BSP_STACK_SIZE
125 hex
126 default 0x1000
127
128config PSP_APOB_DRAM_ADDRESS
129 hex
130 default 0x2001000
131 help
132 Location in DRAM where the PSP will copy the AGESA PSP Output
133 Block.
134
Fred Reitberger475e2822022-07-14 11:06:30 -0400135config PSP_APOB_DRAM_SIZE
136 hex
Fred Reitbergerfdb07582022-07-15 08:05:56 -0400137 default 0x1E000
Fred Reitberger475e2822022-07-14 11:06:30 -0400138
Felix Held3c44c622022-01-10 20:57:29 +0100139config PSP_SHAREDMEM_BASE
140 hex
Fred Reitbergerfdb07582022-07-15 08:05:56 -0400141 default 0x201F000 if VBOOT
Felix Held3c44c622022-01-10 20:57:29 +0100142 default 0x0
143 help
144 This variable defines the base address in DRAM memory where PSP copies
145 the vboot workbuf. This is used in the linker script to have a static
146 allocation for the buffer as well as for adding relevant entries in
147 the BIOS directory table for the PSP.
148
149config PSP_SHAREDMEM_SIZE
150 hex
151 default 0x8000 if VBOOT
152 default 0x0
153 help
154 Sets the maximum size for the PSP to pass the vboot workbuf and
155 any logs or timestamps back to coreboot. This will be copied
156 into main memory by the PSP and will be available when the x86 is
157 started. The workbuf's base depends on the address of the reset
158 vector.
159
Felix Held55614682022-01-25 04:31:15 +0100160config PRE_X86_CBMEM_CONSOLE_SIZE
161 hex
Karthikeyan Ramasubramanian4763a5a42022-11-17 23:07:28 -0700162 default 0x1000
Felix Held55614682022-01-25 04:31:15 +0100163 help
164 Size of the CBMEM console used in PSP verstage.
165
Felix Held3c44c622022-01-10 20:57:29 +0100166config PRERAM_CBMEM_CONSOLE_SIZE
167 hex
168 default 0x1600
169 help
170 Increase this value if preram cbmem console is getting truncated
171
172config CBFS_MCACHE_SIZE
173 hex
Karthikeyan Ramasubramanian4763a5a42022-11-17 23:07:28 -0700174 default 0x3800 if VBOOT_STARTS_BEFORE_BOOTBLOCK
Felix Held3c44c622022-01-10 20:57:29 +0100175
176config C_ENV_BOOTBLOCK_SIZE
177 hex
178 default 0x10000
179 help
180 Sets the size of the bootblock stage that should be loaded in DRAM.
181 This variable controls the DRAM allocation size in linker script
182 for bootblock stage.
183
184config ROMSTAGE_ADDR
185 hex
186 default 0x2040000
187 help
188 Sets the address in DRAM where romstage should be loaded.
189
190config ROMSTAGE_SIZE
191 hex
192 default 0x80000
193 help
194 Sets the size of DRAM allocation for romstage in linker script.
195
196config FSP_M_ADDR
197 hex
198 default 0x20C0000
199 help
200 Sets the address in DRAM where FSP-M should be loaded. cbfstool
201 performs relocation of FSP-M to this address.
202
203config FSP_M_SIZE
204 hex
205 default 0xC0000
206 help
207 Sets the size of DRAM allocation for FSP-M in linker script.
208
209config FSP_TEMP_RAM_SIZE
210 hex
211 default 0x40000
212 help
213 The amount of coreboot-allocated heap and stack usage by the FSP.
214
215config VERSTAGE_ADDR
216 hex
217 depends on VBOOT_SEPARATE_VERSTAGE
218 default 0x2180000
219 help
220 Sets the address in DRAM where verstage should be loaded if running
221 as a separate stage on x86.
222
223config VERSTAGE_SIZE
224 hex
225 depends on VBOOT_SEPARATE_VERSTAGE
226 default 0x80000
227 help
228 Sets the size of DRAM allocation for verstage in linker script if
229 running as a separate stage on x86.
230
231config ASYNC_FILE_LOADING
232 bool "Loads files from SPI asynchronously"
233 select COOP_MULTITASKING
234 select SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA
235 select CBFS_PRELOAD
236 help
237 When enabled, the platform will use the LPC SPI DMA controller to
238 asynchronously load contents from the SPI ROM. This will improve
239 boot time because the CPUs can be performing useful work while the
240 SPI contents are being preloaded.
241
242config CBFS_CACHE_SIZE
243 hex
Karthikeyan Ramasubramaniane4fd7dc2023-04-10 17:46:41 -0600244 default 0x40000 if CBFS_PRELOAD || SOC_AMD_COMMON_BLOCK_LPC_SPI_DMA
Felix Held3c44c622022-01-10 20:57:29 +0100245
Felix Held3c44c622022-01-10 20:57:29 +0100246config RO_REGION_ONLY
247 string
248 depends on VBOOT_SLOTS_RW_AB || VBOOT_SLOTS_RW_A
249 default "apu/amdfw"
250
251config ECAM_MMCONF_BASE_ADDRESS
252 default 0xF8000000
253
254config ECAM_MMCONF_BUS_NUMBER
255 default 64
256
257config MAX_CPUS
258 int
Jon Murphy4f732422022-08-05 15:43:44 -0600259 default 8 if SOC_AMD_MENDOCINO
Ritul Gurud3dae3d2022-04-04 13:33:01 +0530260 default 16
Felix Held3c44c622022-01-10 20:57:29 +0100261 help
262 Maximum number of threads the platform can have.
263
Felix Helde68ddc72023-02-14 23:02:09 +0100264config VGA_BIOS_ID
265 string
266 default "1002,1506" if SOC_AMD_MENDOCINO
267 help
268 The default VGA BIOS PCI vendor/device ID of the GPU and VBIOS.
269
270config VGA_BIOS_FILE
271 string
272 default "3rdparty/amd_blobs/mendocino/MdnGenericVbios.bin" if SOC_AMD_MENDOCINO
273
Felix Held3c44c622022-01-10 20:57:29 +0100274config CONSOLE_UART_BASE_ADDRESS
275 depends on CONSOLE_SERIAL && AMD_SOC_CONSOLE_UART
276 hex
277 default 0xfedc9000 if UART_FOR_CONSOLE = 0
278 default 0xfedca000 if UART_FOR_CONSOLE = 1
Felix Heldb1fe9de2022-01-12 23:18:54 +0100279 default 0xfedce000 if UART_FOR_CONSOLE = 2
280 default 0xfedcf000 if UART_FOR_CONSOLE = 3
281 default 0xfedd1000 if UART_FOR_CONSOLE = 4
Felix Held3c44c622022-01-10 20:57:29 +0100282
283config SMM_TSEG_SIZE
284 hex
285 default 0x800000 if HAVE_SMI_HANDLER
286 default 0x0
287
288config SMM_RESERVED_SIZE
289 hex
290 default 0x180000
291
292config SMM_MODULE_STACK_SIZE
293 hex
294 default 0x800
295
296config ACPI_BERT
297 bool "Build ACPI BERT Table"
298 default y
299 depends on HAVE_ACPI_TABLES
300 help
301 Report Machine Check errors identified in POST to the OS in an
302 ACPI Boot Error Record Table.
303
304config ACPI_BERT_SIZE
305 hex
306 default 0x4000 if ACPI_BERT
307 default 0x0
308 help
309 Specify the amount of DRAM reserved for gathering the data used to
310 generate the ACPI table.
311
312config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
313 int
314 default 150
315
316config DISABLE_SPI_FLASH_ROM_SHARING
317 def_bool n
318 help
319 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
320 which indicates a board level ROM transaction request. This
321 removes arbitration with board and assumes the chipset controls
322 the SPI flash bus entirely.
323
324config DISABLE_KEYBOARD_RESET_PIN
325 bool
326 help
Martin Roth9ceac742023-02-08 14:26:02 -0700327 Instruct the SoC to not to reset based on the state of GPIO_21, KBDRST_L.
Felix Held3c44c622022-01-10 20:57:29 +0100328
Chris.Wang9ac09842022-12-13 14:31:38 +0800329config FEATURE_DYNAMIC_DPTC
330 bool
331 depends on SOC_AMD_COMMON_BLOCK_ACPI_DPTC
332 help
333 Selected by mainboards that implement support for ALIB
334 to enable dynamic DPTC.
335
336config FEATURE_TABLET_MODE_DPTC
337 bool
338 depends on SOC_AMD_COMMON_BLOCK_ACPI_DPTC
339 help
340 Selected by mainboards that implement support for ALIB to
341 switch default and tablet mode.
342
Felix Held3c44c622022-01-10 20:57:29 +0100343menu "PSP Configuration Options"
344
345config AMD_FWM_POSITION_INDEX
346 int "Firmware Directory Table location (0 to 5)"
347 range 0 5
348 default 0 if BOARD_ROMSIZE_KB_512
349 default 1 if BOARD_ROMSIZE_KB_1024
350 default 2 if BOARD_ROMSIZE_KB_2048
351 default 3 if BOARD_ROMSIZE_KB_4096
352 default 4 if BOARD_ROMSIZE_KB_8192
353 default 5 if BOARD_ROMSIZE_KB_16384
354 help
355 Typically this is calculated by the ROM size, but there may
356 be situations where you want to put the firmware directory
357 table in a different location.
358 0: 512 KB - 0xFFFA0000
359 1: 1 MB - 0xFFF20000
360 2: 2 MB - 0xFFE20000
361 3: 4 MB - 0xFFC20000
362 4: 8 MB - 0xFF820000
363 5: 16 MB - 0xFF020000
364
365comment "AMD Firmware Directory Table set to location for 512KB ROM"
366 depends on AMD_FWM_POSITION_INDEX = 0
367comment "AMD Firmware Directory Table set to location for 1MB ROM"
368 depends on AMD_FWM_POSITION_INDEX = 1
369comment "AMD Firmware Directory Table set to location for 2MB ROM"
370 depends on AMD_FWM_POSITION_INDEX = 2
371comment "AMD Firmware Directory Table set to location for 4MB ROM"
372 depends on AMD_FWM_POSITION_INDEX = 3
373comment "AMD Firmware Directory Table set to location for 8MB ROM"
374 depends on AMD_FWM_POSITION_INDEX = 4
375comment "AMD Firmware Directory Table set to location for 16MB ROM"
376 depends on AMD_FWM_POSITION_INDEX = 5
377
378config AMDFW_CONFIG_FILE
Karthikeyan Ramasubramanian9cb0a052022-03-21 17:49:11 -0600379 string "AMD PSP Firmware config file"
Jon Murphy4f732422022-08-05 15:43:44 -0600380 default "src/soc/amd/mendocino/fw.cfg"
Karthikeyan Ramasubramanian9cb0a052022-03-21 17:49:11 -0600381 help
382 Specify the path/location of AMD PSP Firmware config file.
Felix Held3c44c622022-01-10 20:57:29 +0100383
384config PSP_DISABLE_POSTCODES
385 bool "Disable PSP post codes"
386 help
387 Disables the output of port80 post codes from PSP.
388
389config PSP_POSTCODES_ON_ESPI
390 bool "Use eSPI bus for PSP post codes"
391 default y
392 depends on !PSP_DISABLE_POSTCODES
393 help
394 Select to send PSP port80 post codes on eSPI bus.
395 If not selected, PSP port80 codes will be sent on LPC bus.
396
397config PSP_LOAD_MP2_FW
398 bool
399 default n
400 help
401 Include the MP2 firmwares and configuration into the PSP build.
402
403 If unsure, answer 'n'
404
405config PSP_UNLOCK_SECURE_DEBUG
406 bool "Unlock secure debug"
407 default y
408 help
409 Select this item to enable secure debug options in PSP.
410
411config HAVE_PSP_WHITELIST_FILE
412 bool "Include a debug whitelist file in PSP build"
413 default n
414 help
415 Support secured unlock prior to reset using a whitelisted
416 serial number. This feature requires a signed whitelist image
417 and bootloader from AMD.
418
419 If unsure, answer 'n'
420
421config PSP_WHITELIST_FILE
422 string "Debug whitelist file path"
423 depends on HAVE_PSP_WHITELIST_FILE
Marshall Dawson84fef892022-08-05 12:13:49 -0600424 default "site-local/3rdparty/amd_blobs/mendocino/PSP/wtl-mdn.sbin"
Felix Held3c44c622022-01-10 20:57:29 +0100425
Karthikeyan Ramasubramanian8ee94292022-04-01 17:21:14 -0600426config HAVE_SPL_FILE
427 bool "Have a mainboard specific SPL table file"
428 default n
429 help
430 Have a mainboard specific Security Patch Level (SPL) table file. SPL file
431 is required to support PSP FW anti-rollback and needs to be created by AMD.
432 The default SPL file applies to all boards that use the concerned SoC and
433 is dropped under 3rdparty/blobs. The mainboard specific SPL file override
434 can be applied through SPL_TABLE_FILE config.
435
436 If unsure, answer 'n'
437
438config SPL_TABLE_FILE
439 string "SPL table file"
440 depends on HAVE_SPL_FILE
Marshall Dawson26d7d732022-08-05 12:44:03 -0600441 default "3rdparty/blobs/mainboard/\$(CONFIG_MAINBOARD_DIR)/TypeId0x55_SplTableBl_MDN.sbin"
Karthikeyan Ramasubramanian8ee94292022-04-01 17:21:14 -0600442
Felix Held40a38cc2022-09-12 16:18:45 +0200443config HAVE_SPL_RW_AB_FILE
444 bool "Have a separate mainboard-specific SPL file in RW A/B partitions"
445 default n
446 depends on HAVE_SPL_FILE
447 depends on VBOOT_SLOTS_RW_AB
448 help
449 Have separate mainboard-specific Security Patch Level (SPL) table
450 file for the RW A/B FMAP partitions. See the help text of
451 HAVE_SPL_FILE for a more detailed description.
452
453config SPL_RW_AB_TABLE_FILE
454 string "Separate SPL table file for RW A/B partitions"
455 depends on HAVE_SPL_RW_AB_FILE
456 default "3rdparty/blobs/mainboard/\$(CONFIG_MAINBOARD_DIR)/TypeId0x55_SplTableBl_MDN.sbin"
457
Felix Held3c44c622022-01-10 20:57:29 +0100458config PSP_SOFTFUSE_BITS
459 string "PSP Soft Fuse bits to enable"
Felix Helded694502022-06-22 15:09:23 +0200460 default "34 28 6"
Felix Held3c44c622022-01-10 20:57:29 +0100461 help
462 Space separated list of Soft Fuse bits to enable.
463 Bit 0: Enable secure debug (Set by PSP_UNLOCK_SECURE_DEBUG)
464 Bit 7: Disable PSP postcodes on Renoir and newer chips only
465 (Set by PSP_DISABLE_PORT80)
Felix Heldc3579002022-03-23 22:15:56 +0100466 Bit 15: PSP debug output destination:
467 0=SoC MMIO UART, 1=IO port 0x3F8
Felix Held3c44c622022-01-10 20:57:29 +0100468 Bit 29: Disable MP2 firmware loading (Set by PSP_LOAD_MP2_FW)
469
470 See #55758 (NDA) for additional bit definitions.
471
472config PSP_VERSTAGE_FILE
473 string "Specify the PSP_verstage file path"
474 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
475 default "\$(obj)/psp_verstage.bin"
476 help
477 Add psp_verstage file to the build & PSP Directory Table
478
479config PSP_VERSTAGE_SIGNING_TOKEN
480 string "Specify the PSP_verstage Signature Token file path"
481 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
482 default ""
483 help
484 Add psp_verstage signature token to the build & PSP Directory Table
485
486endmenu
487
488config VBOOT
489 select VBOOT_VBNV_CMOS
490 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
491
492config VBOOT_STARTS_BEFORE_BOOTBLOCK
493 def_bool n
494 depends on VBOOT
495 select ARCH_VERSTAGE_ARMV7
496 help
497 Runs verstage on the PSP. Only available on
Jon Murphyc4e90452022-06-28 10:36:23 -0600498 certain ChromeOS branded parts from AMD.
Felix Held3c44c622022-01-10 20:57:29 +0100499
500config VBOOT_HASH_BLOCK_SIZE
501 hex
502 default 0x9000
503 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
504 help
505 Because the bulk of the time in psp_verstage to hash the RO cbfs is
506 spent in the overhead of doing svc calls, increasing the hash block
507 size significantly cuts the verstage hashing time as seen below.
508
509 4k takes 180ms
510 16k takes 44ms
511 32k takes 33.7ms
512 36k takes 32.5ms
513 There's actually still room for an even bigger stack, but we've
514 reached a point of diminishing returns.
515
516config CMOS_RECOVERY_BYTE
517 hex
518 default 0x51
519 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
520 help
521 If the workbuf is not passed from the PSP to coreboot, set the
522 recovery flag and reboot. The PSP will read this byte, mark the
523 recovery request in VBNV, and reset the system into recovery mode.
524
525 This is the byte before the default first byte used by VBNV
526 (0x26 + 0x0E - 1)
527
Matt DeVillierf9fea862022-10-04 16:41:28 -0500528if VBOOT_SLOTS_RW_A && VBOOT_STARTS_BEFORE_BOOTBLOCK
Felix Held3c44c622022-01-10 20:57:29 +0100529
530config RWA_REGION_ONLY
531 string
Karthikeyan Ramasubramanian716c8f02022-12-15 14:57:05 -0700532 default "apu/amdfw_a apu/amdfw_a_body"
Felix Held3c44c622022-01-10 20:57:29 +0100533 help
534 Add a space-delimited list of filenames that should only be in the
535 RW-A section.
536
Matt DeVillierf9fea862022-10-04 16:41:28 -0500537endif # VBOOT_SLOTS_RW_A && VBOOT_STARTS_BEFORE_BOOTBLOCK
538
539if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
540
Felix Held3c44c622022-01-10 20:57:29 +0100541config RWB_REGION_ONLY
542 string
Karthikeyan Ramasubramanian716c8f02022-12-15 14:57:05 -0700543 default "apu/amdfw_b apu/amdfw_b_body"
Felix Held3c44c622022-01-10 20:57:29 +0100544 help
545 Add a space-delimited list of filenames that should only be in the
546 RW-B section.
547
548endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
549
Ritul Gurud3dae3d2022-04-04 13:33:01 +0530550endif # SOC_AMD_REMBRANDT_BASE