blob: 4759f01ecc5fb66459f0962359ebe7d7b23ad9c0 [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 Dawson901cb9c2020-01-21 14:53:45 -0700202config ACPI_BERT_SIZE
203 hex
204 default 0x4000
205 help
206 Specify the amount of DRAM reserved for gathering the data used to
207 generate the ACPI table.
208
Marshall Dawson62611412019-06-19 11:46:06 -0600209config RO_REGION_ONLY
210 string
211 depends on CHROMEOS
212 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600213
Marshall Dawson62611412019-06-19 11:46:06 -0600214config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
215 int
Martin Roth4017de02019-12-16 23:21:05 -0700216 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600217
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600218config PICASSO_LPC_IOMUX
219 bool
220 help
221 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
222 Select this option if LPC signals are required.
223
Marshall Dawson62611412019-06-19 11:46:06 -0600224config MAINBOARD_POWER_RESTORE
225 def_bool n
226 help
227 This option determines what state to go to once power is restored
228 after having been lost in S0. Select this option to automatically
229 return to S0. Otherwise the system will remain in S5 once power
230 is restored.
231
232menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600233
Martin Roth5c354b92019-04-22 14:55:16 -0600234config AMDFW_OUTSIDE_CBFS
235 bool "The AMD firmware is outside CBFS"
236 default n
237 help
238 The AMDFW (PSP) is typically locatable in cbfs. Select this
239 option to manually attach the generated amdfw.rom outside of
240 cbfs. The location is selected by the FWM position.
241
242config AMD_FWM_POSITION_INDEX
243 int "Firmware Directory Table location (0 to 5)"
244 range 0 5
245 default 0 if BOARD_ROMSIZE_KB_512
246 default 1 if BOARD_ROMSIZE_KB_1024
247 default 2 if BOARD_ROMSIZE_KB_2048
248 default 3 if BOARD_ROMSIZE_KB_4096
249 default 4 if BOARD_ROMSIZE_KB_8192
250 default 5 if BOARD_ROMSIZE_KB_16384
251 help
252 Typically this is calculated by the ROM size, but there may
253 be situations where you want to put the firmware directory
254 table in a different location.
255 0: 512 KB - 0xFFFA0000
256 1: 1 MB - 0xFFF20000
257 2: 2 MB - 0xFFE20000
258 3: 4 MB - 0xFFC20000
259 4: 8 MB - 0xFF820000
260 5: 16 MB - 0xFF020000
261
262comment "AMD Firmware Directory Table set to location for 512KB ROM"
263 depends on AMD_FWM_POSITION_INDEX = 0
264comment "AMD Firmware Directory Table set to location for 1MB ROM"
265 depends on AMD_FWM_POSITION_INDEX = 1
266comment "AMD Firmware Directory Table set to location for 2MB ROM"
267 depends on AMD_FWM_POSITION_INDEX = 2
268comment "AMD Firmware Directory Table set to location for 4MB ROM"
269 depends on AMD_FWM_POSITION_INDEX = 3
270comment "AMD Firmware Directory Table set to location for 8MB ROM"
271 depends on AMD_FWM_POSITION_INDEX = 4
272comment "AMD Firmware Directory Table set to location for 16MB ROM"
273 depends on AMD_FWM_POSITION_INDEX = 5
274
Marshall Dawson62611412019-06-19 11:46:06 -0600275config AMD_PUBKEY_FILE
276 string "AMD public Key"
277 default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600278
Marshall Dawson62611412019-06-19 11:46:06 -0600279config PSP_APCB_FILE
280 string "APCB file"
Martin Roth5c354b92019-04-22 14:55:16 -0600281 help
Marshall Dawson4357a822019-09-25 11:07:56 -0600282 The name of the AGESA Parameter Customization Block. This image is
283 instance ID 0 in the PSP's BIOS Directory Table.
284
285config PSP_APCB1_FILE
286 string
287 help
288 If specified, this image is instance ID 1 in the PSP's BIOS
289 Directory Table.
290
291config PSP_APCB2_FILE
292 string
293 help
294 If specified, this image is instance ID 2 in the PSP's BIOS
295 Directory Table.
296
297config PSP_APCB3_FILE
298 string
299 help
300 If specified, this image is instance ID 3 in the PSP's BIOS
301 Directory Table.
302
303config PSP_APCB4_FILE
304 string
305 help
306 If specified, this image is instance ID 4 in the PSP's BIOS
307 Directory Table.
Marshall Dawson62611412019-06-19 11:46:06 -0600308
309config PSP_APOB_DESTINATION
310 hex
311 default 0x9f00000
312 help
313 Location in DRAM where the PSP will copy the AGESA PSP Output
314 Block.
315
316config PSP_APOB_NV_ADDRESS
317 hex "Base address of APOB NV"
Marshall Dawson62611412019-06-19 11:46:06 -0600318 help
319 Location in flash where the PSP can find the S3 restore information.
320 Place this on a boundary that the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600321
322config PSP_APOB_NV_SIZE
323 hex "Size of APOB NV to be reserved"
Marshall Dawson62611412019-06-19 11:46:06 -0600324 help
325 Size of the S3 restore information. Make this a multiple of the
326 size the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600327
328config USE_PSPSCUREOS
329 bool "Include PSP SecureOS blobs in PSP build"
330 default y
331 help
332 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
333
334 If unsure, answer 'y'
335
336config PSP_LOAD_MP2_FW
337 bool "Include MP2 blobs in PSP build"
338 default y
339 help
340 Include the MP2 firmwares and configuration into the PSP build.
341
342 If unsure, answer 'y'
343
344config PSP_LOAD_S0I3_FW
345 bool "Include S0I3 blob in PSP build"
346 help
347 Select this item to include the S0i3 file into the PSP build.
348
349config HAVE_PSP_WHITELIST_FILE
350 bool "Include a debug whitelist file in PSP build"
351 default n
352 help
353 Support secured unlock prior to reset using a whitelisted
354 number? This feature requires a signed whitelist image and
355 bootloader from AMD.
356
357 If unsure, answer 'n'
358
359config PSP_WHITELIST_FILE
360 string "Debug whitelist file name"
361 depends on HAVE_PSP_WHITELIST_FILE
362 default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
363
364endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600365
Martin Roth1f337622019-04-22 16:08:31 -0600366endif # SOC_AMD_PICASSO