blob: e2feebd98ec62f5359c34923bb185833d57df141 [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 Held60a46432020-11-12 00:14:16 +010045 select SOC_AMD_COMMON_BLOCK_SMU
Marshall Dawson5a73fc32020-01-24 09:42:57 -070046 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060047 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060048 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060049 select PARALLEL_MP
50 select PARALLEL_MP_AP_WORK
51 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060052 select SSE2
53 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070054 select PLATFORM_USES_FSP2_0
Furquan Shaikhc3063c52020-05-28 11:58:20 -070055 select FSP_COMPRESS_FSP_M_LZMA
56 select FSP_COMPRESS_FSP_S_LZMA
Marshall Dawson00a22082020-01-20 23:05:31 -070057 select UDK_2017_BINDING
58 select HAVE_CF9_RESET
Zheng Bao6ba591b2020-06-09 09:47:06 +080059 select SUPPORT_CPU_UCODE_IN_CBFS
Kyösti Mälkkic3c55212020-06-17 10:34:26 +030060 select ACPI_NO_SMI_GNVS
Martin Roth5c354b92019-04-22 14:55:16 -060061
Felix Held3cc3d812020-06-17 16:16:08 +020062config FSP_M_FILE
63 string "FSP-M (memory init) binary path and filename"
64 depends on ADD_FSP_BINARIES
65 default "3rdparty/amd_blobs/picasso/PICASSO_M.fd"
66 help
67 The path and filename of the FSP-M binary for this platform.
68
69config FSP_S_FILE
70 string "FSP-S (silicon init) binary path and filename"
71 depends on ADD_FSP_BINARIES
72 default "3rdparty/amd_blobs/picasso/PICASSO_S.fd"
73 help
74 The path and filename of the FSP-S binary for this platform.
75
Furquan Shaikhbc456502020-06-10 16:37:23 -070076config EARLY_RESERVED_DRAM_BASE
77 hex
78 default 0x2000000
79 help
80 This variable defines the base address of the DRAM which is reserved
81 for usage by coreboot in early stages (i.e. before ramstage is up).
82 This memory gets reserved in BIOS tables to ensure that the OS does
83 not use it, thus preventing corruption of OS memory in case of S3
84 resume.
85
86config EARLYRAM_BSP_STACK_SIZE
87 hex
88 default 0x1000
89
90config PSP_APOB_DRAM_ADDRESS
91 hex
92 default 0x2001000
93 help
94 Location in DRAM where the PSP will copy the AGESA PSP Output
95 Block.
96
97config PSP_SHAREDMEM_BASE
98 hex
99 default 0x2011000 if VBOOT
100 default 0x0
101 help
102 This variable defines the base address in DRAM memory where PSP copies
103 vboot workbuf to. This is used in linker script to have a static
104 allocation for the buffer as well as for adding relevant entries in
105 BIOS directory table for the PSP.
106
107config PSP_SHAREDMEM_SIZE
108 hex
109 default 0x8000 if VBOOT
110 default 0x0
111 help
112 Sets the maximum size for the PSP to pass the vboot workbuf and
113 any logs or timestamps back to coreboot. This will be copied
114 into main memory by the PSP and will be available when the x86 is
115 started. The workbuf's base depends on the address of the reset
116 vector.
117
Martin Roth5c354b92019-04-22 14:55:16 -0600118config PRERAM_CBMEM_CONSOLE_SIZE
119 hex
120 default 0x1600
121 help
122 Increase this value if preram cbmem console is getting truncated
123
Furquan Shaikhbc456502020-06-10 16:37:23 -0700124config BOOTBLOCK_ADDR
125 hex
126 default 0x2030000
127 help
128 Sets the address in DRAM where bootblock should be loaded.
129
130config C_ENV_BOOTBLOCK_SIZE
131 hex
132 default 0x10000
133 help
134 Sets the size of the bootblock stage that should be loaded in DRAM.
135 This variable controls the DRAM allocation size in linker script
136 for bootblock stage.
137
138config X86_RESET_VECTOR
139 hex
140 depends on ARCH_X86
141 default 0x203fff0
142 help
143 Sets the reset vector within bootblock where x86 starts execution.
144 Reset vector is supposed to live at offset -0x10 from end of
145 bootblock i.e. BOOTBLOCK_ADDR + C_ENV_BOOTBLOCK_SIZE - 0x10.
146
147config ROMSTAGE_ADDR
148 hex
149 default 0x2040000
150 help
151 Sets the address in DRAM where romstage should be loaded.
152
153config ROMSTAGE_SIZE
154 hex
155 default 0x80000
156 help
157 Sets the size of DRAM allocation for romstage in linker script.
158
159config FSP_M_ADDR
160 hex
161 default 0x20C0000
162 help
163 Sets the address in DRAM where FSP-M should be loaded. cbfstool
164 performs relocation of FSP-M to this address.
165
166config FSP_M_SIZE
167 hex
168 default 0x80000
169 help
170 Sets the size of DRAM allocation for FSP-M in linker script.
171
172config VERSTAGE_ADDR
173 hex
174 depends on VBOOT_SEPARATE_VERSTAGE
175 default 0x2140000
176 help
177 Sets the address in DRAM where verstage should be loaded if running
178 as a separate stage on x86.
179
180config VERSTAGE_SIZE
181 hex
182 depends on VBOOT_SEPARATE_VERSTAGE
183 default 0x80000
184 help
185 Sets the size of DRAM allocation for verstage in linker script if
186 running as a separate stage on x86.
187
188config RAMBASE
189 hex
190 default 0x10000000
191
Martin Roth5c354b92019-04-22 14:55:16 -0600192config CPU_ADDR_BITS
193 int
194 default 48
195
Martin Roth5c354b92019-04-22 14:55:16 -0600196config MMCONF_BASE_ADDRESS
197 hex
198 default 0xF8000000
199
200config MMCONF_BUS_NUMBER
201 int
202 default 64
203
Raul E Rangel5f52c0e2020-05-13 13:22:48 -0600204config VERSTAGE_ADDR
205 hex
206 default 0x4000000
207
Felix Held1032d222020-11-04 16:19:35 +0100208config MAX_CPUS
209 int
210 default 8
211
Martin Roth5c354b92019-04-22 14:55:16 -0600212config VGA_BIOS_ID
213 string
Martin Roth86ba0d72020-02-05 16:46:30 -0700214 default "1002,15d8,c1"
Martin Roth5c354b92019-04-22 14:55:16 -0600215 help
216 The default VGA BIOS PCI vendor/device ID should be set to the
Martin Roth86ba0d72020-02-05 16:46:30 -0700217 result of the map_oprom_vendev_rev() function in northbridge.c.
Martin Roth5c354b92019-04-22 14:55:16 -0600218
219config VGA_BIOS_FILE
220 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600221 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600222
Martin Roth86ba0d72020-02-05 16:46:30 -0700223config VGA_BIOS_SECOND
224 def_bool y
225
226config VGA_BIOS_SECOND_ID
227 string
228 default "1002,15dd,c4"
229 help
230 Because Dali and Picasso need different video BIOSes, but have the
231 same vendor/device IDs, we need an alternate method to determine the
232 correct video BIOS. In map_oprom_vendev_rev(), we look at the cpuid
233 and decide which rom to load.
234
235 Even though the hardware has the same vendor/device IDs, the vBIOS
236 contains a *different* device ID, confusing the situation even more.
237
238config VGA_BIOS_SECOND_FILE
239 string
240 default "3rdparty/amd_blobs/picasso/Raven2GenericVbios.bin"
241
242config CHECK_REV_IN_OPROM_NAME
243 bool
244 default y
245 help
246 Select this in the platform BIOS or chipset if the option rom has a
247 revision that needs to be checked when searching CBFS.
248
Martin Roth5c354b92019-04-22 14:55:16 -0600249config S3_VGA_ROM_RUN
250 bool
251 default n
252
253config HEAP_SIZE
254 hex
255 default 0xc0000
256
257config EHCI_BAR
258 hex
259 default 0xfef00000
260
Marshall Dawson39c64b02020-09-04 12:07:27 -0600261config PICASSO_FCH_IOAPIC_ID
262 hex
263 default 0x8
264 help
265 The Picasso APU has two IOAPICs, one in the FCH and one in the
266 northbridge. Set this value for the intended ID to assign to the
267 FCH IOAPIC. The value should be >= MAX_CPUS and different from
268 the GNB's IOAPIC_ID.
269
270config PICASSO_GNB_IOAPIC_ID
271 hex
272 default 0x9
273 help
274 The Picasso APU has two IOAPICs, one in the FCH and one in the
275 northbridge. Set this value for the intended ID to assign to the
276 GNB IOAPIC. The value should be >= MAX_CPUS and different from
277 the FCH's IOAPIC_ID.
278
Martin Roth5c354b92019-04-22 14:55:16 -0600279config SERIRQ_CONTINUOUS_MODE
280 bool
281 default n
282 help
283 Set this option to y for serial IRQ in continuous mode.
284 Otherwise it is in quiet mode.
285
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600286config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600287 hex
288 default 0x400
289 help
290 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600291
Felix Held097e4492020-06-16 15:35:20 +0200292config PICASSO_CONSOLE_UART
293 bool "Use Picasso UART controller for console"
Martin Roth5c354b92019-04-22 14:55:16 -0600294 default n
295 select DRIVERS_UART_8250MEM
296 select DRIVERS_UART_8250MEM_32
297 select NO_UART_ON_SUPERIO
298 select UART_OVERRIDE_REFCLK
299 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600300 There are four memory-mapped UARTs controllers in Picasso at:
301 0: 0xfedc9000
302 1: 0xfedca000
303 2: 0xfedc3000
304 3: 0xfedcf000
305
Martin Roth87fafca2020-07-23 13:28:30 -0600306choice
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600307 prompt "UART Frequency"
Felix Held097e4492020-06-16 15:35:20 +0200308 depends on PICASSO_CONSOLE_UART
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600309 default PICASSO_UART_48MZ
310
311config PICASSO_UART_48MZ
312 bool "48 MHz clock"
313 help
314 Select this option for the most compatibility.
315
316config PICASSO_UART_1_8MZ
317 bool "1.8432 MHz clock"
318 help
319 Select this option if an old payload or Linux ttyS0 arguments
320 require it.
321
322endchoice
323
324config PICASSO_UART_LEGACY
325 bool "Decode legacy I/O range"
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600326 help
Rob Barnes28cb14b2020-01-30 10:54:28 -0700327 Assign I/O 3F8, 2F8, etc. to a Picasso UART. A UART accessed with I/O
328 does not allow all the features of MMIO. The MMIO decode is still
329 present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600330
331config CONSOLE_UART_BASE_ADDRESS
Felix Held097e4492020-06-16 15:35:20 +0200332 depends on CONSOLE_SERIAL && PICASSO_CONSOLE_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600333 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600334 default 0xfedc9000 if UART_FOR_CONSOLE = 0
335 default 0xfedca000 if UART_FOR_CONSOLE = 1
336 default 0xfedc3000 if UART_FOR_CONSOLE = 2
337 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600338
339config SMM_TSEG_SIZE
340 hex
341 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
342 default 0x0
343
344config SMM_RESERVED_SIZE
345 hex
Marshall Dawson3e2fabf2020-06-12 10:28:04 -0600346 default 0x180000
Martin Roth5c354b92019-04-22 14:55:16 -0600347
348config SMM_MODULE_STACK_SIZE
349 hex
350 default 0x800
351
352config ACPI_CPU_STRING
353 string
Jason Gleneskf2a59a42020-08-10 00:58:37 -0700354 default "\\_SB.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600355
356config ACPI_BERT
357 bool "Build ACPI BERT Table"
358 default y
359 depends on HAVE_ACPI_TABLES
360 help
361 Report Machine Check errors identified in POST to the OS in an
Marshall Dawson03743b72020-06-18 10:23:48 -0600362 ACPI Boot Error Record Table.
Martin Roth5c354b92019-04-22 14:55:16 -0600363
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700364config ACPI_BERT_SIZE
365 hex
Marshall Dawson03743b72020-06-18 10:23:48 -0600366 default 0x4000 if ACPI_BERT
367 default 0x0
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700368 help
369 Specify the amount of DRAM reserved for gathering the data used to
370 generate the ACPI table.
371
Jason Gleneskbc521432020-09-14 05:22:47 -0700372config ACPI_SSDT_PSD_INDEPENDENT
373 bool "Allow core p-state independent transitions"
374 default y
375 help
376 AMD recommends the ACPI _PSD object to be configured to cause
377 cores to transition between p-states independently. A vendor may
378 choose to generate _PSD object to allow cores to transition together.
379
Furquan Shaikh40a38882020-05-01 10:43:48 -0700380config CHROMEOS
381 select CHROMEOS_RAMOOPS_DYNAMIC
Rob Barnes5ac928d2020-07-07 16:16:12 -0600382 select ALWAYS_LOAD_OPROM
383 select ALWAYS_RUN_OPROM
Furquan Shaikh40a38882020-05-01 10:43:48 -0700384
Marshall Dawson62611412019-06-19 11:46:06 -0600385config RO_REGION_ONLY
386 string
387 depends on CHROMEOS
388 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600389
Marshall Dawson62611412019-06-19 11:46:06 -0600390config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
391 int
Martin Roth4017de02019-12-16 23:21:05 -0700392 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600393
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600394config DISABLE_SPI_FLASH_ROM_SHARING
395 def_bool n
396 help
397 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
398 which indicates a board level ROM transaction request. This
399 removes arbitration with board and assumes the chipset controls
400 the SPI flash bus entirely.
401
Marshall Dawson62611412019-06-19 11:46:06 -0600402config MAINBOARD_POWER_RESTORE
403 def_bool n
404 help
405 This option determines what state to go to once power is restored
406 after having been lost in S0. Select this option to automatically
407 return to S0. Otherwise the system will remain in S5 once power
408 is restored.
409
Marshall Dawson00a22082020-01-20 23:05:31 -0700410config FSP_TEMP_RAM_SIZE
411 hex
Marshall Dawson00a22082020-01-20 23:05:31 -0700412 default 0x40000
413 help
414 The amount of coreboot-allocated heap and stack usage by the FSP.
415
Marshall Dawson62611412019-06-19 11:46:06 -0600416menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600417
Martin Roth5c354b92019-04-22 14:55:16 -0600418config AMD_FWM_POSITION_INDEX
419 int "Firmware Directory Table location (0 to 5)"
420 range 0 5
421 default 0 if BOARD_ROMSIZE_KB_512
422 default 1 if BOARD_ROMSIZE_KB_1024
423 default 2 if BOARD_ROMSIZE_KB_2048
424 default 3 if BOARD_ROMSIZE_KB_4096
425 default 4 if BOARD_ROMSIZE_KB_8192
426 default 5 if BOARD_ROMSIZE_KB_16384
427 help
428 Typically this is calculated by the ROM size, but there may
429 be situations where you want to put the firmware directory
430 table in a different location.
431 0: 512 KB - 0xFFFA0000
432 1: 1 MB - 0xFFF20000
433 2: 2 MB - 0xFFE20000
434 3: 4 MB - 0xFFC20000
435 4: 8 MB - 0xFF820000
436 5: 16 MB - 0xFF020000
437
438comment "AMD Firmware Directory Table set to location for 512KB ROM"
439 depends on AMD_FWM_POSITION_INDEX = 0
440comment "AMD Firmware Directory Table set to location for 1MB ROM"
441 depends on AMD_FWM_POSITION_INDEX = 1
442comment "AMD Firmware Directory Table set to location for 2MB ROM"
443 depends on AMD_FWM_POSITION_INDEX = 2
444comment "AMD Firmware Directory Table set to location for 4MB ROM"
445 depends on AMD_FWM_POSITION_INDEX = 3
446comment "AMD Firmware Directory Table set to location for 8MB ROM"
447 depends on AMD_FWM_POSITION_INDEX = 4
448comment "AMD Firmware Directory Table set to location for 16MB ROM"
449 depends on AMD_FWM_POSITION_INDEX = 5
450
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800451config AMDFW_CONFIG_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700452 string
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800453 default "src/soc/amd/picasso/fw.cfg"
Martin Roth5c354b92019-04-22 14:55:16 -0600454
Zheng Bao6252b602020-09-11 17:06:19 +0800455config USE_PSPSECUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700456 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600457 default y
458 help
459 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
460
461 If unsure, answer 'y'
462
463config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700464 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700465 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600466 help
467 Include the MP2 firmwares and configuration into the PSP build.
468
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700469 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600470
471config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700472 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700473 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600474 help
475 Select this item to include the S0i3 file into the PSP build.
476
477config HAVE_PSP_WHITELIST_FILE
478 bool "Include a debug whitelist file in PSP build"
479 default n
480 help
481 Support secured unlock prior to reset using a whitelisted
482 number? This feature requires a signed whitelist image and
483 bootloader from AMD.
484
485 If unsure, answer 'n'
486
487config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700488 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600489 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600490 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600491
Martin Rothc7acf162020-05-28 00:44:50 -0600492config PSP_SHAREDMEM_SIZE
493 hex "Maximum size of shared memory area"
494 default 0x3000 if VBOOT
495 default 0x0
496 help
497 Sets the maximum size for the PSP to pass the vboot workbuf and
498 any logs or timestamps back to coreboot. This will be copied
499 into main memory by the PSP and will be available when the x86 is
500 started.
501
Furquan Shaikh577db022020-04-24 15:52:04 -0700502config PSP_UNLOCK_SECURE_DEBUG
503 bool "Unlock secure debug"
504 default n
505 help
506 Select this item to enable secure debug options in PSP.
507
Martin Rothde498332020-09-01 11:00:28 -0600508config PSP_VERSTAGE_FILE
509 string "Specify the PSP_verstage file path"
510 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
511 default "$(obj)/psp_verstage.bin"
512 help
513 Add psp_verstage file to the build & PSP Directory Table
514
Martin Rothfe87d762020-09-01 11:04:21 -0600515config PSP_VERSTAGE_SIGNING_TOKEN
516 string "Specify the PSP_verstage Signature Token file path"
517 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
518 default ""
519 help
520 Add psp_verstage signature token to the build & PSP Directory Table
521
Marshall Dawson62611412019-06-19 11:46:06 -0600522endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600523
Martin Rothc7acf162020-05-28 00:44:50 -0600524config VBOOT
525 select VBOOT_VBNV_CMOS
Martin Rothe7e6c4e2020-07-15 11:54:14 -0600526 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Martin Rothc7acf162020-05-28 00:44:50 -0600527
528config VBOOT_STARTS_BEFORE_BOOTBLOCK
529 def_bool n
530 depends on VBOOT
531 select ARCH_VERSTAGE_ARMV7
532 help
533 Runs verstage on the PSP. Only available on
534 certain Chrome OS branded parts from AMD.
535
Martin Roth5632c6b2020-10-28 11:52:30 -0600536config VBOOT_HASH_BLOCK_SIZE
537 hex
538 default 0x9000
539 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
540 help
541 Because the bulk of the time in psp_verstage to hash the RO cbfs is
542 spent in the overhead of doing svc calls, increasing the hash block
543 size significantly cuts the verstage hashing time as seen below.
544
545 4k takes 180ms
546 16k takes 44ms
547 32k takes 33.7ms
548 36k takes 32.5ms
549 There's actually still room for an even bigger stack, but we've
550 reached a point of diminishing returns.
551
Martin Roth50cca762020-08-13 11:06:18 -0600552config CMOS_RECOVERY_BYTE
553 hex
554 default 0x51
555 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
556 help
557 If the workbuf is not passed from the PSP to coreboot, set the
558 recovery flag and reboot. The PSP will read this byte, mark the
559 recovery request in VBNV, and reset the system into recovery mode.
560
561 This is the byte before the default first byte used by VBNV
562 (0x26 + 0x0E - 1)
563
Martin Roth9aa8d112020-06-04 21:31:41 -0600564if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
565
566config RWA_REGION_ONLY
567 string
568 default "apu/amdfw_a"
569 help
570 Add a space-delimited list of filenames that should only be in the
571 RW-A section.
572
573config RWB_REGION_ONLY
574 string
575 default "apu/amdfw_b"
576 help
577 Add a space-delimited list of filenames that should only be in the
578 RW-B section.
579
580config PICASSO_FW_A_POSITION
581 hex
582 help
583 Location of the AMD firmware in the RW_A region
584
585config PICASSO_FW_B_POSITION
586 hex
587 help
588 Location of the AMD firmware in the RW_B region
589
590endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
591
Martin Roth1f337622019-04-22 16:08:31 -0600592endif # SOC_AMD_PICASSO