blob: 55b38c0df02e14bf0c0c14de170f880afc84fd2a [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
Felix Held0d2c0012021-04-12 23:44:14 +020045 select SOC_AMD_COMMON_BLOCK_PM
46 select SOC_AMD_COMMON_BLOCK_PM_CHIPSET_STATE_SAVE
Felix Held33c548b2021-01-27 20:34:24 +010047 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Martin Roth5c354b92019-04-22 14:55:16 -060048 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070049 select SOC_AMD_COMMON_BLOCK_SMBUS
Felix Held161d8092020-12-01 18:17:42 +010050 select SOC_AMD_COMMON_BLOCK_SMI
Felix Heldbc134812021-02-10 02:26:10 +010051 select SOC_AMD_COMMON_BLOCK_SMM
Felix Held60a46432020-11-12 00:14:16 +010052 select SOC_AMD_COMMON_BLOCK_SMU
Felix Held33c548b2021-01-27 20:34:24 +010053 select SOC_AMD_COMMON_BLOCK_SPI
Felix Held2f5c7592020-12-04 17:31:10 +010054 select SOC_AMD_COMMON_BLOCK_TSC_FAM17H_19H
Felix Held6f8f9c92020-12-09 21:36:56 +010055 select SOC_AMD_COMMON_BLOCK_UART
Raul E Rangel394c6b02021-02-12 14:37:43 -070056 select SOC_AMD_COMMON_BLOCK_UCODE
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060057 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060058 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060059 select PARALLEL_MP
60 select PARALLEL_MP_AP_WORK
61 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060062 select SSE2
63 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070064 select PLATFORM_USES_FSP2_0
Furquan Shaikhc3063c52020-05-28 11:58:20 -070065 select FSP_COMPRESS_FSP_M_LZMA
66 select FSP_COMPRESS_FSP_S_LZMA
Marshall Dawson00a22082020-01-20 23:05:31 -070067 select UDK_2017_BINDING
68 select HAVE_CF9_RESET
Raul E Rangel1c9a5ccb2020-12-16 10:35:49 -070069 select NO_CBFS_MCACHE if VBOOT_STARTS_BEFORE_BOOTBLOCK
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
Furquan Shaikhbc456502020-06-10 16:37:23 -0700136config C_ENV_BOOTBLOCK_SIZE
137 hex
138 default 0x10000
139 help
140 Sets the size of the bootblock stage that should be loaded in DRAM.
141 This variable controls the DRAM allocation size in linker script
142 for bootblock stage.
143
Furquan Shaikhbc456502020-06-10 16:37:23 -0700144config ROMSTAGE_ADDR
145 hex
146 default 0x2040000
147 help
148 Sets the address in DRAM where romstage should be loaded.
149
150config ROMSTAGE_SIZE
151 hex
152 default 0x80000
153 help
154 Sets the size of DRAM allocation for romstage in linker script.
155
156config FSP_M_ADDR
157 hex
158 default 0x20C0000
159 help
160 Sets the address in DRAM where FSP-M should be loaded. cbfstool
161 performs relocation of FSP-M to this address.
162
163config FSP_M_SIZE
164 hex
165 default 0x80000
166 help
167 Sets the size of DRAM allocation for FSP-M in linker script.
168
169config VERSTAGE_ADDR
170 hex
171 depends on VBOOT_SEPARATE_VERSTAGE
172 default 0x2140000
173 help
174 Sets the address in DRAM where verstage should be loaded if running
175 as a separate stage on x86.
176
177config VERSTAGE_SIZE
178 hex
179 depends on VBOOT_SEPARATE_VERSTAGE
180 default 0x80000
181 help
182 Sets the size of DRAM allocation for verstage in linker script if
183 running as a separate stage on x86.
184
185config RAMBASE
186 hex
187 default 0x10000000
188
Martin Roth5c354b92019-04-22 14:55:16 -0600189config CPU_ADDR_BITS
190 int
191 default 48
192
Martin Roth5c354b92019-04-22 14:55:16 -0600193config MMCONF_BASE_ADDRESS
Martin Roth5c354b92019-04-22 14:55:16 -0600194 default 0xF8000000
195
196config MMCONF_BUS_NUMBER
Martin Roth5c354b92019-04-22 14:55:16 -0600197 default 64
198
Raul E Rangel5f52c0e2020-05-13 13:22:48 -0600199config VERSTAGE_ADDR
200 hex
201 default 0x4000000
202
Felix Held1032d222020-11-04 16:19:35 +0100203config MAX_CPUS
204 int
205 default 8
Felix Heldb77387f2021-04-23 22:16:04 +0200206 help
207 Maximum number of threads the platform can have.
Felix Held1032d222020-11-04 16:19:35 +0100208
Martin Roth5c354b92019-04-22 14:55:16 -0600209config VGA_BIOS_ID
210 string
Martin Roth86ba0d72020-02-05 16:46:30 -0700211 default "1002,15d8,c1"
Martin Roth5c354b92019-04-22 14:55:16 -0600212 help
213 The default VGA BIOS PCI vendor/device ID should be set to the
Martin Roth86ba0d72020-02-05 16:46:30 -0700214 result of the map_oprom_vendev_rev() function in northbridge.c.
Martin Roth5c354b92019-04-22 14:55:16 -0600215
216config VGA_BIOS_FILE
217 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600218 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600219
Martin Roth86ba0d72020-02-05 16:46:30 -0700220config VGA_BIOS_SECOND
221 def_bool y
222
223config VGA_BIOS_SECOND_ID
224 string
225 default "1002,15dd,c4"
226 help
227 Because Dali and Picasso need different video BIOSes, but have the
228 same vendor/device IDs, we need an alternate method to determine the
229 correct video BIOS. In map_oprom_vendev_rev(), we look at the cpuid
230 and decide which rom to load.
231
232 Even though the hardware has the same vendor/device IDs, the vBIOS
233 contains a *different* device ID, confusing the situation even more.
234
235config VGA_BIOS_SECOND_FILE
236 string
237 default "3rdparty/amd_blobs/picasso/Raven2GenericVbios.bin"
238
239config CHECK_REV_IN_OPROM_NAME
240 bool
241 default y
242 help
243 Select this in the platform BIOS or chipset if the option rom has a
244 revision that needs to be checked when searching CBFS.
245
Martin Roth5c354b92019-04-22 14:55:16 -0600246config S3_VGA_ROM_RUN
247 bool
248 default n
249
250config HEAP_SIZE
251 hex
252 default 0xc0000
253
Martin Roth5c354b92019-04-22 14:55:16 -0600254config SERIRQ_CONTINUOUS_MODE
255 bool
256 default n
257 help
258 Set this option to y for serial IRQ in continuous mode.
259 Otherwise it is in quiet mode.
260
Felix Helde7382992021-01-12 23:05:56 +0100261config CONSOLE_UART_BASE_ADDRESS
262 depends on CONSOLE_SERIAL && AMD_SOC_CONSOLE_UART
263 hex
264 default 0xfedc9000 if UART_FOR_CONSOLE = 0
265 default 0xfedca000 if UART_FOR_CONSOLE = 1
266 default 0xfedc3000 if UART_FOR_CONSOLE = 2
267 default 0xfedcf000 if UART_FOR_CONSOLE = 3
268
Martin Roth5c354b92019-04-22 14:55:16 -0600269config SMM_TSEG_SIZE
270 hex
Felix Helde22eef72021-02-10 22:22:07 +0100271 default 0x800000 if HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -0600272 default 0x0
273
274config SMM_RESERVED_SIZE
275 hex
Marshall Dawson3e2fabf2020-06-12 10:28:04 -0600276 default 0x180000
Martin Roth5c354b92019-04-22 14:55:16 -0600277
278config SMM_MODULE_STACK_SIZE
279 hex
280 default 0x800
281
282config ACPI_CPU_STRING
283 string
Jason Gleneskf2a59a42020-08-10 00:58:37 -0700284 default "\\_SB.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600285
286config ACPI_BERT
287 bool "Build ACPI BERT Table"
288 default y
289 depends on HAVE_ACPI_TABLES
290 help
291 Report Machine Check errors identified in POST to the OS in an
Marshall Dawson03743b72020-06-18 10:23:48 -0600292 ACPI Boot Error Record Table.
Martin Roth5c354b92019-04-22 14:55:16 -0600293
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700294config ACPI_BERT_SIZE
295 hex
Marshall Dawson03743b72020-06-18 10:23:48 -0600296 default 0x4000 if ACPI_BERT
297 default 0x0
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700298 help
299 Specify the amount of DRAM reserved for gathering the data used to
300 generate the ACPI table.
301
Jason Gleneskbc521432020-09-14 05:22:47 -0700302config ACPI_SSDT_PSD_INDEPENDENT
303 bool "Allow core p-state independent transitions"
304 default y
305 help
306 AMD recommends the ACPI _PSD object to be configured to cause
307 cores to transition between p-states independently. A vendor may
308 choose to generate _PSD object to allow cores to transition together.
309
Furquan Shaikh40a38882020-05-01 10:43:48 -0700310config CHROMEOS
Rob Barnes5ac928d2020-07-07 16:16:12 -0600311 select ALWAYS_LOAD_OPROM
312 select ALWAYS_RUN_OPROM
Furquan Shaikh40a38882020-05-01 10:43:48 -0700313
Marshall Dawson62611412019-06-19 11:46:06 -0600314config RO_REGION_ONLY
315 string
316 depends on CHROMEOS
317 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600318
Marshall Dawson62611412019-06-19 11:46:06 -0600319config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
320 int
Martin Roth4017de02019-12-16 23:21:05 -0700321 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600322
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600323config DISABLE_SPI_FLASH_ROM_SHARING
324 def_bool n
325 help
326 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
327 which indicates a board level ROM transaction request. This
328 removes arbitration with board and assumes the chipset controls
329 the SPI flash bus entirely.
330
Felix Held27b295b2021-03-25 01:20:41 +0100331config DISABLE_KEYBOARD_RESET_PIN
332 bool
333 help
334 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
335 signal. When this pin is used as GPIO and the keyboard reset
336 functionality isn't disabled, configuring it as an output and driving
337 it as 0 will cause a reset.
338
Marshall Dawson00a22082020-01-20 23:05:31 -0700339config FSP_TEMP_RAM_SIZE
340 hex
Marshall Dawson00a22082020-01-20 23:05:31 -0700341 default 0x40000
342 help
343 The amount of coreboot-allocated heap and stack usage by the FSP.
344
Marshall Dawson62611412019-06-19 11:46:06 -0600345menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600346
Martin Roth5c354b92019-04-22 14:55:16 -0600347config AMD_FWM_POSITION_INDEX
348 int "Firmware Directory Table location (0 to 5)"
349 range 0 5
350 default 0 if BOARD_ROMSIZE_KB_512
351 default 1 if BOARD_ROMSIZE_KB_1024
352 default 2 if BOARD_ROMSIZE_KB_2048
353 default 3 if BOARD_ROMSIZE_KB_4096
354 default 4 if BOARD_ROMSIZE_KB_8192
355 default 5 if BOARD_ROMSIZE_KB_16384
356 help
357 Typically this is calculated by the ROM size, but there may
358 be situations where you want to put the firmware directory
359 table in a different location.
360 0: 512 KB - 0xFFFA0000
361 1: 1 MB - 0xFFF20000
362 2: 2 MB - 0xFFE20000
363 3: 4 MB - 0xFFC20000
364 4: 8 MB - 0xFF820000
365 5: 16 MB - 0xFF020000
366
367comment "AMD Firmware Directory Table set to location for 512KB ROM"
368 depends on AMD_FWM_POSITION_INDEX = 0
369comment "AMD Firmware Directory Table set to location for 1MB ROM"
370 depends on AMD_FWM_POSITION_INDEX = 1
371comment "AMD Firmware Directory Table set to location for 2MB ROM"
372 depends on AMD_FWM_POSITION_INDEX = 2
373comment "AMD Firmware Directory Table set to location for 4MB ROM"
374 depends on AMD_FWM_POSITION_INDEX = 3
375comment "AMD Firmware Directory Table set to location for 8MB ROM"
376 depends on AMD_FWM_POSITION_INDEX = 4
377comment "AMD Firmware Directory Table set to location for 16MB ROM"
378 depends on AMD_FWM_POSITION_INDEX = 5
379
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800380config AMDFW_CONFIG_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700381 string
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800382 default "src/soc/amd/picasso/fw.cfg"
Martin Roth5c354b92019-04-22 14:55:16 -0600383
Marshall Dawson62611412019-06-19 11:46:06 -0600384config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700385 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700386 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600387 help
388 Include the MP2 firmwares and configuration into the PSP build.
389
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700390 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600391
392config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700393 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700394 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600395 help
396 Select this item to include the S0i3 file into the PSP build.
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 number? This feature requires a signed whitelist image and
404 bootloader from AMD.
405
406 If unsure, answer 'n'
407
408config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700409 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600410 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600411 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600412
Furquan Shaikh577db022020-04-24 15:52:04 -0700413config PSP_UNLOCK_SECURE_DEBUG
414 bool "Unlock secure debug"
415 default n
416 help
417 Select this item to enable secure debug options in PSP.
418
Martin Rothde498332020-09-01 11:00:28 -0600419config PSP_VERSTAGE_FILE
420 string "Specify the PSP_verstage file path"
421 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
422 default "$(obj)/psp_verstage.bin"
423 help
424 Add psp_verstage file to the build & PSP Directory Table
425
Martin Rothfe87d762020-09-01 11:04:21 -0600426config PSP_VERSTAGE_SIGNING_TOKEN
427 string "Specify the PSP_verstage Signature Token file path"
428 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
429 default ""
430 help
431 Add psp_verstage signature token to the build & PSP Directory Table
432
Martin Rothfdad5ad2021-04-16 11:36:01 -0600433config PSP_SOFTFUSE_BITS
434 string "PSP Soft Fuse bits to enable"
435 default "28"
436 help
437 Space separated list of Soft Fuse bits to enable.
438 Bit 0: Enable secure debug (Set by PSP_UNLOCK_SECURE_DEBUG)
439 Bit 15: PSP post code destination: 0=LPC 1=eSPI
440 Bit 29: Disable MP2 firmware loading (Set by PSP_LOAD_MP2_FW)
441
442 See #55758 (NDA) for additional bit definitions.
443
Marshall Dawson62611412019-06-19 11:46:06 -0600444endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600445
Martin Rothc7acf162020-05-28 00:44:50 -0600446config VBOOT
447 select VBOOT_VBNV_CMOS
Martin Rothe7e6c4e2020-07-15 11:54:14 -0600448 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Martin Rothc7acf162020-05-28 00:44:50 -0600449
450config VBOOT_STARTS_BEFORE_BOOTBLOCK
451 def_bool n
452 depends on VBOOT
453 select ARCH_VERSTAGE_ARMV7
454 help
455 Runs verstage on the PSP. Only available on
456 certain Chrome OS branded parts from AMD.
457
Martin Roth5632c6b2020-10-28 11:52:30 -0600458config VBOOT_HASH_BLOCK_SIZE
459 hex
460 default 0x9000
461 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
462 help
463 Because the bulk of the time in psp_verstage to hash the RO cbfs is
464 spent in the overhead of doing svc calls, increasing the hash block
465 size significantly cuts the verstage hashing time as seen below.
466
467 4k takes 180ms
468 16k takes 44ms
469 32k takes 33.7ms
470 36k takes 32.5ms
471 There's actually still room for an even bigger stack, but we've
472 reached a point of diminishing returns.
473
Martin Roth50cca762020-08-13 11:06:18 -0600474config CMOS_RECOVERY_BYTE
475 hex
476 default 0x51
477 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
478 help
479 If the workbuf is not passed from the PSP to coreboot, set the
480 recovery flag and reboot. The PSP will read this byte, mark the
481 recovery request in VBNV, and reset the system into recovery mode.
482
483 This is the byte before the default first byte used by VBNV
484 (0x26 + 0x0E - 1)
485
Martin Roth9aa8d112020-06-04 21:31:41 -0600486if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
487
488config RWA_REGION_ONLY
489 string
490 default "apu/amdfw_a"
491 help
492 Add a space-delimited list of filenames that should only be in the
493 RW-A section.
494
495config RWB_REGION_ONLY
496 string
497 default "apu/amdfw_b"
498 help
499 Add a space-delimited list of filenames that should only be in the
500 RW-B section.
501
502config PICASSO_FW_A_POSITION
503 hex
504 help
505 Location of the AMD firmware in the RW_A region
506
507config PICASSO_FW_B_POSITION
508 hex
509 help
510 Location of the AMD firmware in the RW_B region
511
512endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
513
Martin Roth1f337622019-04-22 16:08:31 -0600514endif # SOC_AMD_PICASSO