blob: a42629bdff0dbacd91994cf3f7f8c526ef6c8c85 [file] [log] [blame]
Felix Held4a8cd722020-04-18 22:26:39 +02001# SPDX-License-Identifier: GPL-2.0-only
2# This file is part of the coreboot project.
Martin Roth5c354b92019-04-22 14:55:16 -06003
Martin Roth1f337622019-04-22 16:08:31 -06004config SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -06005 bool
6 help
Martin Roth1f337622019-04-22 16:08:31 -06007 AMD Picasso support
Martin Roth5c354b92019-04-22 14:55:16 -06008
Martin Roth1f337622019-04-22 16:08:31 -06009if SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -060010
11config CPU_SPECIFIC_OPTIONS
12 def_bool y
13 select ARCH_BOOTBLOCK_X86_32
14 select ARCH_VERSTAGE_X86_32
15 select ARCH_ROMSTAGE_X86_32
16 select ARCH_RAMSTAGE_X86_32
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
Martin Roth5c354b92019-04-22 14:55:16 -060020 select ACPI_AMD_HARDWARE_SLEEP_VALUES
Martin Roth5c354b92019-04-22 14:55:16 -060021 select DRIVERS_I2C_DESIGNWARE
22 select GENERIC_GPIO_LIB
Martin Roth5c354b92019-04-22 14:55:16 -060023 select IOAPIC
Furquan Shaikh0eabe132020-04-28 21:57:07 -070024 select HAVE_EM100_SUPPORT
Martin Roth5c354b92019-04-22 14:55:16 -060025 select HAVE_USBDEBUG_OPTIONS
Marshall Dawson80d0b012019-06-19 12:29:23 -060026 select TSC_MONOTONIC_TIMER
Richard Spiegel65562cd652019-08-21 10:27:05 -070027 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth5c354b92019-04-22 14:55:16 -060028 select TSC_SYNC_LFENCE
Marshall Dawson80d0b012019-06-19 12:29:23 -060029 select UDELAY_TSC
Martin Roth5c354b92019-04-22 14:55:16 -060030 select SOC_AMD_COMMON
31 select SOC_AMD_COMMON_BLOCK
32 select SOC_AMD_COMMON_BLOCK_IOMMU
33 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
34 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
35 select SOC_AMD_COMMON_BLOCK_ACPI
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
Marshall Dawson5a73fc32020-01-24 09:42:57 -070042 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060043 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060044 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
45 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060046 select PARALLEL_MP
47 select PARALLEL_MP_AP_WORK
48 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060049 select SSE2
50 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070051 select PLATFORM_USES_FSP2_0
52 select FSP_USES_CB_STACK
53 select UDK_2017_BINDING
54 select HAVE_CF9_RESET
Martin Roth5c354b92019-04-22 14:55:16 -060055
Felix Held8cb5c302020-03-27 20:04:32 +010056config AMD_FP5
57 def_bool y if !AMD_FT5
58 help
59 The FP5 package supports higher-wattage parts and dual channel DDR4 memory.
60
61config AMD_FT5
62 def_bool n
63 help
64 The FT5 package supports low-power parts and single-channel DDR4 memory.
65
Martin Roth5c354b92019-04-22 14:55:16 -060066config PRERAM_CBMEM_CONSOLE_SIZE
67 hex
68 default 0x1600
69 help
70 Increase this value if preram cbmem console is getting truncated
71
72config CPU_ADDR_BITS
73 int
74 default 48
75
Martin Roth5c354b92019-04-22 14:55:16 -060076config MMCONF_BASE_ADDRESS
77 hex
78 default 0xF8000000
79
80config MMCONF_BUS_NUMBER
81 int
82 default 64
83
84config VGA_BIOS_ID
85 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050086 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060087 help
88 The default VGA BIOS PCI vendor/device ID should be set to the
89 result of the map_oprom_vendev() function in northbridge.c.
90
91config VGA_BIOS_FILE
92 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050093 default "3rdparty/blobs/soc/amd/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -060094
95config S3_VGA_ROM_RUN
96 bool
97 default n
98
99config HEAP_SIZE
100 hex
101 default 0xc0000
102
103config EHCI_BAR
104 hex
105 default 0xfef00000
106
Martin Roth5c354b92019-04-22 14:55:16 -0600107config SERIRQ_CONTINUOUS_MODE
108 bool
109 default n
110 help
111 Set this option to y for serial IRQ in continuous mode.
112 Otherwise it is in quiet mode.
113
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600114config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600115 hex
116 default 0x400
117 help
118 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600119
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600120config PICASSO_UART
121 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600122 default n
123 select DRIVERS_UART_8250MEM
124 select DRIVERS_UART_8250MEM_32
125 select NO_UART_ON_SUPERIO
126 select UART_OVERRIDE_REFCLK
127 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600128 There are four memory-mapped UARTs controllers in Picasso at:
129 0: 0xfedc9000
130 1: 0xfedca000
131 2: 0xfedc3000
132 3: 0xfedcf000
133
134choice PICASSO_UART_CLOCK_SOURCE
135 prompt "UART Frequency"
136 depends on PICASSO_UART
137 default PICASSO_UART_48MZ
138
139config PICASSO_UART_48MZ
140 bool "48 MHz clock"
141 help
142 Select this option for the most compatibility.
143
144config PICASSO_UART_1_8MZ
145 bool "1.8432 MHz clock"
146 help
147 Select this option if an old payload or Linux ttyS0 arguments
148 require it.
149
150endchoice
151
152config PICASSO_UART_LEGACY
153 bool "Decode legacy I/O range"
154 depends on PICASSO_UART
155 help
156 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
157 decode legacy addresses and this option enables the one used for the
158 console. A UART accessed with I/O does not allow all the features
159 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600160
161config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600162 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600163 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600164 default 0xfedc9000 if UART_FOR_CONSOLE = 0
165 default 0xfedca000 if UART_FOR_CONSOLE = 1
166 default 0xfedc3000 if UART_FOR_CONSOLE = 2
167 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600168
169config SMM_TSEG_SIZE
170 hex
171 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
172 default 0x0
173
174config SMM_RESERVED_SIZE
175 hex
176 default 0x150000
177
178config SMM_MODULE_STACK_SIZE
179 hex
180 default 0x800
181
182config ACPI_CPU_STRING
183 string
184 default "\\_PR.P%03d"
185
186config ACPI_BERT
187 bool "Build ACPI BERT Table"
188 default y
189 depends on HAVE_ACPI_TABLES
190 help
191 Report Machine Check errors identified in POST to the OS in an
192 ACPI Boot Error Record Table. This option reserves an 8MB region
193 for building the error structures.
194
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700195config ACPI_BERT_SIZE
196 hex
197 default 0x4000
198 help
199 Specify the amount of DRAM reserved for gathering the data used to
200 generate the ACPI table.
201
Furquan Shaikh40a38882020-05-01 10:43:48 -0700202config CHROMEOS
203 select CHROMEOS_RAMOOPS_DYNAMIC
204
Marshall Dawson62611412019-06-19 11:46:06 -0600205config RO_REGION_ONLY
206 string
207 depends on CHROMEOS
208 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600209
Marshall Dawson62611412019-06-19 11:46:06 -0600210config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
211 int
Martin Roth4017de02019-12-16 23:21:05 -0700212 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600213
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600214config PICASSO_LPC_IOMUX
215 bool
216 help
217 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
218 Select this option if LPC signals are required.
219
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600220config DISABLE_SPI_FLASH_ROM_SHARING
221 def_bool n
222 help
223 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
224 which indicates a board level ROM transaction request. This
225 removes arbitration with board and assumes the chipset controls
226 the SPI flash bus entirely.
227
Marshall Dawson62611412019-06-19 11:46:06 -0600228config MAINBOARD_POWER_RESTORE
229 def_bool n
230 help
231 This option determines what state to go to once power is restored
232 after having been lost in S0. Select this option to automatically
233 return to S0. Otherwise the system will remain in S5 once power
234 is restored.
235
Felix Held46673222020-04-04 02:37:04 +0200236config X86_RESET_VECTOR
237 hex
238 default 0x807fff0
239
240config EARLYRAM_BSP_STACK_SIZE
241 hex
242 default 0x800
243
Marshall Dawson00a22082020-01-20 23:05:31 -0700244config FSP_TEMP_RAM_SIZE
245 hex
246 depends on FSP_USES_CB_STACK
247 default 0x40000
248 help
249 The amount of coreboot-allocated heap and stack usage by the FSP.
250
Marshall Dawson62611412019-06-19 11:46:06 -0600251menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600252
Martin Roth5c354b92019-04-22 14:55:16 -0600253config AMDFW_OUTSIDE_CBFS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700254 bool
Martin Roth5c354b92019-04-22 14:55:16 -0600255 default n
256 help
257 The AMDFW (PSP) is typically locatable in cbfs. Select this
258 option to manually attach the generated amdfw.rom outside of
259 cbfs. The location is selected by the FWM position.
260
261config AMD_FWM_POSITION_INDEX
262 int "Firmware Directory Table location (0 to 5)"
263 range 0 5
264 default 0 if BOARD_ROMSIZE_KB_512
265 default 1 if BOARD_ROMSIZE_KB_1024
266 default 2 if BOARD_ROMSIZE_KB_2048
267 default 3 if BOARD_ROMSIZE_KB_4096
268 default 4 if BOARD_ROMSIZE_KB_8192
269 default 5 if BOARD_ROMSIZE_KB_16384
270 help
271 Typically this is calculated by the ROM size, but there may
272 be situations where you want to put the firmware directory
273 table in a different location.
274 0: 512 KB - 0xFFFA0000
275 1: 1 MB - 0xFFF20000
276 2: 2 MB - 0xFFE20000
277 3: 4 MB - 0xFFC20000
278 4: 8 MB - 0xFF820000
279 5: 16 MB - 0xFF020000
280
281comment "AMD Firmware Directory Table set to location for 512KB ROM"
282 depends on AMD_FWM_POSITION_INDEX = 0
283comment "AMD Firmware Directory Table set to location for 1MB ROM"
284 depends on AMD_FWM_POSITION_INDEX = 1
285comment "AMD Firmware Directory Table set to location for 2MB ROM"
286 depends on AMD_FWM_POSITION_INDEX = 2
287comment "AMD Firmware Directory Table set to location for 4MB ROM"
288 depends on AMD_FWM_POSITION_INDEX = 3
289comment "AMD Firmware Directory Table set to location for 8MB ROM"
290 depends on AMD_FWM_POSITION_INDEX = 4
291comment "AMD Firmware Directory Table set to location for 16MB ROM"
292 depends on AMD_FWM_POSITION_INDEX = 5
293
Marshall Dawson62611412019-06-19 11:46:06 -0600294config AMD_PUBKEY_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700295 string
Marshall Dawson62611412019-06-19 11:46:06 -0600296 default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600297
Marshall Dawson62611412019-06-19 11:46:06 -0600298config PSP_APCB_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700299 string
Martin Roth5c354b92019-04-22 14:55:16 -0600300 help
Marshall Dawson4357a822019-09-25 11:07:56 -0600301 The name of the AGESA Parameter Customization Block. This image is
302 instance ID 0 in the PSP's BIOS Directory Table.
303
304config PSP_APCB1_FILE
305 string
306 help
307 If specified, this image is instance ID 1 in the PSP's BIOS
308 Directory Table.
309
310config PSP_APCB2_FILE
311 string
312 help
313 If specified, this image is instance ID 2 in the PSP's BIOS
314 Directory Table.
315
316config PSP_APCB3_FILE
317 string
318 help
319 If specified, this image is instance ID 3 in the PSP's BIOS
320 Directory Table.
321
322config PSP_APCB4_FILE
323 string
324 help
325 If specified, this image is instance ID 4 in the PSP's BIOS
326 Directory Table.
Marshall Dawson62611412019-06-19 11:46:06 -0600327
328config PSP_APOB_DESTINATION
329 hex
330 default 0x9f00000
331 help
332 Location in DRAM where the PSP will copy the AGESA PSP Output
333 Block.
334
335config PSP_APOB_NV_ADDRESS
336 hex "Base address of APOB NV"
Marshall Dawson62611412019-06-19 11:46:06 -0600337 help
338 Location in flash where the PSP can find the S3 restore information.
339 Place this on a boundary that the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600340
341config PSP_APOB_NV_SIZE
342 hex "Size of APOB NV to be reserved"
Marshall Dawson62611412019-06-19 11:46:06 -0600343 help
344 Size of the S3 restore information. Make this a multiple of the
345 size the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600346
347config USE_PSPSCUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700348 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600349 default y
350 help
351 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
352
353 If unsure, answer 'y'
354
355config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700356 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700357 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600358 help
359 Include the MP2 firmwares and configuration into the PSP build.
360
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700361 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600362
363config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700364 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700365 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600366 help
367 Select this item to include the S0i3 file into the PSP build.
368
369config HAVE_PSP_WHITELIST_FILE
370 bool "Include a debug whitelist file in PSP build"
371 default n
372 help
373 Support secured unlock prior to reset using a whitelisted
374 number? This feature requires a signed whitelist image and
375 bootloader from AMD.
376
377 If unsure, answer 'n'
378
379config PSP_WHITELIST_FILE
380 string "Debug whitelist file name"
381 depends on HAVE_PSP_WHITELIST_FILE
382 default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
383
Furquan Shaikh577db022020-04-24 15:52:04 -0700384config PSP_UNLOCK_SECURE_DEBUG
385 bool "Unlock secure debug"
386 default n
387 help
388 Select this item to enable secure debug options in PSP.
389
Marshall Dawson62611412019-06-19 11:46:06 -0600390endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600391
Martin Roth1f337622019-04-22 16:08:31 -0600392endif # SOC_AMD_PICASSO