blob: ba441460c511e7a7771fd4a40f3a3e1fc60fa9c8 [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
13 select ARCH_VERSTAGE_X86_32
14 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
21 select GENERIC_GPIO_LIB
Martin Roth5c354b92019-04-22 14:55:16 -060022 select IOAPIC
Furquan Shaikh0eabe132020-04-28 21:57:07 -070023 select HAVE_EM100_SUPPORT
Martin Roth5c354b92019-04-22 14:55:16 -060024 select HAVE_USBDEBUG_OPTIONS
Marshall Dawson80d0b012019-06-19 12:29:23 -060025 select TSC_MONOTONIC_TIMER
Richard Spiegel65562cd652019-08-21 10:27:05 -070026 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth5c354b92019-04-22 14:55:16 -060027 select TSC_SYNC_LFENCE
Marshall Dawson80d0b012019-06-19 12:29:23 -060028 select UDELAY_TSC
Martin Roth5c354b92019-04-22 14:55:16 -060029 select SOC_AMD_COMMON
30 select SOC_AMD_COMMON_BLOCK
31 select SOC_AMD_COMMON_BLOCK_IOMMU
32 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
33 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
34 select SOC_AMD_COMMON_BLOCK_ACPI
Furquan Shaikh9e1a49c2020-04-23 14:01:12 -070035 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Martin Roth5c354b92019-04-22 14:55:16 -060036 select SOC_AMD_COMMON_BLOCK_LPC
37 select SOC_AMD_COMMON_BLOCK_PCI
38 select SOC_AMD_COMMON_BLOCK_HDA
39 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070040 select SOC_AMD_COMMON_BLOCK_SMBUS
Marshall Dawson5a73fc32020-01-24 09:42:57 -070041 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060042 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060043 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
44 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060045 select PARALLEL_MP
46 select PARALLEL_MP_AP_WORK
47 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060048 select SSE2
49 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070050 select PLATFORM_USES_FSP2_0
51 select FSP_USES_CB_STACK
52 select UDK_2017_BINDING
53 select HAVE_CF9_RESET
Martin Roth5c354b92019-04-22 14:55:16 -060054
Felix Held8cb5c302020-03-27 20:04:32 +010055config AMD_FP5
56 def_bool y if !AMD_FT5
57 help
58 The FP5 package supports higher-wattage parts and dual channel DDR4 memory.
59
60config AMD_FT5
61 def_bool n
62 help
63 The FT5 package supports low-power parts and single-channel DDR4 memory.
64
Martin Roth5c354b92019-04-22 14:55:16 -060065config PRERAM_CBMEM_CONSOLE_SIZE
66 hex
67 default 0x1600
68 help
69 Increase this value if preram cbmem console is getting truncated
70
71config CPU_ADDR_BITS
72 int
73 default 48
74
Martin Roth5c354b92019-04-22 14:55:16 -060075config MMCONF_BASE_ADDRESS
76 hex
77 default 0xF8000000
78
79config MMCONF_BUS_NUMBER
80 int
81 default 64
82
83config VGA_BIOS_ID
84 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050085 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060086 help
87 The default VGA BIOS PCI vendor/device ID should be set to the
88 result of the map_oprom_vendev() function in northbridge.c.
89
90config VGA_BIOS_FILE
91 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050092 default "3rdparty/blobs/soc/amd/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -060093
94config S3_VGA_ROM_RUN
95 bool
96 default n
97
98config HEAP_SIZE
99 hex
100 default 0xc0000
101
102config EHCI_BAR
103 hex
104 default 0xfef00000
105
Martin Roth5c354b92019-04-22 14:55:16 -0600106config SERIRQ_CONTINUOUS_MODE
107 bool
108 default n
109 help
110 Set this option to y for serial IRQ in continuous mode.
111 Otherwise it is in quiet mode.
112
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600113config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600114 hex
115 default 0x400
116 help
117 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600118
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600119config PICASSO_UART
120 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600121 default n
122 select DRIVERS_UART_8250MEM
123 select DRIVERS_UART_8250MEM_32
124 select NO_UART_ON_SUPERIO
125 select UART_OVERRIDE_REFCLK
126 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600127 There are four memory-mapped UARTs controllers in Picasso at:
128 0: 0xfedc9000
129 1: 0xfedca000
130 2: 0xfedc3000
131 3: 0xfedcf000
132
133choice PICASSO_UART_CLOCK_SOURCE
134 prompt "UART Frequency"
135 depends on PICASSO_UART
136 default PICASSO_UART_48MZ
137
138config PICASSO_UART_48MZ
139 bool "48 MHz clock"
140 help
141 Select this option for the most compatibility.
142
143config PICASSO_UART_1_8MZ
144 bool "1.8432 MHz clock"
145 help
146 Select this option if an old payload or Linux ttyS0 arguments
147 require it.
148
149endchoice
150
151config PICASSO_UART_LEGACY
152 bool "Decode legacy I/O range"
153 depends on PICASSO_UART
154 help
155 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
156 decode legacy addresses and this option enables the one used for the
157 console. A UART accessed with I/O does not allow all the features
158 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600159
160config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600161 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600162 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600163 default 0xfedc9000 if UART_FOR_CONSOLE = 0
164 default 0xfedca000 if UART_FOR_CONSOLE = 1
165 default 0xfedc3000 if UART_FOR_CONSOLE = 2
166 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600167
168config SMM_TSEG_SIZE
169 hex
170 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
171 default 0x0
172
173config SMM_RESERVED_SIZE
174 hex
175 default 0x150000
176
177config SMM_MODULE_STACK_SIZE
178 hex
179 default 0x800
180
181config ACPI_CPU_STRING
182 string
183 default "\\_PR.P%03d"
184
185config ACPI_BERT
186 bool "Build ACPI BERT Table"
187 default y
188 depends on HAVE_ACPI_TABLES
189 help
190 Report Machine Check errors identified in POST to the OS in an
191 ACPI Boot Error Record Table. This option reserves an 8MB region
192 for building the error structures.
193
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700194config ACPI_BERT_SIZE
195 hex
196 default 0x4000
197 help
198 Specify the amount of DRAM reserved for gathering the data used to
199 generate the ACPI table.
200
Furquan Shaikh40a38882020-05-01 10:43:48 -0700201config CHROMEOS
202 select CHROMEOS_RAMOOPS_DYNAMIC
203
Marshall Dawson62611412019-06-19 11:46:06 -0600204config RO_REGION_ONLY
205 string
206 depends on CHROMEOS
207 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600208
Marshall Dawson62611412019-06-19 11:46:06 -0600209config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
210 int
Martin Roth4017de02019-12-16 23:21:05 -0700211 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600212
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600213config PICASSO_LPC_IOMUX
214 bool
215 help
216 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
217 Select this option if LPC signals are required.
218
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600219config DISABLE_SPI_FLASH_ROM_SHARING
220 def_bool n
221 help
222 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
223 which indicates a board level ROM transaction request. This
224 removes arbitration with board and assumes the chipset controls
225 the SPI flash bus entirely.
226
Marshall Dawson62611412019-06-19 11:46:06 -0600227config MAINBOARD_POWER_RESTORE
228 def_bool n
229 help
230 This option determines what state to go to once power is restored
231 after having been lost in S0. Select this option to automatically
232 return to S0. Otherwise the system will remain in S5 once power
233 is restored.
234
Felix Held46673222020-04-04 02:37:04 +0200235config X86_RESET_VECTOR
236 hex
237 default 0x807fff0
238
239config EARLYRAM_BSP_STACK_SIZE
240 hex
241 default 0x800
242
Marshall Dawson00a22082020-01-20 23:05:31 -0700243config FSP_TEMP_RAM_SIZE
244 hex
245 depends on FSP_USES_CB_STACK
246 default 0x40000
247 help
248 The amount of coreboot-allocated heap and stack usage by the FSP.
249
Marshall Dawson62611412019-06-19 11:46:06 -0600250menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600251
Martin Roth5c354b92019-04-22 14:55:16 -0600252config AMDFW_OUTSIDE_CBFS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700253 bool
Martin Roth5c354b92019-04-22 14:55:16 -0600254 default n
255 help
256 The AMDFW (PSP) is typically locatable in cbfs. Select this
257 option to manually attach the generated amdfw.rom outside of
258 cbfs. The location is selected by the FWM position.
259
260config AMD_FWM_POSITION_INDEX
261 int "Firmware Directory Table location (0 to 5)"
262 range 0 5
263 default 0 if BOARD_ROMSIZE_KB_512
264 default 1 if BOARD_ROMSIZE_KB_1024
265 default 2 if BOARD_ROMSIZE_KB_2048
266 default 3 if BOARD_ROMSIZE_KB_4096
267 default 4 if BOARD_ROMSIZE_KB_8192
268 default 5 if BOARD_ROMSIZE_KB_16384
269 help
270 Typically this is calculated by the ROM size, but there may
271 be situations where you want to put the firmware directory
272 table in a different location.
273 0: 512 KB - 0xFFFA0000
274 1: 1 MB - 0xFFF20000
275 2: 2 MB - 0xFFE20000
276 3: 4 MB - 0xFFC20000
277 4: 8 MB - 0xFF820000
278 5: 16 MB - 0xFF020000
279
280comment "AMD Firmware Directory Table set to location for 512KB ROM"
281 depends on AMD_FWM_POSITION_INDEX = 0
282comment "AMD Firmware Directory Table set to location for 1MB ROM"
283 depends on AMD_FWM_POSITION_INDEX = 1
284comment "AMD Firmware Directory Table set to location for 2MB ROM"
285 depends on AMD_FWM_POSITION_INDEX = 2
286comment "AMD Firmware Directory Table set to location for 4MB ROM"
287 depends on AMD_FWM_POSITION_INDEX = 3
288comment "AMD Firmware Directory Table set to location for 8MB ROM"
289 depends on AMD_FWM_POSITION_INDEX = 4
290comment "AMD Firmware Directory Table set to location for 16MB ROM"
291 depends on AMD_FWM_POSITION_INDEX = 5
292
Marshall Dawson62611412019-06-19 11:46:06 -0600293config AMD_PUBKEY_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700294 string
Marshall Dawson62611412019-06-19 11:46:06 -0600295 default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600296
Marshall Dawson62611412019-06-19 11:46:06 -0600297config PSP_APCB_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700298 string
Martin Roth5c354b92019-04-22 14:55:16 -0600299 help
Marshall Dawson4357a822019-09-25 11:07:56 -0600300 The name of the AGESA Parameter Customization Block. This image is
301 instance ID 0 in the PSP's BIOS Directory Table.
302
303config PSP_APCB1_FILE
304 string
305 help
306 If specified, this image is instance ID 1 in the PSP's BIOS
307 Directory Table.
308
309config PSP_APCB2_FILE
310 string
311 help
312 If specified, this image is instance ID 2 in the PSP's BIOS
313 Directory Table.
314
315config PSP_APCB3_FILE
316 string
317 help
318 If specified, this image is instance ID 3 in the PSP's BIOS
319 Directory Table.
320
321config PSP_APCB4_FILE
322 string
323 help
324 If specified, this image is instance ID 4 in the PSP's BIOS
325 Directory Table.
Marshall Dawson62611412019-06-19 11:46:06 -0600326
327config PSP_APOB_DESTINATION
328 hex
329 default 0x9f00000
330 help
331 Location in DRAM where the PSP will copy the AGESA PSP Output
332 Block.
333
334config PSP_APOB_NV_ADDRESS
335 hex "Base address of APOB NV"
Marshall Dawson62611412019-06-19 11:46:06 -0600336 help
337 Location in flash where the PSP can find the S3 restore information.
338 Place this on a boundary that the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600339
340config PSP_APOB_NV_SIZE
341 hex "Size of APOB NV to be reserved"
Marshall Dawson62611412019-06-19 11:46:06 -0600342 help
343 Size of the S3 restore information. Make this a multiple of the
344 size the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600345
346config USE_PSPSCUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700347 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600348 default y
349 help
350 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
351
352 If unsure, answer 'y'
353
354config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700355 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700356 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600357 help
358 Include the MP2 firmwares and configuration into the PSP build.
359
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700360 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600361
362config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700363 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700364 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600365 help
366 Select this item to include the S0i3 file into the PSP build.
367
368config HAVE_PSP_WHITELIST_FILE
369 bool "Include a debug whitelist file in PSP build"
370 default n
371 help
372 Support secured unlock prior to reset using a whitelisted
373 number? This feature requires a signed whitelist image and
374 bootloader from AMD.
375
376 If unsure, answer 'n'
377
378config PSP_WHITELIST_FILE
379 string "Debug whitelist file name"
380 depends on HAVE_PSP_WHITELIST_FILE
381 default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
382
Furquan Shaikh577db022020-04-24 15:52:04 -0700383config PSP_UNLOCK_SECURE_DEBUG
384 bool "Unlock secure debug"
385 default n
386 help
387 Select this item to enable secure debug options in PSP.
388
Marshall Dawson62611412019-06-19 11:46:06 -0600389endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600390
Martin Roth1f337622019-04-22 16:08:31 -0600391endif # SOC_AMD_PICASSO