blob: 79fc3be6214bbe08aa1bf66b974e619205648e4d [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
Richard Spiegel65562cd652019-08-21 10:27:05 -070027 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth5c354b92019-04-22 14:55:16 -060028 select SOC_AMD_COMMON
Felix Held9065f4f2020-11-21 02:12:54 +010029 select SOC_AMD_COMMON_BLOCK_NONCAR
Furquan Shaikh702cf302020-05-09 18:30:51 -070030 select SOC_AMD_COMMON_BLOCK_HAS_ESPI
Martin Roth5c354b92019-04-22 14:55:16 -060031 select SOC_AMD_COMMON_BLOCK_IOMMU
32 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
33 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
34 select SOC_AMD_COMMON_BLOCK_ACPI
Felix Held6443ad42020-11-30 18:18:35 +010035 select SOC_AMD_COMMON_BLOCK_AOAC
Furquan Shaikh9e1a49c2020-04-23 14:01:12 -070036 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Martin Roth5c354b92019-04-22 14:55:16 -060037 select SOC_AMD_COMMON_BLOCK_LPC
38 select SOC_AMD_COMMON_BLOCK_PCI
39 select SOC_AMD_COMMON_BLOCK_HDA
40 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070041 select SOC_AMD_COMMON_BLOCK_SMBUS
Felix Held161d8092020-12-01 18:17:42 +010042 select SOC_AMD_COMMON_BLOCK_SMI
Felix Held60a46432020-11-12 00:14:16 +010043 select SOC_AMD_COMMON_BLOCK_SMU
Felix Held2f5c7592020-12-04 17:31:10 +010044 select SOC_AMD_COMMON_BLOCK_TSC_FAM17H_19H
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
Felix Held3cc3d812020-06-17 16:16:08 +020061config FSP_M_FILE
62 string "FSP-M (memory init) binary path and filename"
63 depends on ADD_FSP_BINARIES
64 default "3rdparty/amd_blobs/picasso/PICASSO_M.fd"
65 help
66 The path and filename of the FSP-M binary for this platform.
67
68config FSP_S_FILE
69 string "FSP-S (silicon init) binary path and filename"
70 depends on ADD_FSP_BINARIES
71 default "3rdparty/amd_blobs/picasso/PICASSO_S.fd"
72 help
73 The path and filename of the FSP-S binary for this platform.
74
Furquan Shaikhbc456502020-06-10 16:37:23 -070075config EARLY_RESERVED_DRAM_BASE
76 hex
77 default 0x2000000
78 help
79 This variable defines the base address of the DRAM which is reserved
80 for usage by coreboot in early stages (i.e. before ramstage is up).
81 This memory gets reserved in BIOS tables to ensure that the OS does
82 not use it, thus preventing corruption of OS memory in case of S3
83 resume.
84
85config EARLYRAM_BSP_STACK_SIZE
86 hex
87 default 0x1000
88
89config PSP_APOB_DRAM_ADDRESS
90 hex
91 default 0x2001000
92 help
93 Location in DRAM where the PSP will copy the AGESA PSP Output
94 Block.
95
96config PSP_SHAREDMEM_BASE
97 hex
98 default 0x2011000 if VBOOT
99 default 0x0
100 help
101 This variable defines the base address in DRAM memory where PSP copies
102 vboot workbuf to. This is used in linker script to have a static
103 allocation for the buffer as well as for adding relevant entries in
104 BIOS directory table for the PSP.
105
106config PSP_SHAREDMEM_SIZE
107 hex
108 default 0x8000 if VBOOT
109 default 0x0
110 help
111 Sets the maximum size for the PSP to pass the vboot workbuf and
112 any logs or timestamps back to coreboot. This will be copied
113 into main memory by the PSP and will be available when the x86 is
114 started. The workbuf's base depends on the address of the reset
115 vector.
116
Martin Roth5c354b92019-04-22 14:55:16 -0600117config PRERAM_CBMEM_CONSOLE_SIZE
118 hex
119 default 0x1600
120 help
121 Increase this value if preram cbmem console is getting truncated
122
Furquan Shaikhbc456502020-06-10 16:37:23 -0700123config BOOTBLOCK_ADDR
124 hex
125 default 0x2030000
126 help
127 Sets the address in DRAM where bootblock should be loaded.
128
129config C_ENV_BOOTBLOCK_SIZE
130 hex
131 default 0x10000
132 help
133 Sets the size of the bootblock stage that should be loaded in DRAM.
134 This variable controls the DRAM allocation size in linker script
135 for bootblock stage.
136
137config X86_RESET_VECTOR
138 hex
139 depends on ARCH_X86
140 default 0x203fff0
141 help
142 Sets the reset vector within bootblock where x86 starts execution.
143 Reset vector is supposed to live at offset -0x10 from end of
144 bootblock i.e. BOOTBLOCK_ADDR + C_ENV_BOOTBLOCK_SIZE - 0x10.
145
146config ROMSTAGE_ADDR
147 hex
148 default 0x2040000
149 help
150 Sets the address in DRAM where romstage should be loaded.
151
152config ROMSTAGE_SIZE
153 hex
154 default 0x80000
155 help
156 Sets the size of DRAM allocation for romstage in linker script.
157
158config FSP_M_ADDR
159 hex
160 default 0x20C0000
161 help
162 Sets the address in DRAM where FSP-M should be loaded. cbfstool
163 performs relocation of FSP-M to this address.
164
165config FSP_M_SIZE
166 hex
167 default 0x80000
168 help
169 Sets the size of DRAM allocation for FSP-M in linker script.
170
171config VERSTAGE_ADDR
172 hex
173 depends on VBOOT_SEPARATE_VERSTAGE
174 default 0x2140000
175 help
176 Sets the address in DRAM where verstage should be loaded if running
177 as a separate stage on x86.
178
179config VERSTAGE_SIZE
180 hex
181 depends on VBOOT_SEPARATE_VERSTAGE
182 default 0x80000
183 help
184 Sets the size of DRAM allocation for verstage in linker script if
185 running as a separate stage on x86.
186
187config RAMBASE
188 hex
189 default 0x10000000
190
Martin Roth5c354b92019-04-22 14:55:16 -0600191config CPU_ADDR_BITS
192 int
193 default 48
194
Martin Roth5c354b92019-04-22 14:55:16 -0600195config MMCONF_BASE_ADDRESS
196 hex
197 default 0xF8000000
198
199config MMCONF_BUS_NUMBER
200 int
201 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
210
Martin Roth5c354b92019-04-22 14:55:16 -0600211config VGA_BIOS_ID
212 string
Martin Roth86ba0d72020-02-05 16:46:30 -0700213 default "1002,15d8,c1"
Martin Roth5c354b92019-04-22 14:55:16 -0600214 help
215 The default VGA BIOS PCI vendor/device ID should be set to the
Martin Roth86ba0d72020-02-05 16:46:30 -0700216 result of the map_oprom_vendev_rev() function in northbridge.c.
Martin Roth5c354b92019-04-22 14:55:16 -0600217
218config VGA_BIOS_FILE
219 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600220 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600221
Martin Roth86ba0d72020-02-05 16:46:30 -0700222config VGA_BIOS_SECOND
223 def_bool y
224
225config VGA_BIOS_SECOND_ID
226 string
227 default "1002,15dd,c4"
228 help
229 Because Dali and Picasso need different video BIOSes, but have the
230 same vendor/device IDs, we need an alternate method to determine the
231 correct video BIOS. In map_oprom_vendev_rev(), we look at the cpuid
232 and decide which rom to load.
233
234 Even though the hardware has the same vendor/device IDs, the vBIOS
235 contains a *different* device ID, confusing the situation even more.
236
237config VGA_BIOS_SECOND_FILE
238 string
239 default "3rdparty/amd_blobs/picasso/Raven2GenericVbios.bin"
240
241config CHECK_REV_IN_OPROM_NAME
242 bool
243 default y
244 help
245 Select this in the platform BIOS or chipset if the option rom has a
246 revision that needs to be checked when searching CBFS.
247
Martin Roth5c354b92019-04-22 14:55:16 -0600248config S3_VGA_ROM_RUN
249 bool
250 default n
251
252config HEAP_SIZE
253 hex
254 default 0xc0000
255
256config EHCI_BAR
257 hex
258 default 0xfef00000
259
Marshall Dawson39c64b02020-09-04 12:07:27 -0600260config PICASSO_FCH_IOAPIC_ID
261 hex
262 default 0x8
263 help
264 The Picasso APU has two IOAPICs, one in the FCH and one in the
265 northbridge. Set this value for the intended ID to assign to the
266 FCH IOAPIC. The value should be >= MAX_CPUS and different from
267 the GNB's IOAPIC_ID.
268
269config PICASSO_GNB_IOAPIC_ID
270 hex
271 default 0x9
272 help
273 The Picasso APU has two IOAPICs, one in the FCH and one in the
274 northbridge. Set this value for the intended ID to assign to the
275 GNB IOAPIC. The value should be >= MAX_CPUS and different from
276 the FCH's IOAPIC_ID.
277
Martin Roth5c354b92019-04-22 14:55:16 -0600278config SERIRQ_CONTINUOUS_MODE
279 bool
280 default n
281 help
282 Set this option to y for serial IRQ in continuous mode.
283 Otherwise it is in quiet mode.
284
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600285config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600286 hex
287 default 0x400
288 help
289 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600290
Felix Held097e4492020-06-16 15:35:20 +0200291config PICASSO_CONSOLE_UART
292 bool "Use Picasso UART controller for console"
Martin Roth5c354b92019-04-22 14:55:16 -0600293 default n
294 select DRIVERS_UART_8250MEM
295 select DRIVERS_UART_8250MEM_32
296 select NO_UART_ON_SUPERIO
297 select UART_OVERRIDE_REFCLK
298 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600299 There are four memory-mapped UARTs controllers in Picasso at:
300 0: 0xfedc9000
301 1: 0xfedca000
302 2: 0xfedc3000
303 3: 0xfedcf000
304
Martin Roth87fafca2020-07-23 13:28:30 -0600305choice
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600306 prompt "UART Frequency"
Felix Held097e4492020-06-16 15:35:20 +0200307 depends on PICASSO_CONSOLE_UART
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600308 default PICASSO_UART_48MZ
309
310config PICASSO_UART_48MZ
311 bool "48 MHz clock"
312 help
313 Select this option for the most compatibility.
314
315config PICASSO_UART_1_8MZ
316 bool "1.8432 MHz clock"
317 help
318 Select this option if an old payload or Linux ttyS0 arguments
319 require it.
320
321endchoice
322
323config PICASSO_UART_LEGACY
324 bool "Decode legacy I/O range"
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600325 help
Rob Barnes28cb14b2020-01-30 10:54:28 -0700326 Assign I/O 3F8, 2F8, etc. to a Picasso UART. A UART accessed with I/O
327 does not allow all the features of MMIO. The MMIO decode is still
328 present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600329
330config CONSOLE_UART_BASE_ADDRESS
Felix Held097e4492020-06-16 15:35:20 +0200331 depends on CONSOLE_SERIAL && PICASSO_CONSOLE_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600332 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600333 default 0xfedc9000 if UART_FOR_CONSOLE = 0
334 default 0xfedca000 if UART_FOR_CONSOLE = 1
335 default 0xfedc3000 if UART_FOR_CONSOLE = 2
336 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600337
338config SMM_TSEG_SIZE
339 hex
340 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
341 default 0x0
342
343config SMM_RESERVED_SIZE
344 hex
Marshall Dawson3e2fabf2020-06-12 10:28:04 -0600345 default 0x180000
Martin Roth5c354b92019-04-22 14:55:16 -0600346
347config SMM_MODULE_STACK_SIZE
348 hex
349 default 0x800
350
351config ACPI_CPU_STRING
352 string
Jason Gleneskf2a59a42020-08-10 00:58:37 -0700353 default "\\_SB.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600354
355config ACPI_BERT
356 bool "Build ACPI BERT Table"
357 default y
358 depends on HAVE_ACPI_TABLES
359 help
360 Report Machine Check errors identified in POST to the OS in an
Marshall Dawson03743b72020-06-18 10:23:48 -0600361 ACPI Boot Error Record Table.
Martin Roth5c354b92019-04-22 14:55:16 -0600362
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700363config ACPI_BERT_SIZE
364 hex
Marshall Dawson03743b72020-06-18 10:23:48 -0600365 default 0x4000 if ACPI_BERT
366 default 0x0
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700367 help
368 Specify the amount of DRAM reserved for gathering the data used to
369 generate the ACPI table.
370
Jason Gleneskbc521432020-09-14 05:22:47 -0700371config ACPI_SSDT_PSD_INDEPENDENT
372 bool "Allow core p-state independent transitions"
373 default y
374 help
375 AMD recommends the ACPI _PSD object to be configured to cause
376 cores to transition between p-states independently. A vendor may
377 choose to generate _PSD object to allow cores to transition together.
378
Furquan Shaikh40a38882020-05-01 10:43:48 -0700379config CHROMEOS
380 select CHROMEOS_RAMOOPS_DYNAMIC
Rob Barnes5ac928d2020-07-07 16:16:12 -0600381 select ALWAYS_LOAD_OPROM
382 select ALWAYS_RUN_OPROM
Furquan Shaikh40a38882020-05-01 10:43:48 -0700383
Marshall Dawson62611412019-06-19 11:46:06 -0600384config RO_REGION_ONLY
385 string
386 depends on CHROMEOS
387 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600388
Marshall Dawson62611412019-06-19 11:46:06 -0600389config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
390 int
Martin Roth4017de02019-12-16 23:21:05 -0700391 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600392
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600393config DISABLE_SPI_FLASH_ROM_SHARING
394 def_bool n
395 help
396 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
397 which indicates a board level ROM transaction request. This
398 removes arbitration with board and assumes the chipset controls
399 the SPI flash bus entirely.
400
Marshall Dawson62611412019-06-19 11:46:06 -0600401config MAINBOARD_POWER_RESTORE
402 def_bool n
403 help
404 This option determines what state to go to once power is restored
405 after having been lost in S0. Select this option to automatically
406 return to S0. Otherwise the system will remain in S5 once power
407 is restored.
408
Marshall Dawson00a22082020-01-20 23:05:31 -0700409config FSP_TEMP_RAM_SIZE
410 hex
Marshall Dawson00a22082020-01-20 23:05:31 -0700411 default 0x40000
412 help
413 The amount of coreboot-allocated heap and stack usage by the FSP.
414
Marshall Dawson62611412019-06-19 11:46:06 -0600415menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600416
Martin Roth5c354b92019-04-22 14:55:16 -0600417config AMD_FWM_POSITION_INDEX
418 int "Firmware Directory Table location (0 to 5)"
419 range 0 5
420 default 0 if BOARD_ROMSIZE_KB_512
421 default 1 if BOARD_ROMSIZE_KB_1024
422 default 2 if BOARD_ROMSIZE_KB_2048
423 default 3 if BOARD_ROMSIZE_KB_4096
424 default 4 if BOARD_ROMSIZE_KB_8192
425 default 5 if BOARD_ROMSIZE_KB_16384
426 help
427 Typically this is calculated by the ROM size, but there may
428 be situations where you want to put the firmware directory
429 table in a different location.
430 0: 512 KB - 0xFFFA0000
431 1: 1 MB - 0xFFF20000
432 2: 2 MB - 0xFFE20000
433 3: 4 MB - 0xFFC20000
434 4: 8 MB - 0xFF820000
435 5: 16 MB - 0xFF020000
436
437comment "AMD Firmware Directory Table set to location for 512KB ROM"
438 depends on AMD_FWM_POSITION_INDEX = 0
439comment "AMD Firmware Directory Table set to location for 1MB ROM"
440 depends on AMD_FWM_POSITION_INDEX = 1
441comment "AMD Firmware Directory Table set to location for 2MB ROM"
442 depends on AMD_FWM_POSITION_INDEX = 2
443comment "AMD Firmware Directory Table set to location for 4MB ROM"
444 depends on AMD_FWM_POSITION_INDEX = 3
445comment "AMD Firmware Directory Table set to location for 8MB ROM"
446 depends on AMD_FWM_POSITION_INDEX = 4
447comment "AMD Firmware Directory Table set to location for 16MB ROM"
448 depends on AMD_FWM_POSITION_INDEX = 5
449
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800450config AMDFW_CONFIG_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700451 string
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800452 default "src/soc/amd/picasso/fw.cfg"
Martin Roth5c354b92019-04-22 14:55:16 -0600453
Zheng Bao6252b602020-09-11 17:06:19 +0800454config USE_PSPSECUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700455 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600456 default y
457 help
458 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
459
460 If unsure, answer 'y'
461
462config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700463 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700464 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600465 help
466 Include the MP2 firmwares and configuration into the PSP build.
467
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700468 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600469
470config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700471 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700472 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600473 help
474 Select this item to include the S0i3 file into the PSP build.
475
476config HAVE_PSP_WHITELIST_FILE
477 bool "Include a debug whitelist file in PSP build"
478 default n
479 help
480 Support secured unlock prior to reset using a whitelisted
481 number? This feature requires a signed whitelist image and
482 bootloader from AMD.
483
484 If unsure, answer 'n'
485
486config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700487 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600488 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600489 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600490
Martin Rothc7acf162020-05-28 00:44:50 -0600491config PSP_SHAREDMEM_SIZE
492 hex "Maximum size of shared memory area"
493 default 0x3000 if VBOOT
494 default 0x0
495 help
496 Sets the maximum size for the PSP to pass the vboot workbuf and
497 any logs or timestamps back to coreboot. This will be copied
498 into main memory by the PSP and will be available when the x86 is
499 started.
500
Furquan Shaikh577db022020-04-24 15:52:04 -0700501config PSP_UNLOCK_SECURE_DEBUG
502 bool "Unlock secure debug"
503 default n
504 help
505 Select this item to enable secure debug options in PSP.
506
Martin Rothde498332020-09-01 11:00:28 -0600507config PSP_VERSTAGE_FILE
508 string "Specify the PSP_verstage file path"
509 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
510 default "$(obj)/psp_verstage.bin"
511 help
512 Add psp_verstage file to the build & PSP Directory Table
513
Martin Rothfe87d762020-09-01 11:04:21 -0600514config PSP_VERSTAGE_SIGNING_TOKEN
515 string "Specify the PSP_verstage Signature Token file path"
516 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
517 default ""
518 help
519 Add psp_verstage signature token to the build & PSP Directory Table
520
Marshall Dawson62611412019-06-19 11:46:06 -0600521endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600522
Martin Rothc7acf162020-05-28 00:44:50 -0600523config VBOOT
524 select VBOOT_VBNV_CMOS
Martin Rothe7e6c4e2020-07-15 11:54:14 -0600525 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Martin Rothc7acf162020-05-28 00:44:50 -0600526
527config VBOOT_STARTS_BEFORE_BOOTBLOCK
528 def_bool n
529 depends on VBOOT
530 select ARCH_VERSTAGE_ARMV7
531 help
532 Runs verstage on the PSP. Only available on
533 certain Chrome OS branded parts from AMD.
534
Martin Roth5632c6b2020-10-28 11:52:30 -0600535config VBOOT_HASH_BLOCK_SIZE
536 hex
537 default 0x9000
538 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
539 help
540 Because the bulk of the time in psp_verstage to hash the RO cbfs is
541 spent in the overhead of doing svc calls, increasing the hash block
542 size significantly cuts the verstage hashing time as seen below.
543
544 4k takes 180ms
545 16k takes 44ms
546 32k takes 33.7ms
547 36k takes 32.5ms
548 There's actually still room for an even bigger stack, but we've
549 reached a point of diminishing returns.
550
Martin Roth50cca762020-08-13 11:06:18 -0600551config CMOS_RECOVERY_BYTE
552 hex
553 default 0x51
554 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
555 help
556 If the workbuf is not passed from the PSP to coreboot, set the
557 recovery flag and reboot. The PSP will read this byte, mark the
558 recovery request in VBNV, and reset the system into recovery mode.
559
560 This is the byte before the default first byte used by VBNV
561 (0x26 + 0x0E - 1)
562
Martin Roth9aa8d112020-06-04 21:31:41 -0600563if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
564
565config RWA_REGION_ONLY
566 string
567 default "apu/amdfw_a"
568 help
569 Add a space-delimited list of filenames that should only be in the
570 RW-A section.
571
572config RWB_REGION_ONLY
573 string
574 default "apu/amdfw_b"
575 help
576 Add a space-delimited list of filenames that should only be in the
577 RW-B section.
578
579config PICASSO_FW_A_POSITION
580 hex
581 help
582 Location of the AMD firmware in the RW_A region
583
584config PICASSO_FW_B_POSITION
585 hex
586 help
587 Location of the AMD firmware in the RW_B region
588
589endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
590
Martin Roth1f337622019-04-22 16:08:31 -0600591endif # SOC_AMD_PICASSO