blob: 4bfd093d85eb7c625937da10761ea9beecca4a15 [file] [log] [blame]
Felix Held4a8cd722020-04-18 22:26:39 +02001# SPDX-License-Identifier: GPL-2.0-only
Martin Roth5c354b92019-04-22 14:55:16 -06002
Martin Roth1f337622019-04-22 16:08:31 -06003config SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -06004 bool
5 help
Martin Roth1f337622019-04-22 16:08:31 -06006 AMD Picasso support
Martin Roth5c354b92019-04-22 14:55:16 -06007
Martin Roth1f337622019-04-22 16:08:31 -06008if SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -06009
10config CPU_SPECIFIC_OPTIONS
11 def_bool y
12 select ARCH_BOOTBLOCK_X86_32
Martin Rothc7acf162020-05-28 00:44:50 -060013 select ARCH_VERSTAGE_X86_32 if !VBOOT_STARTS_BEFORE_BOOTBLOCK
Martin Roth5c354b92019-04-22 14:55:16 -060014 select ARCH_ROMSTAGE_X86_32
15 select ARCH_RAMSTAGE_X86_32
Felix Held46673222020-04-04 02:37:04 +020016 select RESET_VECTOR_IN_RAM
Martin Roth5c354b92019-04-22 14:55:16 -060017 select X86_AMD_FIXED_MTRRS
Marshall Dawson34c30562019-07-16 15:18:00 -060018 select X86_AMD_INIT_SIPI
Kyösti Mälkki3139c8d2020-06-28 16:33:33 +030019 select ACPI_SOC_NVS
Martin Roth5c354b92019-04-22 14:55:16 -060020 select DRIVERS_I2C_DESIGNWARE
Raul E Rangel0357ab72020-07-09 12:08:58 -060021 select DRIVERS_USB_PCI_XHCI
Martin Roth5c354b92019-04-22 14:55:16 -060022 select GENERIC_GPIO_LIB
Furquan Shaikh8e915092020-06-17 23:15:35 -070023 select IDT_IN_EVERY_STAGE
Martin Roth5c354b92019-04-22 14:55:16 -060024 select IOAPIC
Felix Helde697fd92021-01-18 15:10:43 +010025 select HAVE_ACPI_TABLES
Furquan Shaikh0eabe132020-04-28 21:57:07 -070026 select HAVE_EM100_SUPPORT
Martin Roth5c354b92019-04-22 14:55:16 -060027 select SOC_AMD_COMMON
Karthikeyan Ramasubramanian4520aa22021-04-23 11:42:19 -060028 select SOC_AMD_COMMON_BLOCK_ACP
Felix Held33c548b2021-01-27 20:34:24 +010029 select SOC_AMD_COMMON_BLOCK_ACPI
30 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held18b51e92021-05-08 01:30:30 +020031 select SOC_AMD_COMMON_BLOCK_ACPI_ALIB
Eric Lai65b0afe2021-04-09 11:50:48 +080032 select SOC_AMD_COMMON_BLOCK_ACPI_GPIO
Felix Held33c548b2021-01-27 20:34:24 +010033 select SOC_AMD_COMMON_BLOCK_AOAC
Felix Held21c46c02021-03-05 00:13:16 +010034 select SOC_AMD_COMMON_BLOCK_APOB
Felix Held33c548b2021-01-27 20:34:24 +010035 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
Felix Helddba3fe72021-02-13 01:05:56 +010036 select SOC_AMD_COMMON_BLOCK_DATA_FABRIC
Felix Held33c548b2021-01-27 20:34:24 +010037 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Furquan Shaikh702cf302020-05-09 18:30:51 -070038 select SOC_AMD_COMMON_BLOCK_HAS_ESPI
Martin Roth5c354b92019-04-22 14:55:16 -060039 select SOC_AMD_COMMON_BLOCK_HDA
Karthikeyan Ramasubramanian0dbea482021-03-08 23:23:50 -070040 select SOC_AMD_COMMON_BLOCK_I2C
Felix Held33c548b2021-01-27 20:34:24 +010041 select SOC_AMD_COMMON_BLOCK_IOMMU
42 select SOC_AMD_COMMON_BLOCK_LPC
43 select SOC_AMD_COMMON_BLOCK_NONCAR
44 select SOC_AMD_COMMON_BLOCK_PCI
Raul E Rangel48314112021-05-10 14:55:11 -060045 select SOC_AMD_COMMON_BLOCK_PCIE_GPP_DRIVER
Felix Held0d2c0012021-04-12 23:44:14 +020046 select SOC_AMD_COMMON_BLOCK_PM
47 select SOC_AMD_COMMON_BLOCK_PM_CHIPSET_STATE_SAVE
Felix Held33c548b2021-01-27 20:34:24 +010048 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Martin Roth5c354b92019-04-22 14:55:16 -060049 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070050 select SOC_AMD_COMMON_BLOCK_SMBUS
Felix Held161d8092020-12-01 18:17:42 +010051 select SOC_AMD_COMMON_BLOCK_SMI
Felix Heldbc134812021-02-10 02:26:10 +010052 select SOC_AMD_COMMON_BLOCK_SMM
Felix Held60a46432020-11-12 00:14:16 +010053 select SOC_AMD_COMMON_BLOCK_SMU
Felix Held33c548b2021-01-27 20:34:24 +010054 select SOC_AMD_COMMON_BLOCK_SPI
Felix Held2f5c7592020-12-04 17:31:10 +010055 select SOC_AMD_COMMON_BLOCK_TSC_FAM17H_19H
Felix Held6f8f9c92020-12-09 21:36:56 +010056 select SOC_AMD_COMMON_BLOCK_UART
Raul E Rangel394c6b02021-02-12 14:37:43 -070057 select SOC_AMD_COMMON_BLOCK_UCODE
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060058 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060059 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060060 select PARALLEL_MP
61 select PARALLEL_MP_AP_WORK
62 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060063 select SSE2
64 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070065 select PLATFORM_USES_FSP2_0
Furquan Shaikhc3063c52020-05-28 11:58:20 -070066 select FSP_COMPRESS_FSP_M_LZMA
67 select FSP_COMPRESS_FSP_S_LZMA
Marshall Dawson00a22082020-01-20 23:05:31 -070068 select UDK_2017_BINDING
69 select HAVE_CF9_RESET
Raul E Rangel394c6b02021-02-12 14:37:43 -070070
71config SOC_AMD_COMMON_BLOCK_UCODE_SIZE
72 default 3200
Martin Roth5c354b92019-04-22 14:55:16 -060073
Felix Held3cc3d812020-06-17 16:16:08 +020074config FSP_M_FILE
75 string "FSP-M (memory init) binary path and filename"
76 depends on ADD_FSP_BINARIES
77 default "3rdparty/amd_blobs/picasso/PICASSO_M.fd"
78 help
79 The path and filename of the FSP-M binary for this platform.
80
81config FSP_S_FILE
82 string "FSP-S (silicon init) binary path and filename"
83 depends on ADD_FSP_BINARIES
84 default "3rdparty/amd_blobs/picasso/PICASSO_S.fd"
85 help
86 The path and filename of the FSP-S binary for this platform.
87
Furquan Shaikhbc456502020-06-10 16:37:23 -070088config EARLY_RESERVED_DRAM_BASE
89 hex
90 default 0x2000000
91 help
92 This variable defines the base address of the DRAM which is reserved
93 for usage by coreboot in early stages (i.e. before ramstage is up).
94 This memory gets reserved in BIOS tables to ensure that the OS does
95 not use it, thus preventing corruption of OS memory in case of S3
96 resume.
97
98config EARLYRAM_BSP_STACK_SIZE
99 hex
100 default 0x1000
101
102config PSP_APOB_DRAM_ADDRESS
103 hex
104 default 0x2001000
105 help
106 Location in DRAM where the PSP will copy the AGESA PSP Output
107 Block.
108
109config PSP_SHAREDMEM_BASE
110 hex
111 default 0x2011000 if VBOOT
112 default 0x0
113 help
114 This variable defines the base address in DRAM memory where PSP copies
Kangheui Won6b36c832021-04-21 14:48:14 +1000115 the vboot workbuf. This is used in the linker script to have a static
Furquan Shaikhbc456502020-06-10 16:37:23 -0700116 allocation for the buffer as well as for adding relevant entries in
Kangheui Won6b36c832021-04-21 14:48:14 +1000117 the BIOS directory table for the PSP.
Furquan Shaikhbc456502020-06-10 16:37:23 -0700118
119config PSP_SHAREDMEM_SIZE
120 hex
121 default 0x8000 if VBOOT
122 default 0x0
123 help
124 Sets the maximum size for the PSP to pass the vboot workbuf and
125 any logs or timestamps back to coreboot. This will be copied
126 into main memory by the PSP and will be available when the x86 is
127 started. The workbuf's base depends on the address of the reset
128 vector.
129
Martin Roth5c354b92019-04-22 14:55:16 -0600130config PRERAM_CBMEM_CONSOLE_SIZE
131 hex
132 default 0x1600
133 help
134 Increase this value if preram cbmem console is getting truncated
135
Kangheui Won4020aa72021-05-20 09:56:39 +1000136config CBFS_MCACHE_SIZE
137 hex
138 default 0x2000 if VBOOT_STARTS_BEFORE_BOOTBLOCK
139
Furquan Shaikhbc456502020-06-10 16:37:23 -0700140config C_ENV_BOOTBLOCK_SIZE
141 hex
142 default 0x10000
143 help
144 Sets the size of the bootblock stage that should be loaded in DRAM.
145 This variable controls the DRAM allocation size in linker script
146 for bootblock stage.
147
Furquan Shaikhbc456502020-06-10 16:37:23 -0700148config ROMSTAGE_ADDR
149 hex
150 default 0x2040000
151 help
152 Sets the address in DRAM where romstage should be loaded.
153
154config ROMSTAGE_SIZE
155 hex
156 default 0x80000
157 help
158 Sets the size of DRAM allocation for romstage in linker script.
159
160config FSP_M_ADDR
161 hex
162 default 0x20C0000
163 help
164 Sets the address in DRAM where FSP-M should be loaded. cbfstool
165 performs relocation of FSP-M to this address.
166
167config FSP_M_SIZE
168 hex
169 default 0x80000
170 help
171 Sets the size of DRAM allocation for FSP-M in linker script.
172
173config VERSTAGE_ADDR
174 hex
175 depends on VBOOT_SEPARATE_VERSTAGE
176 default 0x2140000
177 help
178 Sets the address in DRAM where verstage should be loaded if running
179 as a separate stage on x86.
180
181config VERSTAGE_SIZE
182 hex
183 depends on VBOOT_SEPARATE_VERSTAGE
184 default 0x80000
185 help
186 Sets the size of DRAM allocation for verstage in linker script if
187 running as a separate stage on x86.
188
189config RAMBASE
190 hex
191 default 0x10000000
192
Martin Roth5c354b92019-04-22 14:55:16 -0600193config CPU_ADDR_BITS
194 int
195 default 48
196
Martin Roth5c354b92019-04-22 14:55:16 -0600197config MMCONF_BASE_ADDRESS
Martin Roth5c354b92019-04-22 14:55:16 -0600198 default 0xF8000000
199
200config MMCONF_BUS_NUMBER
Martin Roth5c354b92019-04-22 14:55:16 -0600201 default 64
202
Raul E Rangel5f52c0e2020-05-13 13:22:48 -0600203config VERSTAGE_ADDR
204 hex
205 default 0x4000000
206
Felix Held1032d222020-11-04 16:19:35 +0100207config MAX_CPUS
208 int
209 default 8
Felix Heldb77387f2021-04-23 22:16:04 +0200210 help
211 Maximum number of threads the platform can have.
Felix Held1032d222020-11-04 16:19:35 +0100212
Martin Roth5c354b92019-04-22 14:55:16 -0600213config VGA_BIOS_ID
214 string
Martin Roth86ba0d72020-02-05 16:46:30 -0700215 default "1002,15d8,c1"
Martin Roth5c354b92019-04-22 14:55:16 -0600216 help
217 The default VGA BIOS PCI vendor/device ID should be set to the
Martin Roth86ba0d72020-02-05 16:46:30 -0700218 result of the map_oprom_vendev_rev() function in northbridge.c.
Martin Roth5c354b92019-04-22 14:55:16 -0600219
220config VGA_BIOS_FILE
221 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600222 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600223
Martin Roth86ba0d72020-02-05 16:46:30 -0700224config VGA_BIOS_SECOND
225 def_bool y
226
227config VGA_BIOS_SECOND_ID
228 string
229 default "1002,15dd,c4"
230 help
231 Because Dali and Picasso need different video BIOSes, but have the
232 same vendor/device IDs, we need an alternate method to determine the
233 correct video BIOS. In map_oprom_vendev_rev(), we look at the cpuid
234 and decide which rom to load.
235
236 Even though the hardware has the same vendor/device IDs, the vBIOS
237 contains a *different* device ID, confusing the situation even more.
238
239config VGA_BIOS_SECOND_FILE
240 string
241 default "3rdparty/amd_blobs/picasso/Raven2GenericVbios.bin"
242
243config CHECK_REV_IN_OPROM_NAME
244 bool
245 default y
246 help
247 Select this in the platform BIOS or chipset if the option rom has a
248 revision that needs to be checked when searching CBFS.
249
Martin Roth5c354b92019-04-22 14:55:16 -0600250config S3_VGA_ROM_RUN
251 bool
252 default n
253
254config HEAP_SIZE
255 hex
256 default 0xc0000
257
Martin Roth5c354b92019-04-22 14:55:16 -0600258config SERIRQ_CONTINUOUS_MODE
259 bool
260 default n
261 help
262 Set this option to y for serial IRQ in continuous mode.
263 Otherwise it is in quiet mode.
264
Felix Helde7382992021-01-12 23:05:56 +0100265config CONSOLE_UART_BASE_ADDRESS
266 depends on CONSOLE_SERIAL && AMD_SOC_CONSOLE_UART
267 hex
268 default 0xfedc9000 if UART_FOR_CONSOLE = 0
269 default 0xfedca000 if UART_FOR_CONSOLE = 1
270 default 0xfedc3000 if UART_FOR_CONSOLE = 2
271 default 0xfedcf000 if UART_FOR_CONSOLE = 3
272
Martin Roth5c354b92019-04-22 14:55:16 -0600273config SMM_TSEG_SIZE
274 hex
Felix Helde22eef72021-02-10 22:22:07 +0100275 default 0x800000 if HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -0600276 default 0x0
277
278config SMM_RESERVED_SIZE
279 hex
Marshall Dawson3e2fabf2020-06-12 10:28:04 -0600280 default 0x180000
Martin Roth5c354b92019-04-22 14:55:16 -0600281
282config SMM_MODULE_STACK_SIZE
283 hex
284 default 0x800
285
286config ACPI_CPU_STRING
287 string
Jason Gleneskf2a59a42020-08-10 00:58:37 -0700288 default "\\_SB.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600289
290config ACPI_BERT
291 bool "Build ACPI BERT Table"
292 default y
293 depends on HAVE_ACPI_TABLES
294 help
295 Report Machine Check errors identified in POST to the OS in an
Marshall Dawson03743b72020-06-18 10:23:48 -0600296 ACPI Boot Error Record Table.
Martin Roth5c354b92019-04-22 14:55:16 -0600297
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700298config ACPI_BERT_SIZE
299 hex
Marshall Dawson03743b72020-06-18 10:23:48 -0600300 default 0x4000 if ACPI_BERT
301 default 0x0
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700302 help
303 Specify the amount of DRAM reserved for gathering the data used to
304 generate the ACPI table.
305
Jason Gleneskbc521432020-09-14 05:22:47 -0700306config ACPI_SSDT_PSD_INDEPENDENT
307 bool "Allow core p-state independent transitions"
308 default y
309 help
310 AMD recommends the ACPI _PSD object to be configured to cause
311 cores to transition between p-states independently. A vendor may
312 choose to generate _PSD object to allow cores to transition together.
313
Furquan Shaikh40a38882020-05-01 10:43:48 -0700314config CHROMEOS
Rob Barnes5ac928d2020-07-07 16:16:12 -0600315 select ALWAYS_LOAD_OPROM
316 select ALWAYS_RUN_OPROM
Furquan Shaikh40a38882020-05-01 10:43:48 -0700317
Marshall Dawson62611412019-06-19 11:46:06 -0600318config RO_REGION_ONLY
319 string
320 depends on CHROMEOS
321 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600322
Marshall Dawson62611412019-06-19 11:46:06 -0600323config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
324 int
Martin Roth4017de02019-12-16 23:21:05 -0700325 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600326
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600327config DISABLE_SPI_FLASH_ROM_SHARING
328 def_bool n
329 help
330 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
331 which indicates a board level ROM transaction request. This
332 removes arbitration with board and assumes the chipset controls
333 the SPI flash bus entirely.
334
Felix Held27b295b2021-03-25 01:20:41 +0100335config DISABLE_KEYBOARD_RESET_PIN
336 bool
337 help
338 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
339 signal. When this pin is used as GPIO and the keyboard reset
340 functionality isn't disabled, configuring it as an output and driving
341 it as 0 will cause a reset.
342
Marshall Dawson00a22082020-01-20 23:05:31 -0700343config FSP_TEMP_RAM_SIZE
344 hex
Marshall Dawson00a22082020-01-20 23:05:31 -0700345 default 0x40000
346 help
347 The amount of coreboot-allocated heap and stack usage by the FSP.
348
Marshall Dawson62611412019-06-19 11:46:06 -0600349menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600350
Martin Roth5c354b92019-04-22 14:55:16 -0600351config AMD_FWM_POSITION_INDEX
352 int "Firmware Directory Table location (0 to 5)"
353 range 0 5
354 default 0 if BOARD_ROMSIZE_KB_512
355 default 1 if BOARD_ROMSIZE_KB_1024
356 default 2 if BOARD_ROMSIZE_KB_2048
357 default 3 if BOARD_ROMSIZE_KB_4096
358 default 4 if BOARD_ROMSIZE_KB_8192
359 default 5 if BOARD_ROMSIZE_KB_16384
360 help
361 Typically this is calculated by the ROM size, but there may
362 be situations where you want to put the firmware directory
363 table in a different location.
364 0: 512 KB - 0xFFFA0000
365 1: 1 MB - 0xFFF20000
366 2: 2 MB - 0xFFE20000
367 3: 4 MB - 0xFFC20000
368 4: 8 MB - 0xFF820000
369 5: 16 MB - 0xFF020000
370
371comment "AMD Firmware Directory Table set to location for 512KB ROM"
372 depends on AMD_FWM_POSITION_INDEX = 0
373comment "AMD Firmware Directory Table set to location for 1MB ROM"
374 depends on AMD_FWM_POSITION_INDEX = 1
375comment "AMD Firmware Directory Table set to location for 2MB ROM"
376 depends on AMD_FWM_POSITION_INDEX = 2
377comment "AMD Firmware Directory Table set to location for 4MB ROM"
378 depends on AMD_FWM_POSITION_INDEX = 3
379comment "AMD Firmware Directory Table set to location for 8MB ROM"
380 depends on AMD_FWM_POSITION_INDEX = 4
381comment "AMD Firmware Directory Table set to location for 16MB ROM"
382 depends on AMD_FWM_POSITION_INDEX = 5
383
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800384config AMDFW_CONFIG_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700385 string
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800386 default "src/soc/amd/picasso/fw.cfg"
Martin Roth5c354b92019-04-22 14:55:16 -0600387
Marshall Dawson62611412019-06-19 11:46:06 -0600388config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700389 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700390 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600391 help
392 Include the MP2 firmwares and configuration into the PSP build.
393
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700394 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600395
396config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700397 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700398 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600399 help
400 Select this item to include the S0i3 file into the PSP build.
401
402config HAVE_PSP_WHITELIST_FILE
403 bool "Include a debug whitelist file in PSP build"
404 default n
405 help
406 Support secured unlock prior to reset using a whitelisted
407 number? This feature requires a signed whitelist image and
408 bootloader from AMD.
409
410 If unsure, answer 'n'
411
412config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700413 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600414 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600415 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600416
Furquan Shaikh577db022020-04-24 15:52:04 -0700417config PSP_UNLOCK_SECURE_DEBUG
418 bool "Unlock secure debug"
419 default n
420 help
421 Select this item to enable secure debug options in PSP.
422
Martin Rothde498332020-09-01 11:00:28 -0600423config PSP_VERSTAGE_FILE
424 string "Specify the PSP_verstage file path"
425 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
426 default "$(obj)/psp_verstage.bin"
427 help
428 Add psp_verstage file to the build & PSP Directory Table
429
Martin Rothfe87d762020-09-01 11:04:21 -0600430config PSP_VERSTAGE_SIGNING_TOKEN
431 string "Specify the PSP_verstage Signature Token file path"
432 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
433 default ""
434 help
435 Add psp_verstage signature token to the build & PSP Directory Table
436
Martin Rothfdad5ad2021-04-16 11:36:01 -0600437config PSP_SOFTFUSE_BITS
438 string "PSP Soft Fuse bits to enable"
439 default "28"
440 help
441 Space separated list of Soft Fuse bits to enable.
442 Bit 0: Enable secure debug (Set by PSP_UNLOCK_SECURE_DEBUG)
443 Bit 15: PSP post code destination: 0=LPC 1=eSPI
444 Bit 29: Disable MP2 firmware loading (Set by PSP_LOAD_MP2_FW)
445
446 See #55758 (NDA) for additional bit definitions.
447
Marshall Dawson62611412019-06-19 11:46:06 -0600448endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600449
Martin Rothc7acf162020-05-28 00:44:50 -0600450config VBOOT
451 select VBOOT_VBNV_CMOS
Martin Rothe7e6c4e2020-07-15 11:54:14 -0600452 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Martin Rothc7acf162020-05-28 00:44:50 -0600453
454config VBOOT_STARTS_BEFORE_BOOTBLOCK
455 def_bool n
456 depends on VBOOT
457 select ARCH_VERSTAGE_ARMV7
458 help
459 Runs verstage on the PSP. Only available on
460 certain Chrome OS branded parts from AMD.
461
Martin Roth5632c6b2020-10-28 11:52:30 -0600462config VBOOT_HASH_BLOCK_SIZE
463 hex
464 default 0x9000
465 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
466 help
467 Because the bulk of the time in psp_verstage to hash the RO cbfs is
468 spent in the overhead of doing svc calls, increasing the hash block
469 size significantly cuts the verstage hashing time as seen below.
470
471 4k takes 180ms
472 16k takes 44ms
473 32k takes 33.7ms
474 36k takes 32.5ms
475 There's actually still room for an even bigger stack, but we've
476 reached a point of diminishing returns.
477
Martin Roth50cca762020-08-13 11:06:18 -0600478config CMOS_RECOVERY_BYTE
479 hex
480 default 0x51
481 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
482 help
483 If the workbuf is not passed from the PSP to coreboot, set the
484 recovery flag and reboot. The PSP will read this byte, mark the
485 recovery request in VBNV, and reset the system into recovery mode.
486
487 This is the byte before the default first byte used by VBNV
488 (0x26 + 0x0E - 1)
489
Martin Roth9aa8d112020-06-04 21:31:41 -0600490if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
491
492config RWA_REGION_ONLY
493 string
494 default "apu/amdfw_a"
495 help
496 Add a space-delimited list of filenames that should only be in the
497 RW-A section.
498
499config RWB_REGION_ONLY
500 string
501 default "apu/amdfw_b"
502 help
503 Add a space-delimited list of filenames that should only be in the
504 RW-B section.
505
506config PICASSO_FW_A_POSITION
507 hex
508 help
509 Location of the AMD firmware in the RW_A region
510
511config PICASSO_FW_B_POSITION
512 hex
513 help
514 Location of the AMD firmware in the RW_B region
515
516endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
517
Martin Roth1f337622019-04-22 16:08:31 -0600518endif # SOC_AMD_PICASSO