blob: 44728a8a8048a2e831b4ca3aea7183e58f49b3d5 [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
Angel Pons8e035e32021-06-22 12:58:20 +020016 select ARCH_X86
Felix Held46673222020-04-04 02:37:04 +020017 select RESET_VECTOR_IN_RAM
Martin Roth5c354b92019-04-22 14:55:16 -060018 select X86_AMD_FIXED_MTRRS
Marshall Dawson34c30562019-07-16 15:18:00 -060019 select X86_AMD_INIT_SIPI
Kyösti Mälkki3139c8d2020-06-28 16:33:33 +030020 select ACPI_SOC_NVS
Martin Roth5c354b92019-04-22 14:55:16 -060021 select DRIVERS_I2C_DESIGNWARE
Raul E Rangel0357ab72020-07-09 12:08:58 -060022 select DRIVERS_USB_PCI_XHCI
Martin Roth5c354b92019-04-22 14:55:16 -060023 select GENERIC_GPIO_LIB
Furquan Shaikh8e915092020-06-17 23:15:35 -070024 select IDT_IN_EVERY_STAGE
Martin Roth5c354b92019-04-22 14:55:16 -060025 select IOAPIC
Felix Helde697fd92021-01-18 15:10:43 +010026 select HAVE_ACPI_TABLES
Furquan Shaikh0eabe132020-04-28 21:57:07 -070027 select HAVE_EM100_SUPPORT
Martin Roth5c354b92019-04-22 14:55:16 -060028 select SOC_AMD_COMMON
Karthikeyan Ramasubramanian4520aa22021-04-23 11:42:19 -060029 select SOC_AMD_COMMON_BLOCK_ACP
Felix Held33c548b2021-01-27 20:34:24 +010030 select SOC_AMD_COMMON_BLOCK_ACPI
31 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held18b51e92021-05-08 01:30:30 +020032 select SOC_AMD_COMMON_BLOCK_ACPI_ALIB
Eric Lai65b0afe2021-04-09 11:50:48 +080033 select SOC_AMD_COMMON_BLOCK_ACPI_GPIO
Felix Held33c548b2021-01-27 20:34:24 +010034 select SOC_AMD_COMMON_BLOCK_AOAC
Felix Held21c46c02021-03-05 00:13:16 +010035 select SOC_AMD_COMMON_BLOCK_APOB
Felix Held33c548b2021-01-27 20:34:24 +010036 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
Felix Helddba3fe72021-02-13 01:05:56 +010037 select SOC_AMD_COMMON_BLOCK_DATA_FABRIC
Felix Held33c548b2021-01-27 20:34:24 +010038 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Furquan Shaikh702cf302020-05-09 18:30:51 -070039 select SOC_AMD_COMMON_BLOCK_HAS_ESPI
Martin Roth5c354b92019-04-22 14:55:16 -060040 select SOC_AMD_COMMON_BLOCK_HDA
Karthikeyan Ramasubramanian0dbea482021-03-08 23:23:50 -070041 select SOC_AMD_COMMON_BLOCK_I2C
Felix Held33c548b2021-01-27 20:34:24 +010042 select SOC_AMD_COMMON_BLOCK_IOMMU
43 select SOC_AMD_COMMON_BLOCK_LPC
44 select SOC_AMD_COMMON_BLOCK_NONCAR
45 select SOC_AMD_COMMON_BLOCK_PCI
Raul E Rangel48314112021-05-10 14:55:11 -060046 select SOC_AMD_COMMON_BLOCK_PCIE_GPP_DRIVER
Felix Held0d2c0012021-04-12 23:44:14 +020047 select SOC_AMD_COMMON_BLOCK_PM
48 select SOC_AMD_COMMON_BLOCK_PM_CHIPSET_STATE_SAVE
Felix Held33c548b2021-01-27 20:34:24 +010049 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Martin Roth5c354b92019-04-22 14:55:16 -060050 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070051 select SOC_AMD_COMMON_BLOCK_SMBUS
Felix Held161d8092020-12-01 18:17:42 +010052 select SOC_AMD_COMMON_BLOCK_SMI
Felix Heldbc134812021-02-10 02:26:10 +010053 select SOC_AMD_COMMON_BLOCK_SMM
Felix Held60a46432020-11-12 00:14:16 +010054 select SOC_AMD_COMMON_BLOCK_SMU
Felix Held33c548b2021-01-27 20:34:24 +010055 select SOC_AMD_COMMON_BLOCK_SPI
Felix Held2f5c7592020-12-04 17:31:10 +010056 select SOC_AMD_COMMON_BLOCK_TSC_FAM17H_19H
Felix Held6f8f9c92020-12-09 21:36:56 +010057 select SOC_AMD_COMMON_BLOCK_UART
Raul E Rangel394c6b02021-02-12 14:37:43 -070058 select SOC_AMD_COMMON_BLOCK_UCODE
Nikolai Vyssotskia289cdd2021-04-28 18:09:29 -050059 select SOC_AMD_COMMON_FSP_DMI_TABLES
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060060 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060061 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060062 select PARALLEL_MP_AP_WORK
63 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060064 select SSE2
65 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070066 select PLATFORM_USES_FSP2_0
Furquan Shaikhc3063c52020-05-28 11:58:20 -070067 select FSP_COMPRESS_FSP_M_LZMA
68 select FSP_COMPRESS_FSP_S_LZMA
Marshall Dawson00a22082020-01-20 23:05:31 -070069 select UDK_2017_BINDING
70 select HAVE_CF9_RESET
Raul E Rangel394c6b02021-02-12 14:37:43 -070071
72config SOC_AMD_COMMON_BLOCK_UCODE_SIZE
73 default 3200
Martin Roth5c354b92019-04-22 14:55:16 -060074
Felix Heldc4eb45f2021-02-13 02:36:02 +010075config CHIPSET_DEVICETREE
76 string
77 default "soc/amd/picasso/chipset.cb"
78
Felix Held3cc3d812020-06-17 16:16:08 +020079config FSP_M_FILE
80 string "FSP-M (memory init) binary path and filename"
81 depends on ADD_FSP_BINARIES
82 default "3rdparty/amd_blobs/picasso/PICASSO_M.fd"
83 help
84 The path and filename of the FSP-M binary for this platform.
85
86config FSP_S_FILE
87 string "FSP-S (silicon init) binary path and filename"
88 depends on ADD_FSP_BINARIES
89 default "3rdparty/amd_blobs/picasso/PICASSO_S.fd"
90 help
91 The path and filename of the FSP-S binary for this platform.
92
Furquan Shaikhbc456502020-06-10 16:37:23 -070093config EARLY_RESERVED_DRAM_BASE
94 hex
95 default 0x2000000
96 help
97 This variable defines the base address of the DRAM which is reserved
98 for usage by coreboot in early stages (i.e. before ramstage is up).
99 This memory gets reserved in BIOS tables to ensure that the OS does
100 not use it, thus preventing corruption of OS memory in case of S3
101 resume.
102
103config EARLYRAM_BSP_STACK_SIZE
104 hex
105 default 0x1000
106
107config PSP_APOB_DRAM_ADDRESS
108 hex
109 default 0x2001000
110 help
111 Location in DRAM where the PSP will copy the AGESA PSP Output
112 Block.
113
114config PSP_SHAREDMEM_BASE
115 hex
116 default 0x2011000 if VBOOT
117 default 0x0
118 help
119 This variable defines the base address in DRAM memory where PSP copies
Kangheui Won6b36c832021-04-21 14:48:14 +1000120 the vboot workbuf. This is used in the linker script to have a static
Furquan Shaikhbc456502020-06-10 16:37:23 -0700121 allocation for the buffer as well as for adding relevant entries in
Kangheui Won6b36c832021-04-21 14:48:14 +1000122 the BIOS directory table for the PSP.
Furquan Shaikhbc456502020-06-10 16:37:23 -0700123
124config PSP_SHAREDMEM_SIZE
125 hex
126 default 0x8000 if VBOOT
127 default 0x0
128 help
129 Sets the maximum size for the PSP to pass the vboot workbuf and
130 any logs or timestamps back to coreboot. This will be copied
131 into main memory by the PSP and will be available when the x86 is
132 started. The workbuf's base depends on the address of the reset
133 vector.
134
Martin Roth5c354b92019-04-22 14:55:16 -0600135config PRERAM_CBMEM_CONSOLE_SIZE
136 hex
137 default 0x1600
138 help
139 Increase this value if preram cbmem console is getting truncated
140
Kangheui Won4020aa72021-05-20 09:56:39 +1000141config CBFS_MCACHE_SIZE
142 hex
143 default 0x2000 if VBOOT_STARTS_BEFORE_BOOTBLOCK
144
Furquan Shaikhbc456502020-06-10 16:37:23 -0700145config C_ENV_BOOTBLOCK_SIZE
146 hex
147 default 0x10000
148 help
149 Sets the size of the bootblock stage that should be loaded in DRAM.
150 This variable controls the DRAM allocation size in linker script
151 for bootblock stage.
152
Furquan Shaikhbc456502020-06-10 16:37:23 -0700153config ROMSTAGE_ADDR
154 hex
155 default 0x2040000
156 help
157 Sets the address in DRAM where romstage should be loaded.
158
159config ROMSTAGE_SIZE
160 hex
161 default 0x80000
162 help
163 Sets the size of DRAM allocation for romstage in linker script.
164
165config FSP_M_ADDR
166 hex
167 default 0x20C0000
168 help
169 Sets the address in DRAM where FSP-M should be loaded. cbfstool
170 performs relocation of FSP-M to this address.
171
172config FSP_M_SIZE
173 hex
174 default 0x80000
175 help
176 Sets the size of DRAM allocation for FSP-M in linker script.
177
178config VERSTAGE_ADDR
179 hex
180 depends on VBOOT_SEPARATE_VERSTAGE
181 default 0x2140000
182 help
183 Sets the address in DRAM where verstage should be loaded if running
184 as a separate stage on x86.
185
186config VERSTAGE_SIZE
187 hex
188 depends on VBOOT_SEPARATE_VERSTAGE
189 default 0x80000
190 help
191 Sets the size of DRAM allocation for verstage in linker script if
192 running as a separate stage on x86.
193
194config RAMBASE
195 hex
196 default 0x10000000
197
Martin Roth5c354b92019-04-22 14:55:16 -0600198config CPU_ADDR_BITS
199 int
200 default 48
201
Martin Roth5c354b92019-04-22 14:55:16 -0600202config MMCONF_BASE_ADDRESS
Martin Roth5c354b92019-04-22 14:55:16 -0600203 default 0xF8000000
204
205config MMCONF_BUS_NUMBER
Martin Roth5c354b92019-04-22 14:55:16 -0600206 default 64
207
Raul E Rangel5f52c0e2020-05-13 13:22:48 -0600208config VERSTAGE_ADDR
209 hex
210 default 0x4000000
211
Felix Held1032d222020-11-04 16:19:35 +0100212config MAX_CPUS
213 int
214 default 8
Felix Heldb77387f2021-04-23 22:16:04 +0200215 help
216 Maximum number of threads the platform can have.
Felix Held1032d222020-11-04 16:19:35 +0100217
Martin Roth5c354b92019-04-22 14:55:16 -0600218config VGA_BIOS_ID
219 string
Martin Roth86ba0d72020-02-05 16:46:30 -0700220 default "1002,15d8,c1"
Martin Roth5c354b92019-04-22 14:55:16 -0600221 help
222 The default VGA BIOS PCI vendor/device ID should be set to the
Martin Roth86ba0d72020-02-05 16:46:30 -0700223 result of the map_oprom_vendev_rev() function in northbridge.c.
Martin Roth5c354b92019-04-22 14:55:16 -0600224
225config VGA_BIOS_FILE
226 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600227 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600228
Martin Roth86ba0d72020-02-05 16:46:30 -0700229config VGA_BIOS_SECOND
230 def_bool y
231
232config VGA_BIOS_SECOND_ID
233 string
234 default "1002,15dd,c4"
235 help
236 Because Dali and Picasso need different video BIOSes, but have the
237 same vendor/device IDs, we need an alternate method to determine the
238 correct video BIOS. In map_oprom_vendev_rev(), we look at the cpuid
239 and decide which rom to load.
240
241 Even though the hardware has the same vendor/device IDs, the vBIOS
242 contains a *different* device ID, confusing the situation even more.
243
244config VGA_BIOS_SECOND_FILE
245 string
246 default "3rdparty/amd_blobs/picasso/Raven2GenericVbios.bin"
247
248config CHECK_REV_IN_OPROM_NAME
249 bool
250 default y
251 help
252 Select this in the platform BIOS or chipset if the option rom has a
253 revision that needs to be checked when searching CBFS.
254
Martin Roth5c354b92019-04-22 14:55:16 -0600255config S3_VGA_ROM_RUN
256 bool
257 default n
258
259config HEAP_SIZE
260 hex
261 default 0xc0000
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
Felix Helde7382992021-01-12 23:05:56 +0100270config CONSOLE_UART_BASE_ADDRESS
271 depends on CONSOLE_SERIAL && AMD_SOC_CONSOLE_UART
272 hex
273 default 0xfedc9000 if UART_FOR_CONSOLE = 0
274 default 0xfedca000 if UART_FOR_CONSOLE = 1
Felix Heldd614e852021-06-15 21:06:38 +0200275 default 0xfedce000 if UART_FOR_CONSOLE = 2
Felix Helde7382992021-01-12 23:05:56 +0100276 default 0xfedcf000 if UART_FOR_CONSOLE = 3
277
Martin Roth5c354b92019-04-22 14:55:16 -0600278config SMM_TSEG_SIZE
279 hex
Felix Helde22eef72021-02-10 22:22:07 +0100280 default 0x800000 if HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -0600281 default 0x0
282
283config SMM_RESERVED_SIZE
284 hex
Marshall Dawson3e2fabf2020-06-12 10:28:04 -0600285 default 0x180000
Martin Roth5c354b92019-04-22 14:55:16 -0600286
287config SMM_MODULE_STACK_SIZE
288 hex
289 default 0x800
290
291config ACPI_CPU_STRING
292 string
Jason Gleneskf2a59a42020-08-10 00:58:37 -0700293 default "\\_SB.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600294
295config ACPI_BERT
296 bool "Build ACPI BERT Table"
297 default y
298 depends on HAVE_ACPI_TABLES
299 help
300 Report Machine Check errors identified in POST to the OS in an
Marshall Dawson03743b72020-06-18 10:23:48 -0600301 ACPI Boot Error Record Table.
Martin Roth5c354b92019-04-22 14:55:16 -0600302
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700303config ACPI_BERT_SIZE
304 hex
Marshall Dawson03743b72020-06-18 10:23:48 -0600305 default 0x4000 if ACPI_BERT
306 default 0x0
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700307 help
308 Specify the amount of DRAM reserved for gathering the data used to
309 generate the ACPI table.
310
Jason Gleneskbc521432020-09-14 05:22:47 -0700311config ACPI_SSDT_PSD_INDEPENDENT
312 bool "Allow core p-state independent transitions"
313 default y
314 help
315 AMD recommends the ACPI _PSD object to be configured to cause
316 cores to transition between p-states independently. A vendor may
317 choose to generate _PSD object to allow cores to transition together.
318
Furquan Shaikh40a38882020-05-01 10:43:48 -0700319config CHROMEOS
Rob Barnes5ac928d2020-07-07 16:16:12 -0600320 select ALWAYS_LOAD_OPROM
321 select ALWAYS_RUN_OPROM
Furquan Shaikh40a38882020-05-01 10:43:48 -0700322
Marshall Dawson62611412019-06-19 11:46:06 -0600323config RO_REGION_ONLY
324 string
325 depends on CHROMEOS
326 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600327
Marshall Dawson62611412019-06-19 11:46:06 -0600328config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
329 int
Martin Roth4017de02019-12-16 23:21:05 -0700330 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600331
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600332config DISABLE_SPI_FLASH_ROM_SHARING
333 def_bool n
334 help
335 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
336 which indicates a board level ROM transaction request. This
337 removes arbitration with board and assumes the chipset controls
338 the SPI flash bus entirely.
339
Felix Held27b295b2021-03-25 01:20:41 +0100340config DISABLE_KEYBOARD_RESET_PIN
341 bool
342 help
343 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
344 signal. When this pin is used as GPIO and the keyboard reset
345 functionality isn't disabled, configuring it as an output and driving
346 it as 0 will cause a reset.
347
Marshall Dawson00a22082020-01-20 23:05:31 -0700348config FSP_TEMP_RAM_SIZE
349 hex
Marshall Dawson00a22082020-01-20 23:05:31 -0700350 default 0x40000
351 help
352 The amount of coreboot-allocated heap and stack usage by the FSP.
353
Marshall Dawson62611412019-06-19 11:46:06 -0600354menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600355
Martin Roth5c354b92019-04-22 14:55:16 -0600356config AMD_FWM_POSITION_INDEX
357 int "Firmware Directory Table location (0 to 5)"
358 range 0 5
359 default 0 if BOARD_ROMSIZE_KB_512
360 default 1 if BOARD_ROMSIZE_KB_1024
361 default 2 if BOARD_ROMSIZE_KB_2048
362 default 3 if BOARD_ROMSIZE_KB_4096
363 default 4 if BOARD_ROMSIZE_KB_8192
364 default 5 if BOARD_ROMSIZE_KB_16384
365 help
366 Typically this is calculated by the ROM size, but there may
367 be situations where you want to put the firmware directory
368 table in a different location.
369 0: 512 KB - 0xFFFA0000
370 1: 1 MB - 0xFFF20000
371 2: 2 MB - 0xFFE20000
372 3: 4 MB - 0xFFC20000
373 4: 8 MB - 0xFF820000
374 5: 16 MB - 0xFF020000
375
376comment "AMD Firmware Directory Table set to location for 512KB ROM"
377 depends on AMD_FWM_POSITION_INDEX = 0
378comment "AMD Firmware Directory Table set to location for 1MB ROM"
379 depends on AMD_FWM_POSITION_INDEX = 1
380comment "AMD Firmware Directory Table set to location for 2MB ROM"
381 depends on AMD_FWM_POSITION_INDEX = 2
382comment "AMD Firmware Directory Table set to location for 4MB ROM"
383 depends on AMD_FWM_POSITION_INDEX = 3
384comment "AMD Firmware Directory Table set to location for 8MB ROM"
385 depends on AMD_FWM_POSITION_INDEX = 4
386comment "AMD Firmware Directory Table set to location for 16MB ROM"
387 depends on AMD_FWM_POSITION_INDEX = 5
388
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800389config AMDFW_CONFIG_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700390 string
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800391 default "src/soc/amd/picasso/fw.cfg"
Martin Roth5c354b92019-04-22 14:55:16 -0600392
Marshall Dawson62611412019-06-19 11:46:06 -0600393config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700394 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700395 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600396 help
397 Include the MP2 firmwares and configuration into the PSP build.
398
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700399 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600400
401config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700402 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700403 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600404 help
405 Select this item to include the S0i3 file into the PSP build.
406
407config HAVE_PSP_WHITELIST_FILE
408 bool "Include a debug whitelist file in PSP build"
409 default n
410 help
411 Support secured unlock prior to reset using a whitelisted
412 number? This feature requires a signed whitelist image and
413 bootloader from AMD.
414
415 If unsure, answer 'n'
416
417config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700418 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600419 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600420 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600421
Furquan Shaikh577db022020-04-24 15:52:04 -0700422config PSP_UNLOCK_SECURE_DEBUG
423 bool "Unlock secure debug"
424 default n
425 help
426 Select this item to enable secure debug options in PSP.
427
Martin Rothde498332020-09-01 11:00:28 -0600428config PSP_VERSTAGE_FILE
429 string "Specify the PSP_verstage file path"
430 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
431 default "$(obj)/psp_verstage.bin"
432 help
433 Add psp_verstage file to the build & PSP Directory Table
434
Martin Rothfe87d762020-09-01 11:04:21 -0600435config PSP_VERSTAGE_SIGNING_TOKEN
436 string "Specify the PSP_verstage Signature Token file path"
437 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
438 default ""
439 help
440 Add psp_verstage signature token to the build & PSP Directory Table
441
Martin Rothfdad5ad2021-04-16 11:36:01 -0600442config PSP_SOFTFUSE_BITS
443 string "PSP Soft Fuse bits to enable"
444 default "28"
445 help
446 Space separated list of Soft Fuse bits to enable.
447 Bit 0: Enable secure debug (Set by PSP_UNLOCK_SECURE_DEBUG)
448 Bit 15: PSP post code destination: 0=LPC 1=eSPI
449 Bit 29: Disable MP2 firmware loading (Set by PSP_LOAD_MP2_FW)
450
451 See #55758 (NDA) for additional bit definitions.
452
Marshall Dawson62611412019-06-19 11:46:06 -0600453endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600454
Martin Rothc7acf162020-05-28 00:44:50 -0600455config VBOOT
456 select VBOOT_VBNV_CMOS
Martin Rothe7e6c4e2020-07-15 11:54:14 -0600457 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Martin Rothc7acf162020-05-28 00:44:50 -0600458
459config VBOOT_STARTS_BEFORE_BOOTBLOCK
460 def_bool n
461 depends on VBOOT
462 select ARCH_VERSTAGE_ARMV7
463 help
464 Runs verstage on the PSP. Only available on
465 certain Chrome OS branded parts from AMD.
466
Martin Roth5632c6b2020-10-28 11:52:30 -0600467config VBOOT_HASH_BLOCK_SIZE
468 hex
469 default 0x9000
470 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
471 help
472 Because the bulk of the time in psp_verstage to hash the RO cbfs is
473 spent in the overhead of doing svc calls, increasing the hash block
474 size significantly cuts the verstage hashing time as seen below.
475
476 4k takes 180ms
477 16k takes 44ms
478 32k takes 33.7ms
479 36k takes 32.5ms
480 There's actually still room for an even bigger stack, but we've
481 reached a point of diminishing returns.
482
Martin Roth50cca762020-08-13 11:06:18 -0600483config CMOS_RECOVERY_BYTE
484 hex
485 default 0x51
486 depends on VBOOT_STARTS_BEFORE_BOOTBLOCK
487 help
488 If the workbuf is not passed from the PSP to coreboot, set the
489 recovery flag and reboot. The PSP will read this byte, mark the
490 recovery request in VBNV, and reset the system into recovery mode.
491
492 This is the byte before the default first byte used by VBNV
493 (0x26 + 0x0E - 1)
494
Martin Roth9aa8d112020-06-04 21:31:41 -0600495if VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
496
497config RWA_REGION_ONLY
498 string
499 default "apu/amdfw_a"
500 help
501 Add a space-delimited list of filenames that should only be in the
502 RW-A section.
503
504config RWB_REGION_ONLY
505 string
506 default "apu/amdfw_b"
507 help
508 Add a space-delimited list of filenames that should only be in the
509 RW-B section.
510
511config PICASSO_FW_A_POSITION
512 hex
513 help
514 Location of the AMD firmware in the RW_A region
515
516config PICASSO_FW_B_POSITION
517 hex
518 help
519 Location of the AMD firmware in the RW_B region
520
521endif # VBOOT_SLOTS_RW_AB && VBOOT_STARTS_BEFORE_BOOTBLOCK
522
Martin Roth1f337622019-04-22 16:08:31 -0600523endif # SOC_AMD_PICASSO