blob: 2ac1235fcffaf4bb5f3cc02d2b0238599eff7be4 [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
Martin Roth5c354b92019-04-22 14:55:16 -060019 select ACPI_AMD_HARDWARE_SLEEP_VALUES
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
Furquan Shaikh0eabe132020-04-28 21:57:07 -070025 select HAVE_EM100_SUPPORT
Martin Roth5c354b92019-04-22 14:55:16 -060026 select HAVE_USBDEBUG_OPTIONS
Kangheui Won9f7df5c12020-10-04 21:12:06 +110027 select COLLECT_TIMESTAMPS_NO_TSC
Richard Spiegel65562cd652019-08-21 10:27:05 -070028 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth5c354b92019-04-22 14:55:16 -060029 select TSC_SYNC_LFENCE
Marshall Dawson80d0b012019-06-19 12:29:23 -060030 select UDELAY_TSC
Martin Roth5c354b92019-04-22 14:55:16 -060031 select SOC_AMD_COMMON
Felix Held9065f4f2020-11-21 02:12:54 +010032 select SOC_AMD_COMMON_BLOCK_NONCAR
Furquan Shaikh702cf302020-05-09 18:30:51 -070033 select SOC_AMD_COMMON_BLOCK_HAS_ESPI
Martin Roth5c354b92019-04-22 14:55:16 -060034 select SOC_AMD_COMMON_BLOCK_IOMMU
35 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
36 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
37 select SOC_AMD_COMMON_BLOCK_ACPI
Felix Held6443ad42020-11-30 18:18:35 +010038 select SOC_AMD_COMMON_BLOCK_AOAC
Furquan Shaikh9e1a49c2020-04-23 14:01:12 -070039 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Martin Roth5c354b92019-04-22 14:55:16 -060040 select SOC_AMD_COMMON_BLOCK_LPC
41 select SOC_AMD_COMMON_BLOCK_PCI
42 select SOC_AMD_COMMON_BLOCK_HDA
43 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070044 select SOC_AMD_COMMON_BLOCK_SMBUS
Felix Held161d8092020-12-01 18:17:42 +010045 select SOC_AMD_COMMON_BLOCK_SMI
Felix Held60a46432020-11-12 00:14:16 +010046 select SOC_AMD_COMMON_BLOCK_SMU
Marshall Dawson5a73fc32020-01-24 09:42:57 -070047 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060048 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060049 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060050 select PARALLEL_MP
51 select PARALLEL_MP_AP_WORK
52 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060053 select SSE2
54 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070055 select PLATFORM_USES_FSP2_0
Furquan Shaikhc3063c52020-05-28 11:58:20 -070056 select FSP_COMPRESS_FSP_M_LZMA
57 select FSP_COMPRESS_FSP_S_LZMA
Marshall Dawson00a22082020-01-20 23:05:31 -070058 select UDK_2017_BINDING
59 select HAVE_CF9_RESET
Zheng Bao6ba591b2020-06-09 09:47:06 +080060 select SUPPORT_CPU_UCODE_IN_CBFS
Kyösti Mälkkic3c55212020-06-17 10:34:26 +030061 select ACPI_NO_SMI_GNVS
Martin Roth5c354b92019-04-22 14:55:16 -060062
Felix Held3cc3d812020-06-17 16:16:08 +020063config FSP_M_FILE
64 string "FSP-M (memory init) binary path and filename"
65 depends on ADD_FSP_BINARIES
66 default "3rdparty/amd_blobs/picasso/PICASSO_M.fd"
67 help
68 The path and filename of the FSP-M binary for this platform.
69
70config FSP_S_FILE
71 string "FSP-S (silicon init) binary path and filename"
72 depends on ADD_FSP_BINARIES
73 default "3rdparty/amd_blobs/picasso/PICASSO_S.fd"
74 help
75 The path and filename of the FSP-S binary for this platform.
76
Furquan Shaikhbc456502020-06-10 16:37:23 -070077config EARLY_RESERVED_DRAM_BASE
78 hex
79 default 0x2000000
80 help
81 This variable defines the base address of the DRAM which is reserved
82 for usage by coreboot in early stages (i.e. before ramstage is up).
83 This memory gets reserved in BIOS tables to ensure that the OS does
84 not use it, thus preventing corruption of OS memory in case of S3
85 resume.
86
87config EARLYRAM_BSP_STACK_SIZE
88 hex
89 default 0x1000
90
91config PSP_APOB_DRAM_ADDRESS
92 hex
93 default 0x2001000
94 help
95 Location in DRAM where the PSP will copy the AGESA PSP Output
96 Block.
97
98config PSP_SHAREDMEM_BASE
99 hex
100 default 0x2011000 if VBOOT
101 default 0x0
102 help
103 This variable defines the base address in DRAM memory where PSP copies
104 vboot workbuf to. This is used in linker script to have a static
105 allocation for the buffer as well as for adding relevant entries in
106 BIOS directory table for the PSP.
107
108config PSP_SHAREDMEM_SIZE
109 hex
110 default 0x8000 if VBOOT
111 default 0x0
112 help
113 Sets the maximum size for the PSP to pass the vboot workbuf and
114 any logs or timestamps back to coreboot. This will be copied
115 into main memory by the PSP and will be available when the x86 is
116 started. The workbuf's base depends on the address of the reset
117 vector.
118
Martin Roth5c354b92019-04-22 14:55:16 -0600119config PRERAM_CBMEM_CONSOLE_SIZE
120 hex
121 default 0x1600
122 help
123 Increase this value if preram cbmem console is getting truncated
124
Furquan Shaikhbc456502020-06-10 16:37:23 -0700125config BOOTBLOCK_ADDR
126 hex
127 default 0x2030000
128 help
129 Sets the address in DRAM where bootblock should be loaded.
130
131config C_ENV_BOOTBLOCK_SIZE
132 hex
133 default 0x10000
134 help
135 Sets the size of the bootblock stage that should be loaded in DRAM.
136 This variable controls the DRAM allocation size in linker script
137 for bootblock stage.
138
139config X86_RESET_VECTOR
140 hex
141 depends on ARCH_X86
142 default 0x203fff0
143 help
144 Sets the reset vector within bootblock where x86 starts execution.
145 Reset vector is supposed to live at offset -0x10 from end of
146 bootblock i.e. BOOTBLOCK_ADDR + C_ENV_BOOTBLOCK_SIZE - 0x10.
147
148config 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
198 hex
199 default 0xF8000000
200
201config MMCONF_BUS_NUMBER
202 int
203 default 64
204
Raul E Rangel5f52c0e2020-05-13 13:22:48 -0600205config VERSTAGE_ADDR
206 hex
207 default 0x4000000
208
Felix Held1032d222020-11-04 16:19:35 +0100209config MAX_CPUS
210 int
211 default 8
212
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
258config EHCI_BAR
259 hex
260 default 0xfef00000
261
Marshall Dawson39c64b02020-09-04 12:07:27 -0600262config PICASSO_FCH_IOAPIC_ID
263 hex
264 default 0x8
265 help
266 The Picasso APU has two IOAPICs, one in the FCH and one in the
267 northbridge. Set this value for the intended ID to assign to the
268 FCH IOAPIC. The value should be >= MAX_CPUS and different from
269 the GNB's IOAPIC_ID.
270
271config PICASSO_GNB_IOAPIC_ID
272 hex
273 default 0x9
274 help
275 The Picasso APU has two IOAPICs, one in the FCH and one in the
276 northbridge. Set this value for the intended ID to assign to the
277 GNB IOAPIC. The value should be >= MAX_CPUS and different from
278 the FCH's IOAPIC_ID.
279
Martin Roth5c354b92019-04-22 14:55:16 -0600280config SERIRQ_CONTINUOUS_MODE
281 bool
282 default n
283 help
284 Set this option to y for serial IRQ in continuous mode.
285 Otherwise it is in quiet mode.
286
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600287config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600288 hex
289 default 0x400
290 help
291 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600292
Felix Held097e4492020-06-16 15:35:20 +0200293config PICASSO_CONSOLE_UART
294 bool "Use Picasso UART controller for console"
Martin Roth5c354b92019-04-22 14:55:16 -0600295 default n
296 select DRIVERS_UART_8250MEM
297 select DRIVERS_UART_8250MEM_32
298 select NO_UART_ON_SUPERIO
299 select UART_OVERRIDE_REFCLK
300 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600301 There are four memory-mapped UARTs controllers in Picasso at:
302 0: 0xfedc9000
303 1: 0xfedca000
304 2: 0xfedc3000
305 3: 0xfedcf000
306
Martin Roth87fafca2020-07-23 13:28:30 -0600307choice
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600308 prompt "UART Frequency"
Felix Held097e4492020-06-16 15:35:20 +0200309 depends on PICASSO_CONSOLE_UART
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600310 default PICASSO_UART_48MZ
311
312config PICASSO_UART_48MZ
313 bool "48 MHz clock"
314 help
315 Select this option for the most compatibility.
316
317config PICASSO_UART_1_8MZ
318 bool "1.8432 MHz clock"
319 help
320 Select this option if an old payload or Linux ttyS0 arguments
321 require it.
322
323endchoice
324
325config PICASSO_UART_LEGACY
326 bool "Decode legacy I/O range"
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600327 help
Rob Barnes28cb14b2020-01-30 10:54:28 -0700328 Assign I/O 3F8, 2F8, etc. to a Picasso UART. A UART accessed with I/O
329 does not allow all the features of MMIO. The MMIO decode is still
330 present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600331
332config CONSOLE_UART_BASE_ADDRESS
Felix Held097e4492020-06-16 15:35:20 +0200333 depends on CONSOLE_SERIAL && PICASSO_CONSOLE_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600334 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600335 default 0xfedc9000 if UART_FOR_CONSOLE = 0
336 default 0xfedca000 if UART_FOR_CONSOLE = 1
337 default 0xfedc3000 if UART_FOR_CONSOLE = 2
338 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600339
340config SMM_TSEG_SIZE
341 hex
342 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
343 default 0x0
344
345config SMM_RESERVED_SIZE
346 hex
Marshall Dawson3e2fabf2020-06-12 10:28:04 -0600347 default 0x180000
Martin Roth5c354b92019-04-22 14:55:16 -0600348
349config SMM_MODULE_STACK_SIZE
350 hex
351 default 0x800
352
353config ACPI_CPU_STRING
354 string
Jason Gleneskf2a59a42020-08-10 00:58:37 -0700355 default "\\_SB.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600356
357config ACPI_BERT
358 bool "Build ACPI BERT Table"
359 default y
360 depends on HAVE_ACPI_TABLES
361 help
362 Report Machine Check errors identified in POST to the OS in an
Marshall Dawson03743b72020-06-18 10:23:48 -0600363 ACPI Boot Error Record Table.
Martin Roth5c354b92019-04-22 14:55:16 -0600364
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700365config ACPI_BERT_SIZE
366 hex
Marshall Dawson03743b72020-06-18 10:23:48 -0600367 default 0x4000 if ACPI_BERT
368 default 0x0
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700369 help
370 Specify the amount of DRAM reserved for gathering the data used to
371 generate the ACPI table.
372
Jason Gleneskbc521432020-09-14 05:22:47 -0700373config ACPI_SSDT_PSD_INDEPENDENT
374 bool "Allow core p-state independent transitions"
375 default y
376 help
377 AMD recommends the ACPI _PSD object to be configured to cause
378 cores to transition between p-states independently. A vendor may
379 choose to generate _PSD object to allow cores to transition together.
380
Furquan Shaikh40a38882020-05-01 10:43:48 -0700381config CHROMEOS
382 select CHROMEOS_RAMOOPS_DYNAMIC
Rob Barnes5ac928d2020-07-07 16:16:12 -0600383 select ALWAYS_LOAD_OPROM
384 select ALWAYS_RUN_OPROM
Furquan Shaikh40a38882020-05-01 10:43:48 -0700385
Marshall Dawson62611412019-06-19 11:46:06 -0600386config RO_REGION_ONLY
387 string
388 depends on CHROMEOS
389 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600390
Marshall Dawson62611412019-06-19 11:46:06 -0600391config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
392 int
Martin Roth4017de02019-12-16 23:21:05 -0700393 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600394
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600395config DISABLE_SPI_FLASH_ROM_SHARING
396 def_bool n
397 help
398 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
399 which indicates a board level ROM transaction request. This
400 removes arbitration with board and assumes the chipset controls
401 the SPI flash bus entirely.
402
Marshall Dawson62611412019-06-19 11:46:06 -0600403config MAINBOARD_POWER_RESTORE
404 def_bool n
405 help
406 This option determines what state to go to once power is restored
407 after having been lost in S0. Select this option to automatically
408 return to S0. Otherwise the system will remain in S5 once power
409 is restored.
410
Marshall Dawson00a22082020-01-20 23:05:31 -0700411config FSP_TEMP_RAM_SIZE
412 hex
Marshall Dawson00a22082020-01-20 23:05:31 -0700413 default 0x40000
414 help
415 The amount of coreboot-allocated heap and stack usage by the FSP.
416
Marshall Dawson62611412019-06-19 11:46:06 -0600417menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600418
Martin Roth5c354b92019-04-22 14:55:16 -0600419config AMD_FWM_POSITION_INDEX
420 int "Firmware Directory Table location (0 to 5)"
421 range 0 5
422 default 0 if BOARD_ROMSIZE_KB_512
423 default 1 if BOARD_ROMSIZE_KB_1024
424 default 2 if BOARD_ROMSIZE_KB_2048
425 default 3 if BOARD_ROMSIZE_KB_4096
426 default 4 if BOARD_ROMSIZE_KB_8192
427 default 5 if BOARD_ROMSIZE_KB_16384
428 help
429 Typically this is calculated by the ROM size, but there may
430 be situations where you want to put the firmware directory
431 table in a different location.
432 0: 512 KB - 0xFFFA0000
433 1: 1 MB - 0xFFF20000
434 2: 2 MB - 0xFFE20000
435 3: 4 MB - 0xFFC20000
436 4: 8 MB - 0xFF820000
437 5: 16 MB - 0xFF020000
438
439comment "AMD Firmware Directory Table set to location for 512KB ROM"
440 depends on AMD_FWM_POSITION_INDEX = 0
441comment "AMD Firmware Directory Table set to location for 1MB ROM"
442 depends on AMD_FWM_POSITION_INDEX = 1
443comment "AMD Firmware Directory Table set to location for 2MB ROM"
444 depends on AMD_FWM_POSITION_INDEX = 2
445comment "AMD Firmware Directory Table set to location for 4MB ROM"
446 depends on AMD_FWM_POSITION_INDEX = 3
447comment "AMD Firmware Directory Table set to location for 8MB ROM"
448 depends on AMD_FWM_POSITION_INDEX = 4
449comment "AMD Firmware Directory Table set to location for 16MB ROM"
450 depends on AMD_FWM_POSITION_INDEX = 5
451
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800452config AMDFW_CONFIG_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700453 string
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800454 default "src/soc/amd/picasso/fw.cfg"
Martin Roth5c354b92019-04-22 14:55:16 -0600455
Zheng Bao6252b602020-09-11 17:06:19 +0800456config USE_PSPSECUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700457 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600458 default y
459 help
460 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
461
462 If unsure, answer 'y'
463
464config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700465 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700466 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600467 help
468 Include the MP2 firmwares and configuration into the PSP build.
469
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700470 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600471
472config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700473 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700474 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600475 help
476 Select this item to include the S0i3 file into the PSP build.
477
478config HAVE_PSP_WHITELIST_FILE
479 bool "Include a debug whitelist file in PSP build"
480 default n
481 help
482 Support secured unlock prior to reset using a whitelisted
483 number? This feature requires a signed whitelist image and
484 bootloader from AMD.
485
486 If unsure, answer 'n'
487
488config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700489 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600490 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600491 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600492
Martin Rothc7acf162020-05-28 00:44:50 -0600493config PSP_SHAREDMEM_SIZE
494 hex "Maximum size of shared memory area"
495 default 0x3000 if VBOOT
496 default 0x0
497 help
498 Sets the maximum size for the PSP to pass the vboot workbuf and
499 any logs or timestamps back to coreboot. This will be copied
500 into main memory by the PSP and will be available when the x86 is
501 started.
502
Furquan Shaikh577db022020-04-24 15:52:04 -0700503config PSP_UNLOCK_SECURE_DEBUG
504 bool "Unlock secure debug"
505 default n
506 help
507 Select this item to enable secure debug options in PSP.
508
Martin Rothde498332020-09-01 11:00:28 -0600509config PSP_VERSTAGE_FILE
510 string "Specify the PSP_verstage file path"
511 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
512 default "$(obj)/psp_verstage.bin"
513 help
514 Add psp_verstage file to the build & PSP Directory Table
515
Martin Rothfe87d762020-09-01 11:04:21 -0600516config PSP_VERSTAGE_SIGNING_TOKEN
517 string "Specify the PSP_verstage Signature Token file path"
518 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
519 default ""
520 help
521 Add psp_verstage signature token to the build & PSP Directory Table
522
Marshall Dawson62611412019-06-19 11:46:06 -0600523endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600524
Martin Rothc7acf162020-05-28 00:44:50 -0600525config VBOOT
526 select VBOOT_VBNV_CMOS
Martin Rothe7e6c4e2020-07-15 11:54:14 -0600527 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Martin Rothc7acf162020-05-28 00:44:50 -0600528
529config VBOOT_STARTS_BEFORE_BOOTBLOCK
530 def_bool n
531 depends on VBOOT
532 select ARCH_VERSTAGE_ARMV7
533 help
534 Runs verstage on the PSP. Only available on
535 certain Chrome OS branded parts from AMD.
536
Martin Roth5632c6b2020-10-28 11:52:30 -0600537config VBOOT_HASH_BLOCK_SIZE
538 hex
539 default 0x9000
540 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
541 help
542 Because the bulk of the time in psp_verstage to hash the RO cbfs is
543 spent in the overhead of doing svc calls, increasing the hash block
544 size significantly cuts the verstage hashing time as seen below.
545
546 4k takes 180ms
547 16k takes 44ms
548 32k takes 33.7ms
549 36k takes 32.5ms
550 There's actually still room for an even bigger stack, but we've
551 reached a point of diminishing returns.
552
Martin Roth50cca762020-08-13 11:06:18 -0600553config CMOS_RECOVERY_BYTE
554 hex
555 default 0x51
556 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
557 help
558 If the workbuf is not passed from the PSP to coreboot, set the
559 recovery flag and reboot. The PSP will read this byte, mark the
560 recovery request in VBNV, and reset the system into recovery mode.
561
562 This is the byte before the default first byte used by VBNV
563 (0x26 + 0x0E - 1)
564
Martin Roth9aa8d112020-06-04 21:31:41 -0600565if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
566
567config RWA_REGION_ONLY
568 string
569 default "apu/amdfw_a"
570 help
571 Add a space-delimited list of filenames that should only be in the
572 RW-A section.
573
574config RWB_REGION_ONLY
575 string
576 default "apu/amdfw_b"
577 help
578 Add a space-delimited list of filenames that should only be in the
579 RW-B section.
580
581config PICASSO_FW_A_POSITION
582 hex
583 help
584 Location of the AMD firmware in the RW_A region
585
586config PICASSO_FW_B_POSITION
587 hex
588 help
589 Location of the AMD firmware in the RW_B region
590
591endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
592
Martin Roth1f337622019-04-22 16:08:31 -0600593endif # SOC_AMD_PICASSO