blob: 9ebc65168f645646a899a0c758e3285982661481 [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
32 select SOC_AMD_COMMON_BLOCK
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
Furquan Shaikh9e1a49c2020-04-23 14:01:12 -070038 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Martin Roth5c354b92019-04-22 14:55:16 -060039 select SOC_AMD_COMMON_BLOCK_LPC
40 select SOC_AMD_COMMON_BLOCK_PCI
41 select SOC_AMD_COMMON_BLOCK_HDA
42 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070043 select SOC_AMD_COMMON_BLOCK_SMBUS
Felix Held60a46432020-11-12 00:14:16 +010044 select SOC_AMD_COMMON_BLOCK_SMU
Marshall Dawson5a73fc32020-01-24 09:42:57 -070045 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060046 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060047 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060048 select PARALLEL_MP
49 select PARALLEL_MP_AP_WORK
50 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060051 select SSE2
52 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070053 select PLATFORM_USES_FSP2_0
Furquan Shaikhc3063c52020-05-28 11:58:20 -070054 select FSP_COMPRESS_FSP_M_LZMA
55 select FSP_COMPRESS_FSP_S_LZMA
Marshall Dawson00a22082020-01-20 23:05:31 -070056 select UDK_2017_BINDING
57 select HAVE_CF9_RESET
Zheng Bao6ba591b2020-06-09 09:47:06 +080058 select SUPPORT_CPU_UCODE_IN_CBFS
Kyösti Mälkkic3c55212020-06-17 10:34:26 +030059 select ACPI_NO_SMI_GNVS
Martin Roth5c354b92019-04-22 14:55:16 -060060
Furquan Shaikh3b032062020-06-10 11:52:49 -070061config MEMLAYOUT_LD_FILE
62 string
63 default "src/soc/amd/picasso/memlayout.ld"
64
Furquan Shaikhbc456502020-06-10 16:37:23 -070065config EARLY_RESERVED_DRAM_BASE
66 hex
67 default 0x2000000
68 help
69 This variable defines the base address of the DRAM which is reserved
70 for usage by coreboot in early stages (i.e. before ramstage is up).
71 This memory gets reserved in BIOS tables to ensure that the OS does
72 not use it, thus preventing corruption of OS memory in case of S3
73 resume.
74
75config EARLYRAM_BSP_STACK_SIZE
76 hex
77 default 0x1000
78
79config PSP_APOB_DRAM_ADDRESS
80 hex
81 default 0x2001000
82 help
83 Location in DRAM where the PSP will copy the AGESA PSP Output
84 Block.
85
86config PSP_SHAREDMEM_BASE
87 hex
88 default 0x2011000 if VBOOT
89 default 0x0
90 help
91 This variable defines the base address in DRAM memory where PSP copies
92 vboot workbuf to. This is used in linker script to have a static
93 allocation for the buffer as well as for adding relevant entries in
94 BIOS directory table for the PSP.
95
96config PSP_SHAREDMEM_SIZE
97 hex
98 default 0x8000 if VBOOT
99 default 0x0
100 help
101 Sets the maximum size for the PSP to pass the vboot workbuf and
102 any logs or timestamps back to coreboot. This will be copied
103 into main memory by the PSP and will be available when the x86 is
104 started. The workbuf's base depends on the address of the reset
105 vector.
106
Martin Roth5c354b92019-04-22 14:55:16 -0600107config PRERAM_CBMEM_CONSOLE_SIZE
108 hex
109 default 0x1600
110 help
111 Increase this value if preram cbmem console is getting truncated
112
Furquan Shaikhbc456502020-06-10 16:37:23 -0700113config BOOTBLOCK_ADDR
114 hex
115 default 0x2030000
116 help
117 Sets the address in DRAM where bootblock should be loaded.
118
119config C_ENV_BOOTBLOCK_SIZE
120 hex
121 default 0x10000
122 help
123 Sets the size of the bootblock stage that should be loaded in DRAM.
124 This variable controls the DRAM allocation size in linker script
125 for bootblock stage.
126
127config X86_RESET_VECTOR
128 hex
129 depends on ARCH_X86
130 default 0x203fff0
131 help
132 Sets the reset vector within bootblock where x86 starts execution.
133 Reset vector is supposed to live at offset -0x10 from end of
134 bootblock i.e. BOOTBLOCK_ADDR + C_ENV_BOOTBLOCK_SIZE - 0x10.
135
136config ROMSTAGE_ADDR
137 hex
138 default 0x2040000
139 help
140 Sets the address in DRAM where romstage should be loaded.
141
142config ROMSTAGE_SIZE
143 hex
144 default 0x80000
145 help
146 Sets the size of DRAM allocation for romstage in linker script.
147
148config FSP_M_ADDR
149 hex
150 default 0x20C0000
151 help
152 Sets the address in DRAM where FSP-M should be loaded. cbfstool
153 performs relocation of FSP-M to this address.
154
155config FSP_M_SIZE
156 hex
157 default 0x80000
158 help
159 Sets the size of DRAM allocation for FSP-M in linker script.
160
161config VERSTAGE_ADDR
162 hex
163 depends on VBOOT_SEPARATE_VERSTAGE
164 default 0x2140000
165 help
166 Sets the address in DRAM where verstage should be loaded if running
167 as a separate stage on x86.
168
169config VERSTAGE_SIZE
170 hex
171 depends on VBOOT_SEPARATE_VERSTAGE
172 default 0x80000
173 help
174 Sets the size of DRAM allocation for verstage in linker script if
175 running as a separate stage on x86.
176
177config RAMBASE
178 hex
179 default 0x10000000
180
Martin Roth5c354b92019-04-22 14:55:16 -0600181config CPU_ADDR_BITS
182 int
183 default 48
184
Martin Roth5c354b92019-04-22 14:55:16 -0600185config MMCONF_BASE_ADDRESS
186 hex
187 default 0xF8000000
188
189config MMCONF_BUS_NUMBER
190 int
191 default 64
192
Raul E Rangel5f52c0e2020-05-13 13:22:48 -0600193config VERSTAGE_ADDR
194 hex
195 default 0x4000000
196
Felix Held1032d222020-11-04 16:19:35 +0100197config MAX_CPUS
198 int
199 default 8
200
Martin Roth5c354b92019-04-22 14:55:16 -0600201config VGA_BIOS_ID
202 string
Martin Roth86ba0d72020-02-05 16:46:30 -0700203 default "1002,15d8,c1"
Martin Roth5c354b92019-04-22 14:55:16 -0600204 help
205 The default VGA BIOS PCI vendor/device ID should be set to the
Martin Roth86ba0d72020-02-05 16:46:30 -0700206 result of the map_oprom_vendev_rev() function in northbridge.c.
Martin Roth5c354b92019-04-22 14:55:16 -0600207
208config VGA_BIOS_FILE
209 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600210 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600211
Martin Roth86ba0d72020-02-05 16:46:30 -0700212config VGA_BIOS_SECOND
213 def_bool y
214
215config VGA_BIOS_SECOND_ID
216 string
217 default "1002,15dd,c4"
218 help
219 Because Dali and Picasso need different video BIOSes, but have the
220 same vendor/device IDs, we need an alternate method to determine the
221 correct video BIOS. In map_oprom_vendev_rev(), we look at the cpuid
222 and decide which rom to load.
223
224 Even though the hardware has the same vendor/device IDs, the vBIOS
225 contains a *different* device ID, confusing the situation even more.
226
227config VGA_BIOS_SECOND_FILE
228 string
229 default "3rdparty/amd_blobs/picasso/Raven2GenericVbios.bin"
230
231config CHECK_REV_IN_OPROM_NAME
232 bool
233 default y
234 help
235 Select this in the platform BIOS or chipset if the option rom has a
236 revision that needs to be checked when searching CBFS.
237
Martin Roth5c354b92019-04-22 14:55:16 -0600238config S3_VGA_ROM_RUN
239 bool
240 default n
241
242config HEAP_SIZE
243 hex
244 default 0xc0000
245
246config EHCI_BAR
247 hex
248 default 0xfef00000
249
Marshall Dawson39c64b02020-09-04 12:07:27 -0600250config PICASSO_FCH_IOAPIC_ID
251 hex
252 default 0x8
253 help
254 The Picasso APU has two IOAPICs, one in the FCH and one in the
255 northbridge. Set this value for the intended ID to assign to the
256 FCH IOAPIC. The value should be >= MAX_CPUS and different from
257 the GNB's IOAPIC_ID.
258
259config PICASSO_GNB_IOAPIC_ID
260 hex
261 default 0x9
262 help
263 The Picasso APU has two IOAPICs, one in the FCH and one in the
264 northbridge. Set this value for the intended ID to assign to the
265 GNB IOAPIC. The value should be >= MAX_CPUS and different from
266 the FCH's IOAPIC_ID.
267
Martin Roth5c354b92019-04-22 14:55:16 -0600268config SERIRQ_CONTINUOUS_MODE
269 bool
270 default n
271 help
272 Set this option to y for serial IRQ in continuous mode.
273 Otherwise it is in quiet mode.
274
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600275config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600276 hex
277 default 0x400
278 help
279 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600280
Felix Held097e4492020-06-16 15:35:20 +0200281config PICASSO_CONSOLE_UART
282 bool "Use Picasso UART controller for console"
Martin Roth5c354b92019-04-22 14:55:16 -0600283 default n
284 select DRIVERS_UART_8250MEM
285 select DRIVERS_UART_8250MEM_32
286 select NO_UART_ON_SUPERIO
287 select UART_OVERRIDE_REFCLK
288 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600289 There are four memory-mapped UARTs controllers in Picasso at:
290 0: 0xfedc9000
291 1: 0xfedca000
292 2: 0xfedc3000
293 3: 0xfedcf000
294
Martin Roth87fafca2020-07-23 13:28:30 -0600295choice
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600296 prompt "UART Frequency"
Felix Held097e4492020-06-16 15:35:20 +0200297 depends on PICASSO_CONSOLE_UART
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600298 default PICASSO_UART_48MZ
299
300config PICASSO_UART_48MZ
301 bool "48 MHz clock"
302 help
303 Select this option for the most compatibility.
304
305config PICASSO_UART_1_8MZ
306 bool "1.8432 MHz clock"
307 help
308 Select this option if an old payload or Linux ttyS0 arguments
309 require it.
310
311endchoice
312
313config PICASSO_UART_LEGACY
314 bool "Decode legacy I/O range"
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600315 help
Rob Barnes28cb14b2020-01-30 10:54:28 -0700316 Assign I/O 3F8, 2F8, etc. to a Picasso UART. A UART accessed with I/O
317 does not allow all the features of MMIO. The MMIO decode is still
318 present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600319
320config CONSOLE_UART_BASE_ADDRESS
Felix Held097e4492020-06-16 15:35:20 +0200321 depends on CONSOLE_SERIAL && PICASSO_CONSOLE_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600322 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600323 default 0xfedc9000 if UART_FOR_CONSOLE = 0
324 default 0xfedca000 if UART_FOR_CONSOLE = 1
325 default 0xfedc3000 if UART_FOR_CONSOLE = 2
326 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600327
328config SMM_TSEG_SIZE
329 hex
330 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
331 default 0x0
332
333config SMM_RESERVED_SIZE
334 hex
Marshall Dawson3e2fabf2020-06-12 10:28:04 -0600335 default 0x180000
Martin Roth5c354b92019-04-22 14:55:16 -0600336
337config SMM_MODULE_STACK_SIZE
338 hex
339 default 0x800
340
341config ACPI_CPU_STRING
342 string
Jason Gleneskf2a59a42020-08-10 00:58:37 -0700343 default "\\_SB.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600344
345config ACPI_BERT
346 bool "Build ACPI BERT Table"
347 default y
348 depends on HAVE_ACPI_TABLES
349 help
350 Report Machine Check errors identified in POST to the OS in an
Marshall Dawson03743b72020-06-18 10:23:48 -0600351 ACPI Boot Error Record Table.
Martin Roth5c354b92019-04-22 14:55:16 -0600352
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700353config ACPI_BERT_SIZE
354 hex
Marshall Dawson03743b72020-06-18 10:23:48 -0600355 default 0x4000 if ACPI_BERT
356 default 0x0
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700357 help
358 Specify the amount of DRAM reserved for gathering the data used to
359 generate the ACPI table.
360
Jason Gleneskbc521432020-09-14 05:22:47 -0700361config ACPI_SSDT_PSD_INDEPENDENT
362 bool "Allow core p-state independent transitions"
363 default y
364 help
365 AMD recommends the ACPI _PSD object to be configured to cause
366 cores to transition between p-states independently. A vendor may
367 choose to generate _PSD object to allow cores to transition together.
368
Furquan Shaikh40a38882020-05-01 10:43:48 -0700369config CHROMEOS
370 select CHROMEOS_RAMOOPS_DYNAMIC
Rob Barnes5ac928d2020-07-07 16:16:12 -0600371 select ALWAYS_LOAD_OPROM
372 select ALWAYS_RUN_OPROM
Furquan Shaikh40a38882020-05-01 10:43:48 -0700373
Marshall Dawson62611412019-06-19 11:46:06 -0600374config RO_REGION_ONLY
375 string
376 depends on CHROMEOS
377 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600378
Marshall Dawson62611412019-06-19 11:46:06 -0600379config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
380 int
Martin Roth4017de02019-12-16 23:21:05 -0700381 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600382
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600383config PICASSO_LPC_IOMUX
384 bool
385 help
386 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
387 Select this option if LPC signals are required.
388
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600389config DISABLE_SPI_FLASH_ROM_SHARING
390 def_bool n
391 help
392 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
393 which indicates a board level ROM transaction request. This
394 removes arbitration with board and assumes the chipset controls
395 the SPI flash bus entirely.
396
Marshall Dawson62611412019-06-19 11:46:06 -0600397config MAINBOARD_POWER_RESTORE
398 def_bool n
399 help
400 This option determines what state to go to once power is restored
401 after having been lost in S0. Select this option to automatically
402 return to S0. Otherwise the system will remain in S5 once power
403 is restored.
404
Marshall Dawson00a22082020-01-20 23:05:31 -0700405config FSP_TEMP_RAM_SIZE
406 hex
Marshall Dawson00a22082020-01-20 23:05:31 -0700407 default 0x40000
408 help
409 The amount of coreboot-allocated heap and stack usage by the FSP.
410
Marshall Dawson62611412019-06-19 11:46:06 -0600411menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600412
Martin Roth5c354b92019-04-22 14:55:16 -0600413config AMDFW_OUTSIDE_CBFS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700414 bool
Martin Roth5c354b92019-04-22 14:55:16 -0600415 default n
416 help
417 The AMDFW (PSP) is typically locatable in cbfs. Select this
418 option to manually attach the generated amdfw.rom outside of
419 cbfs. The location is selected by the FWM position.
420
421config AMD_FWM_POSITION_INDEX
422 int "Firmware Directory Table location (0 to 5)"
423 range 0 5
424 default 0 if BOARD_ROMSIZE_KB_512
425 default 1 if BOARD_ROMSIZE_KB_1024
426 default 2 if BOARD_ROMSIZE_KB_2048
427 default 3 if BOARD_ROMSIZE_KB_4096
428 default 4 if BOARD_ROMSIZE_KB_8192
429 default 5 if BOARD_ROMSIZE_KB_16384
430 help
431 Typically this is calculated by the ROM size, but there may
432 be situations where you want to put the firmware directory
433 table in a different location.
434 0: 512 KB - 0xFFFA0000
435 1: 1 MB - 0xFFF20000
436 2: 2 MB - 0xFFE20000
437 3: 4 MB - 0xFFC20000
438 4: 8 MB - 0xFF820000
439 5: 16 MB - 0xFF020000
440
441comment "AMD Firmware Directory Table set to location for 512KB ROM"
442 depends on AMD_FWM_POSITION_INDEX = 0
443comment "AMD Firmware Directory Table set to location for 1MB ROM"
444 depends on AMD_FWM_POSITION_INDEX = 1
445comment "AMD Firmware Directory Table set to location for 2MB ROM"
446 depends on AMD_FWM_POSITION_INDEX = 2
447comment "AMD Firmware Directory Table set to location for 4MB ROM"
448 depends on AMD_FWM_POSITION_INDEX = 3
449comment "AMD Firmware Directory Table set to location for 8MB ROM"
450 depends on AMD_FWM_POSITION_INDEX = 4
451comment "AMD Firmware Directory Table set to location for 16MB ROM"
452 depends on AMD_FWM_POSITION_INDEX = 5
453
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800454config AMDFW_CONFIG_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700455 string
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800456 default "src/soc/amd/picasso/fw.cfg"
Martin Roth5c354b92019-04-22 14:55:16 -0600457
Zheng Bao6252b602020-09-11 17:06:19 +0800458config USE_PSPSECUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700459 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600460 default y
461 help
462 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
463
464 If unsure, answer 'y'
465
466config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700467 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700468 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600469 help
470 Include the MP2 firmwares and configuration into the PSP build.
471
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700472 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600473
474config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700475 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700476 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600477 help
478 Select this item to include the S0i3 file into the PSP build.
479
480config HAVE_PSP_WHITELIST_FILE
481 bool "Include a debug whitelist file in PSP build"
482 default n
483 help
484 Support secured unlock prior to reset using a whitelisted
485 number? This feature requires a signed whitelist image and
486 bootloader from AMD.
487
488 If unsure, answer 'n'
489
490config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700491 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600492 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600493 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600494
Martin Rothc7acf162020-05-28 00:44:50 -0600495config PSP_SHAREDMEM_SIZE
496 hex "Maximum size of shared memory area"
497 default 0x3000 if VBOOT
498 default 0x0
499 help
500 Sets the maximum size for the PSP to pass the vboot workbuf and
501 any logs or timestamps back to coreboot. This will be copied
502 into main memory by the PSP and will be available when the x86 is
503 started.
504
Furquan Shaikh577db022020-04-24 15:52:04 -0700505config PSP_UNLOCK_SECURE_DEBUG
506 bool "Unlock secure debug"
507 default n
508 help
509 Select this item to enable secure debug options in PSP.
510
Martin Rothde498332020-09-01 11:00:28 -0600511config PSP_VERSTAGE_FILE
512 string "Specify the PSP_verstage file path"
513 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
514 default "$(obj)/psp_verstage.bin"
515 help
516 Add psp_verstage file to the build & PSP Directory Table
517
Martin Rothfe87d762020-09-01 11:04:21 -0600518config PSP_VERSTAGE_SIGNING_TOKEN
519 string "Specify the PSP_verstage Signature Token file path"
520 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
521 default ""
522 help
523 Add psp_verstage signature token to the build & PSP Directory Table
524
Marshall Dawson62611412019-06-19 11:46:06 -0600525endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600526
Martin Rothc7acf162020-05-28 00:44:50 -0600527config VBOOT
528 select VBOOT_VBNV_CMOS
Martin Rothe7e6c4e2020-07-15 11:54:14 -0600529 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Martin Rothc7acf162020-05-28 00:44:50 -0600530
531config VBOOT_STARTS_BEFORE_BOOTBLOCK
532 def_bool n
533 depends on VBOOT
534 select ARCH_VERSTAGE_ARMV7
535 help
536 Runs verstage on the PSP. Only available on
537 certain Chrome OS branded parts from AMD.
538
Martin Roth5632c6b2020-10-28 11:52:30 -0600539config VBOOT_HASH_BLOCK_SIZE
540 hex
541 default 0x9000
542 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
543 help
544 Because the bulk of the time in psp_verstage to hash the RO cbfs is
545 spent in the overhead of doing svc calls, increasing the hash block
546 size significantly cuts the verstage hashing time as seen below.
547
548 4k takes 180ms
549 16k takes 44ms
550 32k takes 33.7ms
551 36k takes 32.5ms
552 There's actually still room for an even bigger stack, but we've
553 reached a point of diminishing returns.
554
Martin Roth50cca762020-08-13 11:06:18 -0600555config CMOS_RECOVERY_BYTE
556 hex
557 default 0x51
558 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
559 help
560 If the workbuf is not passed from the PSP to coreboot, set the
561 recovery flag and reboot. The PSP will read this byte, mark the
562 recovery request in VBNV, and reset the system into recovery mode.
563
564 This is the byte before the default first byte used by VBNV
565 (0x26 + 0x0E - 1)
566
Martin Roth9aa8d112020-06-04 21:31:41 -0600567if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
568
569config RWA_REGION_ONLY
570 string
571 default "apu/amdfw_a"
572 help
573 Add a space-delimited list of filenames that should only be in the
574 RW-A section.
575
576config RWB_REGION_ONLY
577 string
578 default "apu/amdfw_b"
579 help
580 Add a space-delimited list of filenames that should only be in the
581 RW-B section.
582
583config PICASSO_FW_A_POSITION
584 hex
585 help
586 Location of the AMD firmware in the RW_A region
587
588config PICASSO_FW_B_POSITION
589 hex
590 help
591 Location of the AMD firmware in the RW_B region
592
593endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
594
Martin Roth1f337622019-04-22 16:08:31 -0600595endif # SOC_AMD_PICASSO