blob: c3995c87c784f2d014a07a2b96e53a84444c49ca [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
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 Shaikhbc456502020-06-10 16:37:23 -070061config EARLY_RESERVED_DRAM_BASE
62 hex
63 default 0x2000000
64 help
65 This variable defines the base address of the DRAM which is reserved
66 for usage by coreboot in early stages (i.e. before ramstage is up).
67 This memory gets reserved in BIOS tables to ensure that the OS does
68 not use it, thus preventing corruption of OS memory in case of S3
69 resume.
70
71config EARLYRAM_BSP_STACK_SIZE
72 hex
73 default 0x1000
74
75config PSP_APOB_DRAM_ADDRESS
76 hex
77 default 0x2001000
78 help
79 Location in DRAM where the PSP will copy the AGESA PSP Output
80 Block.
81
82config PSP_SHAREDMEM_BASE
83 hex
84 default 0x2011000 if VBOOT
85 default 0x0
86 help
87 This variable defines the base address in DRAM memory where PSP copies
88 vboot workbuf to. This is used in linker script to have a static
89 allocation for the buffer as well as for adding relevant entries in
90 BIOS directory table for the PSP.
91
92config PSP_SHAREDMEM_SIZE
93 hex
94 default 0x8000 if VBOOT
95 default 0x0
96 help
97 Sets the maximum size for the PSP to pass the vboot workbuf and
98 any logs or timestamps back to coreboot. This will be copied
99 into main memory by the PSP and will be available when the x86 is
100 started. The workbuf's base depends on the address of the reset
101 vector.
102
Martin Roth5c354b92019-04-22 14:55:16 -0600103config PRERAM_CBMEM_CONSOLE_SIZE
104 hex
105 default 0x1600
106 help
107 Increase this value if preram cbmem console is getting truncated
108
Furquan Shaikhbc456502020-06-10 16:37:23 -0700109config BOOTBLOCK_ADDR
110 hex
111 default 0x2030000
112 help
113 Sets the address in DRAM where bootblock should be loaded.
114
115config C_ENV_BOOTBLOCK_SIZE
116 hex
117 default 0x10000
118 help
119 Sets the size of the bootblock stage that should be loaded in DRAM.
120 This variable controls the DRAM allocation size in linker script
121 for bootblock stage.
122
123config X86_RESET_VECTOR
124 hex
125 depends on ARCH_X86
126 default 0x203fff0
127 help
128 Sets the reset vector within bootblock where x86 starts execution.
129 Reset vector is supposed to live at offset -0x10 from end of
130 bootblock i.e. BOOTBLOCK_ADDR + C_ENV_BOOTBLOCK_SIZE - 0x10.
131
132config ROMSTAGE_ADDR
133 hex
134 default 0x2040000
135 help
136 Sets the address in DRAM where romstage should be loaded.
137
138config ROMSTAGE_SIZE
139 hex
140 default 0x80000
141 help
142 Sets the size of DRAM allocation for romstage in linker script.
143
144config FSP_M_ADDR
145 hex
146 default 0x20C0000
147 help
148 Sets the address in DRAM where FSP-M should be loaded. cbfstool
149 performs relocation of FSP-M to this address.
150
151config FSP_M_SIZE
152 hex
153 default 0x80000
154 help
155 Sets the size of DRAM allocation for FSP-M in linker script.
156
157config VERSTAGE_ADDR
158 hex
159 depends on VBOOT_SEPARATE_VERSTAGE
160 default 0x2140000
161 help
162 Sets the address in DRAM where verstage should be loaded if running
163 as a separate stage on x86.
164
165config VERSTAGE_SIZE
166 hex
167 depends on VBOOT_SEPARATE_VERSTAGE
168 default 0x80000
169 help
170 Sets the size of DRAM allocation for verstage in linker script if
171 running as a separate stage on x86.
172
173config RAMBASE
174 hex
175 default 0x10000000
176
Martin Roth5c354b92019-04-22 14:55:16 -0600177config CPU_ADDR_BITS
178 int
179 default 48
180
Martin Roth5c354b92019-04-22 14:55:16 -0600181config MMCONF_BASE_ADDRESS
182 hex
183 default 0xF8000000
184
185config MMCONF_BUS_NUMBER
186 int
187 default 64
188
Raul E Rangel5f52c0e2020-05-13 13:22:48 -0600189config VERSTAGE_ADDR
190 hex
191 default 0x4000000
192
Felix Held1032d222020-11-04 16:19:35 +0100193config MAX_CPUS
194 int
195 default 8
196
Martin Roth5c354b92019-04-22 14:55:16 -0600197config VGA_BIOS_ID
198 string
Martin Roth86ba0d72020-02-05 16:46:30 -0700199 default "1002,15d8,c1"
Martin Roth5c354b92019-04-22 14:55:16 -0600200 help
201 The default VGA BIOS PCI vendor/device ID should be set to the
Martin Roth86ba0d72020-02-05 16:46:30 -0700202 result of the map_oprom_vendev_rev() function in northbridge.c.
Martin Roth5c354b92019-04-22 14:55:16 -0600203
204config VGA_BIOS_FILE
205 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600206 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600207
Martin Roth86ba0d72020-02-05 16:46:30 -0700208config VGA_BIOS_SECOND
209 def_bool y
210
211config VGA_BIOS_SECOND_ID
212 string
213 default "1002,15dd,c4"
214 help
215 Because Dali and Picasso need different video BIOSes, but have the
216 same vendor/device IDs, we need an alternate method to determine the
217 correct video BIOS. In map_oprom_vendev_rev(), we look at the cpuid
218 and decide which rom to load.
219
220 Even though the hardware has the same vendor/device IDs, the vBIOS
221 contains a *different* device ID, confusing the situation even more.
222
223config VGA_BIOS_SECOND_FILE
224 string
225 default "3rdparty/amd_blobs/picasso/Raven2GenericVbios.bin"
226
227config CHECK_REV_IN_OPROM_NAME
228 bool
229 default y
230 help
231 Select this in the platform BIOS or chipset if the option rom has a
232 revision that needs to be checked when searching CBFS.
233
Martin Roth5c354b92019-04-22 14:55:16 -0600234config S3_VGA_ROM_RUN
235 bool
236 default n
237
238config HEAP_SIZE
239 hex
240 default 0xc0000
241
242config EHCI_BAR
243 hex
244 default 0xfef00000
245
Marshall Dawson39c64b02020-09-04 12:07:27 -0600246config PICASSO_FCH_IOAPIC_ID
247 hex
248 default 0x8
249 help
250 The Picasso APU has two IOAPICs, one in the FCH and one in the
251 northbridge. Set this value for the intended ID to assign to the
252 FCH IOAPIC. The value should be >= MAX_CPUS and different from
253 the GNB's IOAPIC_ID.
254
255config PICASSO_GNB_IOAPIC_ID
256 hex
257 default 0x9
258 help
259 The Picasso APU has two IOAPICs, one in the FCH and one in the
260 northbridge. Set this value for the intended ID to assign to the
261 GNB IOAPIC. The value should be >= MAX_CPUS and different from
262 the FCH's IOAPIC_ID.
263
Martin Roth5c354b92019-04-22 14:55:16 -0600264config SERIRQ_CONTINUOUS_MODE
265 bool
266 default n
267 help
268 Set this option to y for serial IRQ in continuous mode.
269 Otherwise it is in quiet mode.
270
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600271config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600272 hex
273 default 0x400
274 help
275 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600276
Felix Held097e4492020-06-16 15:35:20 +0200277config PICASSO_CONSOLE_UART
278 bool "Use Picasso UART controller for console"
Martin Roth5c354b92019-04-22 14:55:16 -0600279 default n
280 select DRIVERS_UART_8250MEM
281 select DRIVERS_UART_8250MEM_32
282 select NO_UART_ON_SUPERIO
283 select UART_OVERRIDE_REFCLK
284 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600285 There are four memory-mapped UARTs controllers in Picasso at:
286 0: 0xfedc9000
287 1: 0xfedca000
288 2: 0xfedc3000
289 3: 0xfedcf000
290
Martin Roth87fafca2020-07-23 13:28:30 -0600291choice
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600292 prompt "UART Frequency"
Felix Held097e4492020-06-16 15:35:20 +0200293 depends on PICASSO_CONSOLE_UART
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600294 default PICASSO_UART_48MZ
295
296config PICASSO_UART_48MZ
297 bool "48 MHz clock"
298 help
299 Select this option for the most compatibility.
300
301config PICASSO_UART_1_8MZ
302 bool "1.8432 MHz clock"
303 help
304 Select this option if an old payload or Linux ttyS0 arguments
305 require it.
306
307endchoice
308
309config PICASSO_UART_LEGACY
310 bool "Decode legacy I/O range"
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600311 help
Rob Barnes28cb14b2020-01-30 10:54:28 -0700312 Assign I/O 3F8, 2F8, etc. to a Picasso UART. A UART accessed with I/O
313 does not allow all the features of MMIO. The MMIO decode is still
314 present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600315
316config CONSOLE_UART_BASE_ADDRESS
Felix Held097e4492020-06-16 15:35:20 +0200317 depends on CONSOLE_SERIAL && PICASSO_CONSOLE_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600318 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600319 default 0xfedc9000 if UART_FOR_CONSOLE = 0
320 default 0xfedca000 if UART_FOR_CONSOLE = 1
321 default 0xfedc3000 if UART_FOR_CONSOLE = 2
322 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600323
324config SMM_TSEG_SIZE
325 hex
326 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
327 default 0x0
328
329config SMM_RESERVED_SIZE
330 hex
Marshall Dawson3e2fabf2020-06-12 10:28:04 -0600331 default 0x180000
Martin Roth5c354b92019-04-22 14:55:16 -0600332
333config SMM_MODULE_STACK_SIZE
334 hex
335 default 0x800
336
337config ACPI_CPU_STRING
338 string
Jason Gleneskf2a59a42020-08-10 00:58:37 -0700339 default "\\_SB.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600340
341config ACPI_BERT
342 bool "Build ACPI BERT Table"
343 default y
344 depends on HAVE_ACPI_TABLES
345 help
346 Report Machine Check errors identified in POST to the OS in an
Marshall Dawson03743b72020-06-18 10:23:48 -0600347 ACPI Boot Error Record Table.
Martin Roth5c354b92019-04-22 14:55:16 -0600348
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700349config ACPI_BERT_SIZE
350 hex
Marshall Dawson03743b72020-06-18 10:23:48 -0600351 default 0x4000 if ACPI_BERT
352 default 0x0
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700353 help
354 Specify the amount of DRAM reserved for gathering the data used to
355 generate the ACPI table.
356
Jason Gleneskbc521432020-09-14 05:22:47 -0700357config ACPI_SSDT_PSD_INDEPENDENT
358 bool "Allow core p-state independent transitions"
359 default y
360 help
361 AMD recommends the ACPI _PSD object to be configured to cause
362 cores to transition between p-states independently. A vendor may
363 choose to generate _PSD object to allow cores to transition together.
364
Furquan Shaikh40a38882020-05-01 10:43:48 -0700365config CHROMEOS
366 select CHROMEOS_RAMOOPS_DYNAMIC
Rob Barnes5ac928d2020-07-07 16:16:12 -0600367 select ALWAYS_LOAD_OPROM
368 select ALWAYS_RUN_OPROM
Furquan Shaikh40a38882020-05-01 10:43:48 -0700369
Marshall Dawson62611412019-06-19 11:46:06 -0600370config RO_REGION_ONLY
371 string
372 depends on CHROMEOS
373 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600374
Marshall Dawson62611412019-06-19 11:46:06 -0600375config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
376 int
Martin Roth4017de02019-12-16 23:21:05 -0700377 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600378
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600379config PICASSO_LPC_IOMUX
380 bool
381 help
382 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
383 Select this option if LPC signals are required.
384
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600385config DISABLE_SPI_FLASH_ROM_SHARING
386 def_bool n
387 help
388 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
389 which indicates a board level ROM transaction request. This
390 removes arbitration with board and assumes the chipset controls
391 the SPI flash bus entirely.
392
Marshall Dawson62611412019-06-19 11:46:06 -0600393config MAINBOARD_POWER_RESTORE
394 def_bool n
395 help
396 This option determines what state to go to once power is restored
397 after having been lost in S0. Select this option to automatically
398 return to S0. Otherwise the system will remain in S5 once power
399 is restored.
400
Marshall Dawson00a22082020-01-20 23:05:31 -0700401config FSP_TEMP_RAM_SIZE
402 hex
Marshall Dawson00a22082020-01-20 23:05:31 -0700403 default 0x40000
404 help
405 The amount of coreboot-allocated heap and stack usage by the FSP.
406
Marshall Dawson62611412019-06-19 11:46:06 -0600407menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600408
Martin Roth5c354b92019-04-22 14:55:16 -0600409config AMD_FWM_POSITION_INDEX
410 int "Firmware Directory Table location (0 to 5)"
411 range 0 5
412 default 0 if BOARD_ROMSIZE_KB_512
413 default 1 if BOARD_ROMSIZE_KB_1024
414 default 2 if BOARD_ROMSIZE_KB_2048
415 default 3 if BOARD_ROMSIZE_KB_4096
416 default 4 if BOARD_ROMSIZE_KB_8192
417 default 5 if BOARD_ROMSIZE_KB_16384
418 help
419 Typically this is calculated by the ROM size, but there may
420 be situations where you want to put the firmware directory
421 table in a different location.
422 0: 512 KB - 0xFFFA0000
423 1: 1 MB - 0xFFF20000
424 2: 2 MB - 0xFFE20000
425 3: 4 MB - 0xFFC20000
426 4: 8 MB - 0xFF820000
427 5: 16 MB - 0xFF020000
428
429comment "AMD Firmware Directory Table set to location for 512KB ROM"
430 depends on AMD_FWM_POSITION_INDEX = 0
431comment "AMD Firmware Directory Table set to location for 1MB ROM"
432 depends on AMD_FWM_POSITION_INDEX = 1
433comment "AMD Firmware Directory Table set to location for 2MB ROM"
434 depends on AMD_FWM_POSITION_INDEX = 2
435comment "AMD Firmware Directory Table set to location for 4MB ROM"
436 depends on AMD_FWM_POSITION_INDEX = 3
437comment "AMD Firmware Directory Table set to location for 8MB ROM"
438 depends on AMD_FWM_POSITION_INDEX = 4
439comment "AMD Firmware Directory Table set to location for 16MB ROM"
440 depends on AMD_FWM_POSITION_INDEX = 5
441
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800442config AMDFW_CONFIG_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700443 string
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800444 default "src/soc/amd/picasso/fw.cfg"
Martin Roth5c354b92019-04-22 14:55:16 -0600445
Zheng Bao6252b602020-09-11 17:06:19 +0800446config USE_PSPSECUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700447 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600448 default y
449 help
450 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
451
452 If unsure, answer 'y'
453
454config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700455 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700456 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600457 help
458 Include the MP2 firmwares and configuration into the PSP build.
459
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700460 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600461
462config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700463 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700464 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600465 help
466 Select this item to include the S0i3 file into the PSP build.
467
468config HAVE_PSP_WHITELIST_FILE
469 bool "Include a debug whitelist file in PSP build"
470 default n
471 help
472 Support secured unlock prior to reset using a whitelisted
473 number? This feature requires a signed whitelist image and
474 bootloader from AMD.
475
476 If unsure, answer 'n'
477
478config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700479 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600480 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600481 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600482
Martin Rothc7acf162020-05-28 00:44:50 -0600483config PSP_SHAREDMEM_SIZE
484 hex "Maximum size of shared memory area"
485 default 0x3000 if VBOOT
486 default 0x0
487 help
488 Sets the maximum size for the PSP to pass the vboot workbuf and
489 any logs or timestamps back to coreboot. This will be copied
490 into main memory by the PSP and will be available when the x86 is
491 started.
492
Furquan Shaikh577db022020-04-24 15:52:04 -0700493config PSP_UNLOCK_SECURE_DEBUG
494 bool "Unlock secure debug"
495 default n
496 help
497 Select this item to enable secure debug options in PSP.
498
Martin Rothde498332020-09-01 11:00:28 -0600499config PSP_VERSTAGE_FILE
500 string "Specify the PSP_verstage file path"
501 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
502 default "$(obj)/psp_verstage.bin"
503 help
504 Add psp_verstage file to the build & PSP Directory Table
505
Martin Rothfe87d762020-09-01 11:04:21 -0600506config PSP_VERSTAGE_SIGNING_TOKEN
507 string "Specify the PSP_verstage Signature Token file path"
508 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
509 default ""
510 help
511 Add psp_verstage signature token to the build & PSP Directory Table
512
Marshall Dawson62611412019-06-19 11:46:06 -0600513endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600514
Martin Rothc7acf162020-05-28 00:44:50 -0600515config VBOOT
516 select VBOOT_VBNV_CMOS
Martin Rothe7e6c4e2020-07-15 11:54:14 -0600517 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Martin Rothc7acf162020-05-28 00:44:50 -0600518
519config VBOOT_STARTS_BEFORE_BOOTBLOCK
520 def_bool n
521 depends on VBOOT
522 select ARCH_VERSTAGE_ARMV7
523 help
524 Runs verstage on the PSP. Only available on
525 certain Chrome OS branded parts from AMD.
526
Martin Roth5632c6b2020-10-28 11:52:30 -0600527config VBOOT_HASH_BLOCK_SIZE
528 hex
529 default 0x9000
530 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
531 help
532 Because the bulk of the time in psp_verstage to hash the RO cbfs is
533 spent in the overhead of doing svc calls, increasing the hash block
534 size significantly cuts the verstage hashing time as seen below.
535
536 4k takes 180ms
537 16k takes 44ms
538 32k takes 33.7ms
539 36k takes 32.5ms
540 There's actually still room for an even bigger stack, but we've
541 reached a point of diminishing returns.
542
Martin Roth50cca762020-08-13 11:06:18 -0600543config CMOS_RECOVERY_BYTE
544 hex
545 default 0x51
546 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
547 help
548 If the workbuf is not passed from the PSP to coreboot, set the
549 recovery flag and reboot. The PSP will read this byte, mark the
550 recovery request in VBNV, and reset the system into recovery mode.
551
552 This is the byte before the default first byte used by VBNV
553 (0x26 + 0x0E - 1)
554
Martin Roth9aa8d112020-06-04 21:31:41 -0600555if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
556
557config RWA_REGION_ONLY
558 string
559 default "apu/amdfw_a"
560 help
561 Add a space-delimited list of filenames that should only be in the
562 RW-A section.
563
564config RWB_REGION_ONLY
565 string
566 default "apu/amdfw_b"
567 help
568 Add a space-delimited list of filenames that should only be in the
569 RW-B section.
570
571config PICASSO_FW_A_POSITION
572 hex
573 help
574 Location of the AMD firmware in the RW_A region
575
576config PICASSO_FW_B_POSITION
577 hex
578 help
579 Location of the AMD firmware in the RW_B region
580
581endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
582
Martin Roth1f337622019-04-22 16:08:31 -0600583endif # SOC_AMD_PICASSO