blob: 6a5b93244dbd3582ba7b79015cdbd5520c77487f [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
Marshall Dawson80d0b012019-06-19 12:29:23 -060027 select TSC_MONOTONIC_TIMER
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
Marshall Dawson5a73fc32020-01-24 09:42:57 -070044 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060045 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060046 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060047 select PARALLEL_MP
48 select PARALLEL_MP_AP_WORK
49 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060050 select SSE2
51 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070052 select PLATFORM_USES_FSP2_0
Furquan Shaikhc3063c52020-05-28 11:58:20 -070053 select FSP_COMPRESS_FSP_M_LZMA
54 select FSP_COMPRESS_FSP_S_LZMA
Marshall Dawson00a22082020-01-20 23:05:31 -070055 select UDK_2017_BINDING
56 select HAVE_CF9_RESET
Zheng Bao6ba591b2020-06-09 09:47:06 +080057 select SUPPORT_CPU_UCODE_IN_CBFS
Kyösti Mälkkic3c55212020-06-17 10:34:26 +030058 select ACPI_NO_SMI_GNVS
Martin Roth5c354b92019-04-22 14:55:16 -060059
Furquan Shaikh3b032062020-06-10 11:52:49 -070060config MEMLAYOUT_LD_FILE
61 string
62 default "src/soc/amd/picasso/memlayout.ld"
63
Furquan Shaikhbc456502020-06-10 16:37:23 -070064config EARLY_RESERVED_DRAM_BASE
65 hex
66 default 0x2000000
67 help
68 This variable defines the base address of the DRAM which is reserved
69 for usage by coreboot in early stages (i.e. before ramstage is up).
70 This memory gets reserved in BIOS tables to ensure that the OS does
71 not use it, thus preventing corruption of OS memory in case of S3
72 resume.
73
74config EARLYRAM_BSP_STACK_SIZE
75 hex
76 default 0x1000
77
78config PSP_APOB_DRAM_ADDRESS
79 hex
80 default 0x2001000
81 help
82 Location in DRAM where the PSP will copy the AGESA PSP Output
83 Block.
84
85config PSP_SHAREDMEM_BASE
86 hex
87 default 0x2011000 if VBOOT
88 default 0x0
89 help
90 This variable defines the base address in DRAM memory where PSP copies
91 vboot workbuf to. This is used in linker script to have a static
92 allocation for the buffer as well as for adding relevant entries in
93 BIOS directory table for the PSP.
94
95config PSP_SHAREDMEM_SIZE
96 hex
97 default 0x8000 if VBOOT
98 default 0x0
99 help
100 Sets the maximum size for the PSP to pass the vboot workbuf and
101 any logs or timestamps back to coreboot. This will be copied
102 into main memory by the PSP and will be available when the x86 is
103 started. The workbuf's base depends on the address of the reset
104 vector.
105
Martin Roth5c354b92019-04-22 14:55:16 -0600106config PRERAM_CBMEM_CONSOLE_SIZE
107 hex
108 default 0x1600
109 help
110 Increase this value if preram cbmem console is getting truncated
111
Furquan Shaikhbc456502020-06-10 16:37:23 -0700112config BOOTBLOCK_ADDR
113 hex
114 default 0x2030000
115 help
116 Sets the address in DRAM where bootblock should be loaded.
117
118config C_ENV_BOOTBLOCK_SIZE
119 hex
120 default 0x10000
121 help
122 Sets the size of the bootblock stage that should be loaded in DRAM.
123 This variable controls the DRAM allocation size in linker script
124 for bootblock stage.
125
126config X86_RESET_VECTOR
127 hex
128 depends on ARCH_X86
129 default 0x203fff0
130 help
131 Sets the reset vector within bootblock where x86 starts execution.
132 Reset vector is supposed to live at offset -0x10 from end of
133 bootblock i.e. BOOTBLOCK_ADDR + C_ENV_BOOTBLOCK_SIZE - 0x10.
134
135config ROMSTAGE_ADDR
136 hex
137 default 0x2040000
138 help
139 Sets the address in DRAM where romstage should be loaded.
140
141config ROMSTAGE_SIZE
142 hex
143 default 0x80000
144 help
145 Sets the size of DRAM allocation for romstage in linker script.
146
147config FSP_M_ADDR
148 hex
149 default 0x20C0000
150 help
151 Sets the address in DRAM where FSP-M should be loaded. cbfstool
152 performs relocation of FSP-M to this address.
153
154config FSP_M_SIZE
155 hex
156 default 0x80000
157 help
158 Sets the size of DRAM allocation for FSP-M in linker script.
159
160config VERSTAGE_ADDR
161 hex
162 depends on VBOOT_SEPARATE_VERSTAGE
163 default 0x2140000
164 help
165 Sets the address in DRAM where verstage should be loaded if running
166 as a separate stage on x86.
167
168config VERSTAGE_SIZE
169 hex
170 depends on VBOOT_SEPARATE_VERSTAGE
171 default 0x80000
172 help
173 Sets the size of DRAM allocation for verstage in linker script if
174 running as a separate stage on x86.
175
176config RAMBASE
177 hex
178 default 0x10000000
179
Martin Roth5c354b92019-04-22 14:55:16 -0600180config CPU_ADDR_BITS
181 int
182 default 48
183
Martin Roth5c354b92019-04-22 14:55:16 -0600184config MMCONF_BASE_ADDRESS
185 hex
186 default 0xF8000000
187
188config MMCONF_BUS_NUMBER
189 int
190 default 64
191
Raul E Rangel5f52c0e2020-05-13 13:22:48 -0600192config VERSTAGE_ADDR
193 hex
194 default 0x4000000
195
Martin Roth5c354b92019-04-22 14:55:16 -0600196config VGA_BIOS_ID
197 string
Martin Roth86ba0d72020-02-05 16:46:30 -0700198 default "1002,15d8,c1"
Martin Roth5c354b92019-04-22 14:55:16 -0600199 help
200 The default VGA BIOS PCI vendor/device ID should be set to the
Martin Roth86ba0d72020-02-05 16:46:30 -0700201 result of the map_oprom_vendev_rev() function in northbridge.c.
Martin Roth5c354b92019-04-22 14:55:16 -0600202
203config VGA_BIOS_FILE
204 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600205 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600206
Martin Roth86ba0d72020-02-05 16:46:30 -0700207config VGA_BIOS_SECOND
208 def_bool y
209
210config VGA_BIOS_SECOND_ID
211 string
212 default "1002,15dd,c4"
213 help
214 Because Dali and Picasso need different video BIOSes, but have the
215 same vendor/device IDs, we need an alternate method to determine the
216 correct video BIOS. In map_oprom_vendev_rev(), we look at the cpuid
217 and decide which rom to load.
218
219 Even though the hardware has the same vendor/device IDs, the vBIOS
220 contains a *different* device ID, confusing the situation even more.
221
222config VGA_BIOS_SECOND_FILE
223 string
224 default "3rdparty/amd_blobs/picasso/Raven2GenericVbios.bin"
225
226config CHECK_REV_IN_OPROM_NAME
227 bool
228 default y
229 help
230 Select this in the platform BIOS or chipset if the option rom has a
231 revision that needs to be checked when searching CBFS.
232
Martin Roth5c354b92019-04-22 14:55:16 -0600233config S3_VGA_ROM_RUN
234 bool
235 default n
236
237config HEAP_SIZE
238 hex
239 default 0xc0000
240
241config EHCI_BAR
242 hex
243 default 0xfef00000
244
Marshall Dawson39c64b02020-09-04 12:07:27 -0600245config PICASSO_FCH_IOAPIC_ID
246 hex
247 default 0x8
248 help
249 The Picasso APU has two IOAPICs, one in the FCH and one in the
250 northbridge. Set this value for the intended ID to assign to the
251 FCH IOAPIC. The value should be >= MAX_CPUS and different from
252 the GNB's IOAPIC_ID.
253
254config PICASSO_GNB_IOAPIC_ID
255 hex
256 default 0x9
257 help
258 The Picasso APU has two IOAPICs, one in the FCH and one in the
259 northbridge. Set this value for the intended ID to assign to the
260 GNB IOAPIC. The value should be >= MAX_CPUS and different from
261 the FCH's IOAPIC_ID.
262
Martin Roth5c354b92019-04-22 14:55:16 -0600263config SERIRQ_CONTINUOUS_MODE
264 bool
265 default n
266 help
267 Set this option to y for serial IRQ in continuous mode.
268 Otherwise it is in quiet mode.
269
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600270config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600271 hex
272 default 0x400
273 help
274 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600275
Felix Held097e4492020-06-16 15:35:20 +0200276config PICASSO_CONSOLE_UART
277 bool "Use Picasso UART controller for console"
Martin Roth5c354b92019-04-22 14:55:16 -0600278 default n
279 select DRIVERS_UART_8250MEM
280 select DRIVERS_UART_8250MEM_32
281 select NO_UART_ON_SUPERIO
282 select UART_OVERRIDE_REFCLK
283 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600284 There are four memory-mapped UARTs controllers in Picasso at:
285 0: 0xfedc9000
286 1: 0xfedca000
287 2: 0xfedc3000
288 3: 0xfedcf000
289
Martin Roth87fafca2020-07-23 13:28:30 -0600290choice
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600291 prompt "UART Frequency"
Felix Held097e4492020-06-16 15:35:20 +0200292 depends on PICASSO_CONSOLE_UART
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600293 default PICASSO_UART_48MZ
294
295config PICASSO_UART_48MZ
296 bool "48 MHz clock"
297 help
298 Select this option for the most compatibility.
299
300config PICASSO_UART_1_8MZ
301 bool "1.8432 MHz clock"
302 help
303 Select this option if an old payload or Linux ttyS0 arguments
304 require it.
305
306endchoice
307
308config PICASSO_UART_LEGACY
309 bool "Decode legacy I/O range"
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600310 help
Rob Barnes28cb14b2020-01-30 10:54:28 -0700311 Assign I/O 3F8, 2F8, etc. to a Picasso UART. A UART accessed with I/O
312 does not allow all the features of MMIO. The MMIO decode is still
313 present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600314
315config CONSOLE_UART_BASE_ADDRESS
Felix Held097e4492020-06-16 15:35:20 +0200316 depends on CONSOLE_SERIAL && PICASSO_CONSOLE_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600317 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600318 default 0xfedc9000 if UART_FOR_CONSOLE = 0
319 default 0xfedca000 if UART_FOR_CONSOLE = 1
320 default 0xfedc3000 if UART_FOR_CONSOLE = 2
321 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600322
323config SMM_TSEG_SIZE
324 hex
325 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
326 default 0x0
327
328config SMM_RESERVED_SIZE
329 hex
Marshall Dawson3e2fabf2020-06-12 10:28:04 -0600330 default 0x180000
Martin Roth5c354b92019-04-22 14:55:16 -0600331
332config SMM_MODULE_STACK_SIZE
333 hex
334 default 0x800
335
336config ACPI_CPU_STRING
337 string
Jason Gleneskf2a59a42020-08-10 00:58:37 -0700338 default "\\_SB.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600339
340config ACPI_BERT
341 bool "Build ACPI BERT Table"
342 default y
343 depends on HAVE_ACPI_TABLES
344 help
345 Report Machine Check errors identified in POST to the OS in an
Marshall Dawson03743b72020-06-18 10:23:48 -0600346 ACPI Boot Error Record Table.
Martin Roth5c354b92019-04-22 14:55:16 -0600347
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700348config ACPI_BERT_SIZE
349 hex
Marshall Dawson03743b72020-06-18 10:23:48 -0600350 default 0x4000 if ACPI_BERT
351 default 0x0
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700352 help
353 Specify the amount of DRAM reserved for gathering the data used to
354 generate the ACPI table.
355
Jason Gleneskbc521432020-09-14 05:22:47 -0700356config ACPI_SSDT_PSD_INDEPENDENT
357 bool "Allow core p-state independent transitions"
358 default y
359 help
360 AMD recommends the ACPI _PSD object to be configured to cause
361 cores to transition between p-states independently. A vendor may
362 choose to generate _PSD object to allow cores to transition together.
363
Furquan Shaikh40a38882020-05-01 10:43:48 -0700364config CHROMEOS
365 select CHROMEOS_RAMOOPS_DYNAMIC
Rob Barnes5ac928d2020-07-07 16:16:12 -0600366 select ALWAYS_LOAD_OPROM
367 select ALWAYS_RUN_OPROM
Furquan Shaikh40a38882020-05-01 10:43:48 -0700368
Marshall Dawson62611412019-06-19 11:46:06 -0600369config RO_REGION_ONLY
370 string
371 depends on CHROMEOS
372 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600373
Marshall Dawson62611412019-06-19 11:46:06 -0600374config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
375 int
Martin Roth4017de02019-12-16 23:21:05 -0700376 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600377
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600378config PICASSO_LPC_IOMUX
379 bool
380 help
381 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
382 Select this option if LPC signals are required.
383
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600384config DISABLE_SPI_FLASH_ROM_SHARING
385 def_bool n
386 help
387 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
388 which indicates a board level ROM transaction request. This
389 removes arbitration with board and assumes the chipset controls
390 the SPI flash bus entirely.
391
Marshall Dawson62611412019-06-19 11:46:06 -0600392config MAINBOARD_POWER_RESTORE
393 def_bool n
394 help
395 This option determines what state to go to once power is restored
396 after having been lost in S0. Select this option to automatically
397 return to S0. Otherwise the system will remain in S5 once power
398 is restored.
399
Marshall Dawson00a22082020-01-20 23:05:31 -0700400config FSP_TEMP_RAM_SIZE
401 hex
Marshall Dawson00a22082020-01-20 23:05:31 -0700402 default 0x40000
403 help
404 The amount of coreboot-allocated heap and stack usage by the FSP.
405
Marshall Dawson62611412019-06-19 11:46:06 -0600406menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600407
Martin Roth5c354b92019-04-22 14:55:16 -0600408config AMDFW_OUTSIDE_CBFS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700409 bool
Martin Roth5c354b92019-04-22 14:55:16 -0600410 default n
411 help
412 The AMDFW (PSP) is typically locatable in cbfs. Select this
413 option to manually attach the generated amdfw.rom outside of
414 cbfs. The location is selected by the FWM position.
415
416config AMD_FWM_POSITION_INDEX
417 int "Firmware Directory Table location (0 to 5)"
418 range 0 5
419 default 0 if BOARD_ROMSIZE_KB_512
420 default 1 if BOARD_ROMSIZE_KB_1024
421 default 2 if BOARD_ROMSIZE_KB_2048
422 default 3 if BOARD_ROMSIZE_KB_4096
423 default 4 if BOARD_ROMSIZE_KB_8192
424 default 5 if BOARD_ROMSIZE_KB_16384
425 help
426 Typically this is calculated by the ROM size, but there may
427 be situations where you want to put the firmware directory
428 table in a different location.
429 0: 512 KB - 0xFFFA0000
430 1: 1 MB - 0xFFF20000
431 2: 2 MB - 0xFFE20000
432 3: 4 MB - 0xFFC20000
433 4: 8 MB - 0xFF820000
434 5: 16 MB - 0xFF020000
435
436comment "AMD Firmware Directory Table set to location for 512KB ROM"
437 depends on AMD_FWM_POSITION_INDEX = 0
438comment "AMD Firmware Directory Table set to location for 1MB ROM"
439 depends on AMD_FWM_POSITION_INDEX = 1
440comment "AMD Firmware Directory Table set to location for 2MB ROM"
441 depends on AMD_FWM_POSITION_INDEX = 2
442comment "AMD Firmware Directory Table set to location for 4MB ROM"
443 depends on AMD_FWM_POSITION_INDEX = 3
444comment "AMD Firmware Directory Table set to location for 8MB ROM"
445 depends on AMD_FWM_POSITION_INDEX = 4
446comment "AMD Firmware Directory Table set to location for 16MB ROM"
447 depends on AMD_FWM_POSITION_INDEX = 5
448
Marshall Dawson62611412019-06-19 11:46:06 -0600449config AMD_PUBKEY_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700450 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600451 default "3rdparty/amd_blobs/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600452
Zheng Bao6252b602020-09-11 17:06:19 +0800453config USE_PSPSECUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700454 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600455 default y
456 help
457 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
458
459 If unsure, answer 'y'
460
461config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700462 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700463 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600464 help
465 Include the MP2 firmwares and configuration into the PSP build.
466
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700467 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600468
469config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700470 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700471 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600472 help
473 Select this item to include the S0i3 file into the PSP build.
474
475config HAVE_PSP_WHITELIST_FILE
476 bool "Include a debug whitelist file in PSP build"
477 default n
478 help
479 Support secured unlock prior to reset using a whitelisted
480 number? This feature requires a signed whitelist image and
481 bootloader from AMD.
482
483 If unsure, answer 'n'
484
485config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700486 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600487 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600488 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600489
Martin Roth49b09a02020-02-20 13:54:06 -0700490config PSP_BOOTLOADER_FILE
491 string "Specify the PSP Bootloader file path"
492 default "3rdparty/amd_blobs/picasso/PSP/PspBootLoader_WL_RV.sbin" if HAVE_PSP_WHITELIST_FILE
493 default "3rdparty/amd_blobs/picasso/PSP/PspBootLoader_prod_RV.sbin"
494 help
495 Supply the name of the PSP bootloader file.
496
497 Note that this option may conflict with the whitelist file if a
498 different PSP bootloader binary is specified.
499
Martin Rothc7acf162020-05-28 00:44:50 -0600500config PSP_SHAREDMEM_SIZE
501 hex "Maximum size of shared memory area"
502 default 0x3000 if VBOOT
503 default 0x0
504 help
505 Sets the maximum size for the PSP to pass the vboot workbuf and
506 any logs or timestamps back to coreboot. This will be copied
507 into main memory by the PSP and will be available when the x86 is
508 started.
509
Furquan Shaikh577db022020-04-24 15:52:04 -0700510config PSP_UNLOCK_SECURE_DEBUG
511 bool "Unlock secure debug"
512 default n
513 help
514 Select this item to enable secure debug options in PSP.
515
Martin Rothde498332020-09-01 11:00:28 -0600516config PSP_VERSTAGE_FILE
517 string "Specify the PSP_verstage file path"
518 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
519 default "$(obj)/psp_verstage.bin"
520 help
521 Add psp_verstage file to the build & PSP Directory Table
522
Martin Rothfe87d762020-09-01 11:04:21 -0600523config PSP_VERSTAGE_SIGNING_TOKEN
524 string "Specify the PSP_verstage Signature Token file path"
525 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
526 default ""
527 help
528 Add psp_verstage signature token to the build & PSP Directory Table
529
Marshall Dawson62611412019-06-19 11:46:06 -0600530endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600531
Martin Rothc7acf162020-05-28 00:44:50 -0600532config VBOOT
533 select VBOOT_VBNV_CMOS
Martin Rothe7e6c4e2020-07-15 11:54:14 -0600534 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Martin Rothc7acf162020-05-28 00:44:50 -0600535
536config VBOOT_STARTS_BEFORE_BOOTBLOCK
537 def_bool n
538 depends on VBOOT
539 select ARCH_VERSTAGE_ARMV7
540 help
541 Runs verstage on the PSP. Only available on
542 certain Chrome OS branded parts from AMD.
543
Martin Roth50cca762020-08-13 11:06:18 -0600544config CMOS_RECOVERY_BYTE
545 hex
546 default 0x51
547 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
548 help
549 If the workbuf is not passed from the PSP to coreboot, set the
550 recovery flag and reboot. The PSP will read this byte, mark the
551 recovery request in VBNV, and reset the system into recovery mode.
552
553 This is the byte before the default first byte used by VBNV
554 (0x26 + 0x0E - 1)
555
Martin Roth9aa8d112020-06-04 21:31:41 -0600556if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
557
558config RWA_REGION_ONLY
559 string
560 default "apu/amdfw_a"
561 help
562 Add a space-delimited list of filenames that should only be in the
563 RW-A section.
564
565config RWB_REGION_ONLY
566 string
567 default "apu/amdfw_b"
568 help
569 Add a space-delimited list of filenames that should only be in the
570 RW-B section.
571
572config PICASSO_FW_A_POSITION
573 hex
574 help
575 Location of the AMD firmware in the RW_A region
576
577config PICASSO_FW_B_POSITION
578 hex
579 help
580 Location of the AMD firmware in the RW_B region
581
582endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
583
Martin Roth1f337622019-04-22 16:08:31 -0600584endif # SOC_AMD_PICASSO