blob: acceb00cad102a1255d31f959563d3556afe4c8b [file] [log] [blame]
Martin Roth5c354b92019-04-22 14:55:16 -06001##
2## This file is part of the coreboot project.
3##
Marshall Dawson62611412019-06-19 11:46:06 -06004## Copyright (C) 2019 Advanced Micro Devices, Inc.
Martin Roth5c354b92019-04-22 14:55:16 -06005##
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; version 2 of the License.
9##
10## This program is distributed in the hope that it will be useful,
11## but WITHOUT ANY WARRANTY; without even the implied warranty of
12## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13## GNU General Public License for more details.
14##
15
Martin Roth1f337622019-04-22 16:08:31 -060016config SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -060017 bool
18 help
Martin Roth1f337622019-04-22 16:08:31 -060019 AMD Picasso support
Martin Roth5c354b92019-04-22 14:55:16 -060020
Martin Roth1f337622019-04-22 16:08:31 -060021if SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -060022
23config CPU_SPECIFIC_OPTIONS
24 def_bool y
25 select ARCH_BOOTBLOCK_X86_32
26 select ARCH_VERSTAGE_X86_32
27 select ARCH_ROMSTAGE_X86_32
28 select ARCH_RAMSTAGE_X86_32
29 select X86_AMD_FIXED_MTRRS
Marshall Dawson34c30562019-07-16 15:18:00 -060030 select X86_AMD_INIT_SIPI
Martin Roth5c354b92019-04-22 14:55:16 -060031 select ACPI_AMD_HARDWARE_SLEEP_VALUES
Martin Roth5c354b92019-04-22 14:55:16 -060032 select DRIVERS_I2C_DESIGNWARE
33 select GENERIC_GPIO_LIB
Martin Roth5c354b92019-04-22 14:55:16 -060034 select IOAPIC
35 select HAVE_USBDEBUG_OPTIONS
Marshall Dawson80d0b012019-06-19 12:29:23 -060036 select TSC_MONOTONIC_TIMER
Richard Spiegel65562cd652019-08-21 10:27:05 -070037 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth5c354b92019-04-22 14:55:16 -060038 select TSC_SYNC_LFENCE
Marshall Dawson80d0b012019-06-19 12:29:23 -060039 select UDELAY_TSC
Martin Roth5c354b92019-04-22 14:55:16 -060040 select SOC_AMD_COMMON
41 select SOC_AMD_COMMON_BLOCK
42 select SOC_AMD_COMMON_BLOCK_IOMMU
43 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
44 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
45 select SOC_AMD_COMMON_BLOCK_ACPI
46 select SOC_AMD_COMMON_BLOCK_LPC
47 select SOC_AMD_COMMON_BLOCK_PCI
48 select SOC_AMD_COMMON_BLOCK_HDA
49 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070050 select SOC_AMD_COMMON_BLOCK_SMBUS
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
Martin Roth5c354b92019-04-22 14:55:16 -060063config PRERAM_CBMEM_CONSOLE_SIZE
64 hex
65 default 0x1600
66 help
67 Increase this value if preram cbmem console is getting truncated
68
69config CPU_ADDR_BITS
70 int
71 default 48
72
Martin Roth5c354b92019-04-22 14:55:16 -060073config MMCONF_BASE_ADDRESS
74 hex
75 default 0xF8000000
76
77config MMCONF_BUS_NUMBER
78 int
79 default 64
80
81config VGA_BIOS_ID
82 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050083 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060084 help
85 The default VGA BIOS PCI vendor/device ID should be set to the
86 result of the map_oprom_vendev() function in northbridge.c.
87
88config VGA_BIOS_FILE
89 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050090 default "3rdparty/blobs/soc/amd/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -060091
92config S3_VGA_ROM_RUN
93 bool
94 default n
95
96config HEAP_SIZE
97 hex
98 default 0xc0000
99
100config EHCI_BAR
101 hex
102 default 0xfef00000
103
Martin Roth5c354b92019-04-22 14:55:16 -0600104config SERIRQ_CONTINUOUS_MODE
105 bool
106 default n
107 help
108 Set this option to y for serial IRQ in continuous mode.
109 Otherwise it is in quiet mode.
110
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600111config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600112 hex
113 default 0x400
114 help
115 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600116
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600117config PICASSO_UART
118 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600119 default n
120 select DRIVERS_UART_8250MEM
121 select DRIVERS_UART_8250MEM_32
122 select NO_UART_ON_SUPERIO
123 select UART_OVERRIDE_REFCLK
124 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600125 There are four memory-mapped UARTs controllers in Picasso at:
126 0: 0xfedc9000
127 1: 0xfedca000
128 2: 0xfedc3000
129 3: 0xfedcf000
130
131choice PICASSO_UART_CLOCK_SOURCE
132 prompt "UART Frequency"
133 depends on PICASSO_UART
134 default PICASSO_UART_48MZ
135
136config PICASSO_UART_48MZ
137 bool "48 MHz clock"
138 help
139 Select this option for the most compatibility.
140
141config PICASSO_UART_1_8MZ
142 bool "1.8432 MHz clock"
143 help
144 Select this option if an old payload or Linux ttyS0 arguments
145 require it.
146
147endchoice
148
149config PICASSO_UART_LEGACY
150 bool "Decode legacy I/O range"
151 depends on PICASSO_UART
152 help
153 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
154 decode legacy addresses and this option enables the one used for the
155 console. A UART accessed with I/O does not allow all the features
156 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600157
158config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600159 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600160 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600161 default 0xfedc9000 if UART_FOR_CONSOLE = 0
162 default 0xfedca000 if UART_FOR_CONSOLE = 1
163 default 0xfedc3000 if UART_FOR_CONSOLE = 2
164 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600165
166config SMM_TSEG_SIZE
167 hex
168 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
169 default 0x0
170
171config SMM_RESERVED_SIZE
172 hex
173 default 0x150000
174
175config SMM_MODULE_STACK_SIZE
176 hex
177 default 0x800
178
179config ACPI_CPU_STRING
180 string
181 default "\\_PR.P%03d"
182
183config ACPI_BERT
184 bool "Build ACPI BERT Table"
185 default y
186 depends on HAVE_ACPI_TABLES
187 help
188 Report Machine Check errors identified in POST to the OS in an
189 ACPI Boot Error Record Table. This option reserves an 8MB region
190 for building the error structures.
191
Marshall Dawson62611412019-06-19 11:46:06 -0600192config RO_REGION_ONLY
193 string
194 depends on CHROMEOS
195 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600196
Marshall Dawson62611412019-06-19 11:46:06 -0600197config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
198 int
199 default 133
200
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600201config PICASSO_LPC_IOMUX
202 bool
203 help
204 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
205 Select this option if LPC signals are required.
206
Marshall Dawson62611412019-06-19 11:46:06 -0600207config MAINBOARD_POWER_RESTORE
208 def_bool n
209 help
210 This option determines what state to go to once power is restored
211 after having been lost in S0. Select this option to automatically
212 return to S0. Otherwise the system will remain in S5 once power
213 is restored.
214
215menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600216
Martin Roth5c354b92019-04-22 14:55:16 -0600217config AMDFW_OUTSIDE_CBFS
218 bool "The AMD firmware is outside CBFS"
219 default n
220 help
221 The AMDFW (PSP) is typically locatable in cbfs. Select this
222 option to manually attach the generated amdfw.rom outside of
223 cbfs. The location is selected by the FWM position.
224
225config AMD_FWM_POSITION_INDEX
226 int "Firmware Directory Table location (0 to 5)"
227 range 0 5
228 default 0 if BOARD_ROMSIZE_KB_512
229 default 1 if BOARD_ROMSIZE_KB_1024
230 default 2 if BOARD_ROMSIZE_KB_2048
231 default 3 if BOARD_ROMSIZE_KB_4096
232 default 4 if BOARD_ROMSIZE_KB_8192
233 default 5 if BOARD_ROMSIZE_KB_16384
234 help
235 Typically this is calculated by the ROM size, but there may
236 be situations where you want to put the firmware directory
237 table in a different location.
238 0: 512 KB - 0xFFFA0000
239 1: 1 MB - 0xFFF20000
240 2: 2 MB - 0xFFE20000
241 3: 4 MB - 0xFFC20000
242 4: 8 MB - 0xFF820000
243 5: 16 MB - 0xFF020000
244
245comment "AMD Firmware Directory Table set to location for 512KB ROM"
246 depends on AMD_FWM_POSITION_INDEX = 0
247comment "AMD Firmware Directory Table set to location for 1MB ROM"
248 depends on AMD_FWM_POSITION_INDEX = 1
249comment "AMD Firmware Directory Table set to location for 2MB ROM"
250 depends on AMD_FWM_POSITION_INDEX = 2
251comment "AMD Firmware Directory Table set to location for 4MB ROM"
252 depends on AMD_FWM_POSITION_INDEX = 3
253comment "AMD Firmware Directory Table set to location for 8MB ROM"
254 depends on AMD_FWM_POSITION_INDEX = 4
255comment "AMD Firmware Directory Table set to location for 16MB ROM"
256 depends on AMD_FWM_POSITION_INDEX = 5
257
Marshall Dawson62611412019-06-19 11:46:06 -0600258config AMD_PUBKEY_FILE
259 string "AMD public Key"
260 default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600261
Marshall Dawson62611412019-06-19 11:46:06 -0600262config PSP_APCB_FILE
263 string "APCB file"
Martin Roth5c354b92019-04-22 14:55:16 -0600264 help
Marshall Dawson4357a822019-09-25 11:07:56 -0600265 The name of the AGESA Parameter Customization Block. This image is
266 instance ID 0 in the PSP's BIOS Directory Table.
267
268config PSP_APCB1_FILE
269 string
270 help
271 If specified, this image is instance ID 1 in the PSP's BIOS
272 Directory Table.
273
274config PSP_APCB2_FILE
275 string
276 help
277 If specified, this image is instance ID 2 in the PSP's BIOS
278 Directory Table.
279
280config PSP_APCB3_FILE
281 string
282 help
283 If specified, this image is instance ID 3 in the PSP's BIOS
284 Directory Table.
285
286config PSP_APCB4_FILE
287 string
288 help
289 If specified, this image is instance ID 4 in the PSP's BIOS
290 Directory Table.
Marshall Dawson62611412019-06-19 11:46:06 -0600291
292config PSP_APOB_DESTINATION
293 hex
294 default 0x9f00000
295 help
296 Location in DRAM where the PSP will copy the AGESA PSP Output
297 Block.
298
299config PSP_APOB_NV_ADDRESS
300 hex "Base address of APOB NV"
Marshall Dawson62611412019-06-19 11:46:06 -0600301 help
302 Location in flash where the PSP can find the S3 restore information.
303 Place this on a boundary that the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600304
305config PSP_APOB_NV_SIZE
306 hex "Size of APOB NV to be reserved"
Marshall Dawson62611412019-06-19 11:46:06 -0600307 help
308 Size of the S3 restore information. Make this a multiple of the
309 size the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600310
311config USE_PSPSCUREOS
312 bool "Include PSP SecureOS blobs in PSP build"
313 default y
314 help
315 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
316
317 If unsure, answer 'y'
318
319config PSP_LOAD_MP2_FW
320 bool "Include MP2 blobs in PSP build"
321 default y
322 help
323 Include the MP2 firmwares and configuration into the PSP build.
324
325 If unsure, answer 'y'
326
327config PSP_LOAD_S0I3_FW
328 bool "Include S0I3 blob in PSP build"
329 help
330 Select this item to include the S0i3 file into the PSP build.
331
332config HAVE_PSP_WHITELIST_FILE
333 bool "Include a debug whitelist file in PSP build"
334 default n
335 help
336 Support secured unlock prior to reset using a whitelisted
337 number? This feature requires a signed whitelist image and
338 bootloader from AMD.
339
340 If unsure, answer 'n'
341
342config PSP_WHITELIST_FILE
343 string "Debug whitelist file name"
344 depends on HAVE_PSP_WHITELIST_FILE
345 default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
346
347endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600348
Martin Roth1f337622019-04-22 16:08:31 -0600349endif # SOC_AMD_PICASSO