blob: 842ba0cd37f7701376cb8803a80ad1d6c1c34b1d [file] [log] [blame]
Martin Roth5c354b92019-04-22 14:55:16 -06001##
2## This file is part of the coreboot project.
3##
Martin Roth5c354b92019-04-22 14:55:16 -06004##
5## This program is free software; you can redistribute it and/or modify
6## it under the terms of the GNU General Public License as published by
7## the Free Software Foundation; version 2 of the License.
8##
9## This program is distributed in the hope that it will be useful,
10## but WITHOUT ANY WARRANTY; without even the implied warranty of
11## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12## GNU General Public License for more details.
13##
14
Martin Roth1f337622019-04-22 16:08:31 -060015config SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -060016 bool
17 help
Martin Roth1f337622019-04-22 16:08:31 -060018 AMD Picasso support
Martin Roth5c354b92019-04-22 14:55:16 -060019
Martin Roth1f337622019-04-22 16:08:31 -060020if SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -060021
22config CPU_SPECIFIC_OPTIONS
23 def_bool y
24 select ARCH_BOOTBLOCK_X86_32
25 select ARCH_VERSTAGE_X86_32
26 select ARCH_ROMSTAGE_X86_32
27 select ARCH_RAMSTAGE_X86_32
28 select X86_AMD_FIXED_MTRRS
Marshall Dawson34c30562019-07-16 15:18:00 -060029 select X86_AMD_INIT_SIPI
Martin Roth5c354b92019-04-22 14:55:16 -060030 select ACPI_AMD_HARDWARE_SLEEP_VALUES
Martin Roth5c354b92019-04-22 14:55:16 -060031 select DRIVERS_I2C_DESIGNWARE
32 select GENERIC_GPIO_LIB
Martin Roth5c354b92019-04-22 14:55:16 -060033 select IOAPIC
34 select HAVE_USBDEBUG_OPTIONS
Marshall Dawson80d0b012019-06-19 12:29:23 -060035 select TSC_MONOTONIC_TIMER
Richard Spiegel65562cd652019-08-21 10:27:05 -070036 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth5c354b92019-04-22 14:55:16 -060037 select TSC_SYNC_LFENCE
Marshall Dawson80d0b012019-06-19 12:29:23 -060038 select UDELAY_TSC
Martin Roth5c354b92019-04-22 14:55:16 -060039 select SOC_AMD_COMMON
40 select SOC_AMD_COMMON_BLOCK
41 select SOC_AMD_COMMON_BLOCK_IOMMU
42 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
43 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
44 select SOC_AMD_COMMON_BLOCK_ACPI
45 select SOC_AMD_COMMON_BLOCK_LPC
46 select SOC_AMD_COMMON_BLOCK_PCI
47 select SOC_AMD_COMMON_BLOCK_HDA
48 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070049 select SOC_AMD_COMMON_BLOCK_SMBUS
Marshall Dawson5a73fc32020-01-24 09:42:57 -070050 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Martin Roth5c354b92019-04-22 14:55:16 -060051 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
52 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060053 select PARALLEL_MP
54 select PARALLEL_MP_AP_WORK
55 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060056 select SSE2
57 select RTC
Martin Roth5c354b92019-04-22 14:55:16 -060058
Kyösti Mälkki9c55ee32019-07-22 09:34:50 +030059config HAVE_BOOTBLOCK
60 bool
61 default n
62
Felix Held8cb5c302020-03-27 20:04:32 +010063config AMD_FP5
64 def_bool y if !AMD_FT5
65 help
66 The FP5 package supports higher-wattage parts and dual channel DDR4 memory.
67
68config AMD_FT5
69 def_bool n
70 help
71 The FT5 package supports low-power parts and single-channel DDR4 memory.
72
Martin Roth5c354b92019-04-22 14:55:16 -060073config PRERAM_CBMEM_CONSOLE_SIZE
74 hex
75 default 0x1600
76 help
77 Increase this value if preram cbmem console is getting truncated
78
79config CPU_ADDR_BITS
80 int
81 default 48
82
Martin Roth5c354b92019-04-22 14:55:16 -060083config MMCONF_BASE_ADDRESS
84 hex
85 default 0xF8000000
86
87config MMCONF_BUS_NUMBER
88 int
89 default 64
90
91config VGA_BIOS_ID
92 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050093 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060094 help
95 The default VGA BIOS PCI vendor/device ID should be set to the
96 result of the map_oprom_vendev() function in northbridge.c.
97
98config VGA_BIOS_FILE
99 string
Marshall Dawson0d441da2019-07-09 18:19:05 -0500100 default "3rdparty/blobs/soc/amd/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600101
102config S3_VGA_ROM_RUN
103 bool
104 default n
105
106config HEAP_SIZE
107 hex
108 default 0xc0000
109
110config EHCI_BAR
111 hex
112 default 0xfef00000
113
Martin Roth5c354b92019-04-22 14:55:16 -0600114config SERIRQ_CONTINUOUS_MODE
115 bool
116 default n
117 help
118 Set this option to y for serial IRQ in continuous mode.
119 Otherwise it is in quiet mode.
120
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600121config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600122 hex
123 default 0x400
124 help
125 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600126
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600127config PICASSO_UART
128 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600129 default n
130 select DRIVERS_UART_8250MEM
131 select DRIVERS_UART_8250MEM_32
132 select NO_UART_ON_SUPERIO
133 select UART_OVERRIDE_REFCLK
134 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600135 There are four memory-mapped UARTs controllers in Picasso at:
136 0: 0xfedc9000
137 1: 0xfedca000
138 2: 0xfedc3000
139 3: 0xfedcf000
140
141choice PICASSO_UART_CLOCK_SOURCE
142 prompt "UART Frequency"
143 depends on PICASSO_UART
144 default PICASSO_UART_48MZ
145
146config PICASSO_UART_48MZ
147 bool "48 MHz clock"
148 help
149 Select this option for the most compatibility.
150
151config PICASSO_UART_1_8MZ
152 bool "1.8432 MHz clock"
153 help
154 Select this option if an old payload or Linux ttyS0 arguments
155 require it.
156
157endchoice
158
159config PICASSO_UART_LEGACY
160 bool "Decode legacy I/O range"
161 depends on PICASSO_UART
162 help
163 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
164 decode legacy addresses and this option enables the one used for the
165 console. A UART accessed with I/O does not allow all the features
166 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600167
168config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600169 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600170 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600171 default 0xfedc9000 if UART_FOR_CONSOLE = 0
172 default 0xfedca000 if UART_FOR_CONSOLE = 1
173 default 0xfedc3000 if UART_FOR_CONSOLE = 2
174 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600175
176config SMM_TSEG_SIZE
177 hex
178 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
179 default 0x0
180
181config SMM_RESERVED_SIZE
182 hex
183 default 0x150000
184
185config SMM_MODULE_STACK_SIZE
186 hex
187 default 0x800
188
189config ACPI_CPU_STRING
190 string
191 default "\\_PR.P%03d"
192
193config ACPI_BERT
194 bool "Build ACPI BERT Table"
195 default y
196 depends on HAVE_ACPI_TABLES
197 help
198 Report Machine Check errors identified in POST to the OS in an
199 ACPI Boot Error Record Table. This option reserves an 8MB region
200 for building the error structures.
201
Marshall Dawson62611412019-06-19 11:46:06 -0600202config RO_REGION_ONLY
203 string
204 depends on CHROMEOS
205 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600206
Marshall Dawson62611412019-06-19 11:46:06 -0600207config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
208 int
Martin Roth4017de02019-12-16 23:21:05 -0700209 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600210
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600211config PICASSO_LPC_IOMUX
212 bool
213 help
214 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
215 Select this option if LPC signals are required.
216
Marshall Dawson62611412019-06-19 11:46:06 -0600217config MAINBOARD_POWER_RESTORE
218 def_bool n
219 help
220 This option determines what state to go to once power is restored
221 after having been lost in S0. Select this option to automatically
222 return to S0. Otherwise the system will remain in S5 once power
223 is restored.
224
225menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600226
Martin Roth5c354b92019-04-22 14:55:16 -0600227config AMDFW_OUTSIDE_CBFS
228 bool "The AMD firmware is outside CBFS"
229 default n
230 help
231 The AMDFW (PSP) is typically locatable in cbfs. Select this
232 option to manually attach the generated amdfw.rom outside of
233 cbfs. The location is selected by the FWM position.
234
235config AMD_FWM_POSITION_INDEX
236 int "Firmware Directory Table location (0 to 5)"
237 range 0 5
238 default 0 if BOARD_ROMSIZE_KB_512
239 default 1 if BOARD_ROMSIZE_KB_1024
240 default 2 if BOARD_ROMSIZE_KB_2048
241 default 3 if BOARD_ROMSIZE_KB_4096
242 default 4 if BOARD_ROMSIZE_KB_8192
243 default 5 if BOARD_ROMSIZE_KB_16384
244 help
245 Typically this is calculated by the ROM size, but there may
246 be situations where you want to put the firmware directory
247 table in a different location.
248 0: 512 KB - 0xFFFA0000
249 1: 1 MB - 0xFFF20000
250 2: 2 MB - 0xFFE20000
251 3: 4 MB - 0xFFC20000
252 4: 8 MB - 0xFF820000
253 5: 16 MB - 0xFF020000
254
255comment "AMD Firmware Directory Table set to location for 512KB ROM"
256 depends on AMD_FWM_POSITION_INDEX = 0
257comment "AMD Firmware Directory Table set to location for 1MB ROM"
258 depends on AMD_FWM_POSITION_INDEX = 1
259comment "AMD Firmware Directory Table set to location for 2MB ROM"
260 depends on AMD_FWM_POSITION_INDEX = 2
261comment "AMD Firmware Directory Table set to location for 4MB ROM"
262 depends on AMD_FWM_POSITION_INDEX = 3
263comment "AMD Firmware Directory Table set to location for 8MB ROM"
264 depends on AMD_FWM_POSITION_INDEX = 4
265comment "AMD Firmware Directory Table set to location for 16MB ROM"
266 depends on AMD_FWM_POSITION_INDEX = 5
267
Marshall Dawson62611412019-06-19 11:46:06 -0600268config AMD_PUBKEY_FILE
269 string "AMD public Key"
270 default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600271
Marshall Dawson62611412019-06-19 11:46:06 -0600272config PSP_APCB_FILE
273 string "APCB file"
Martin Roth5c354b92019-04-22 14:55:16 -0600274 help
Marshall Dawson4357a822019-09-25 11:07:56 -0600275 The name of the AGESA Parameter Customization Block. This image is
276 instance ID 0 in the PSP's BIOS Directory Table.
277
278config PSP_APCB1_FILE
279 string
280 help
281 If specified, this image is instance ID 1 in the PSP's BIOS
282 Directory Table.
283
284config PSP_APCB2_FILE
285 string
286 help
287 If specified, this image is instance ID 2 in the PSP's BIOS
288 Directory Table.
289
290config PSP_APCB3_FILE
291 string
292 help
293 If specified, this image is instance ID 3 in the PSP's BIOS
294 Directory Table.
295
296config PSP_APCB4_FILE
297 string
298 help
299 If specified, this image is instance ID 4 in the PSP's BIOS
300 Directory Table.
Marshall Dawson62611412019-06-19 11:46:06 -0600301
302config PSP_APOB_DESTINATION
303 hex
304 default 0x9f00000
305 help
306 Location in DRAM where the PSP will copy the AGESA PSP Output
307 Block.
308
309config PSP_APOB_NV_ADDRESS
310 hex "Base address of APOB NV"
Marshall Dawson62611412019-06-19 11:46:06 -0600311 help
312 Location in flash where the PSP can find the S3 restore information.
313 Place this on a boundary that the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600314
315config PSP_APOB_NV_SIZE
316 hex "Size of APOB NV to be reserved"
Marshall Dawson62611412019-06-19 11:46:06 -0600317 help
318 Size of the S3 restore information. Make this a multiple of the
319 size the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600320
321config USE_PSPSCUREOS
322 bool "Include PSP SecureOS blobs in PSP build"
323 default y
324 help
325 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
326
327 If unsure, answer 'y'
328
329config PSP_LOAD_MP2_FW
330 bool "Include MP2 blobs in PSP build"
331 default y
332 help
333 Include the MP2 firmwares and configuration into the PSP build.
334
335 If unsure, answer 'y'
336
337config PSP_LOAD_S0I3_FW
338 bool "Include S0I3 blob in PSP build"
339 help
340 Select this item to include the S0i3 file into the PSP build.
341
342config HAVE_PSP_WHITELIST_FILE
343 bool "Include a debug whitelist file in PSP build"
344 default n
345 help
346 Support secured unlock prior to reset using a whitelisted
347 number? This feature requires a signed whitelist image and
348 bootloader from AMD.
349
350 If unsure, answer 'n'
351
352config PSP_WHITELIST_FILE
353 string "Debug whitelist file name"
354 depends on HAVE_PSP_WHITELIST_FILE
355 default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
356
357endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600358
Martin Roth1f337622019-04-22 16:08:31 -0600359endif # SOC_AMD_PICASSO