blob: 7561414c55b68ed9da7b48a8e7d2725844df26e4 [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
Martin Roth5c354b92019-04-22 14:55:16 -060050 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
51 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060052 select PARALLEL_MP
53 select PARALLEL_MP_AP_WORK
54 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060055 select SSE2
56 select RTC
Martin Roth5c354b92019-04-22 14:55:16 -060057
Kyösti Mälkki9c55ee32019-07-22 09:34:50 +030058config HAVE_BOOTBLOCK
59 bool
60 default n
61
Martin Roth5c354b92019-04-22 14:55:16 -060062config PRERAM_CBMEM_CONSOLE_SIZE
63 hex
64 default 0x1600
65 help
66 Increase this value if preram cbmem console is getting truncated
67
68config CPU_ADDR_BITS
69 int
70 default 48
71
Martin Roth5c354b92019-04-22 14:55:16 -060072config MMCONF_BASE_ADDRESS
73 hex
74 default 0xF8000000
75
76config MMCONF_BUS_NUMBER
77 int
78 default 64
79
80config VGA_BIOS_ID
81 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050082 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060083 help
84 The default VGA BIOS PCI vendor/device ID should be set to the
85 result of the map_oprom_vendev() function in northbridge.c.
86
87config VGA_BIOS_FILE
88 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050089 default "3rdparty/blobs/soc/amd/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -060090
91config S3_VGA_ROM_RUN
92 bool
93 default n
94
95config HEAP_SIZE
96 hex
97 default 0xc0000
98
99config EHCI_BAR
100 hex
101 default 0xfef00000
102
Martin Roth5c354b92019-04-22 14:55:16 -0600103config SERIRQ_CONTINUOUS_MODE
104 bool
105 default n
106 help
107 Set this option to y for serial IRQ in continuous mode.
108 Otherwise it is in quiet mode.
109
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600110config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600111 hex
112 default 0x400
113 help
114 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600115
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600116config PICASSO_UART
117 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600118 default n
119 select DRIVERS_UART_8250MEM
120 select DRIVERS_UART_8250MEM_32
121 select NO_UART_ON_SUPERIO
122 select UART_OVERRIDE_REFCLK
123 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600124 There are four memory-mapped UARTs controllers in Picasso at:
125 0: 0xfedc9000
126 1: 0xfedca000
127 2: 0xfedc3000
128 3: 0xfedcf000
129
130choice PICASSO_UART_CLOCK_SOURCE
131 prompt "UART Frequency"
132 depends on PICASSO_UART
133 default PICASSO_UART_48MZ
134
135config PICASSO_UART_48MZ
136 bool "48 MHz clock"
137 help
138 Select this option for the most compatibility.
139
140config PICASSO_UART_1_8MZ
141 bool "1.8432 MHz clock"
142 help
143 Select this option if an old payload or Linux ttyS0 arguments
144 require it.
145
146endchoice
147
148config PICASSO_UART_LEGACY
149 bool "Decode legacy I/O range"
150 depends on PICASSO_UART
151 help
152 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
153 decode legacy addresses and this option enables the one used for the
154 console. A UART accessed with I/O does not allow all the features
155 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600156
157config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600158 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600159 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600160 default 0xfedc9000 if UART_FOR_CONSOLE = 0
161 default 0xfedca000 if UART_FOR_CONSOLE = 1
162 default 0xfedc3000 if UART_FOR_CONSOLE = 2
163 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600164
165config SMM_TSEG_SIZE
166 hex
167 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
168 default 0x0
169
170config SMM_RESERVED_SIZE
171 hex
172 default 0x150000
173
174config SMM_MODULE_STACK_SIZE
175 hex
176 default 0x800
177
178config ACPI_CPU_STRING
179 string
180 default "\\_PR.P%03d"
181
182config ACPI_BERT
183 bool "Build ACPI BERT Table"
184 default y
185 depends on HAVE_ACPI_TABLES
186 help
187 Report Machine Check errors identified in POST to the OS in an
188 ACPI Boot Error Record Table. This option reserves an 8MB region
189 for building the error structures.
190
Marshall Dawson62611412019-06-19 11:46:06 -0600191config RO_REGION_ONLY
192 string
193 depends on CHROMEOS
194 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600195
Marshall Dawson62611412019-06-19 11:46:06 -0600196config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
197 int
198 default 133
199
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600200config PICASSO_LPC_IOMUX
201 bool
202 help
203 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
204 Select this option if LPC signals are required.
205
Marshall Dawson62611412019-06-19 11:46:06 -0600206config MAINBOARD_POWER_RESTORE
207 def_bool n
208 help
209 This option determines what state to go to once power is restored
210 after having been lost in S0. Select this option to automatically
211 return to S0. Otherwise the system will remain in S5 once power
212 is restored.
213
214menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600215
Martin Roth5c354b92019-04-22 14:55:16 -0600216config AMDFW_OUTSIDE_CBFS
217 bool "The AMD firmware is outside CBFS"
218 default n
219 help
220 The AMDFW (PSP) is typically locatable in cbfs. Select this
221 option to manually attach the generated amdfw.rom outside of
222 cbfs. The location is selected by the FWM position.
223
224config AMD_FWM_POSITION_INDEX
225 int "Firmware Directory Table location (0 to 5)"
226 range 0 5
227 default 0 if BOARD_ROMSIZE_KB_512
228 default 1 if BOARD_ROMSIZE_KB_1024
229 default 2 if BOARD_ROMSIZE_KB_2048
230 default 3 if BOARD_ROMSIZE_KB_4096
231 default 4 if BOARD_ROMSIZE_KB_8192
232 default 5 if BOARD_ROMSIZE_KB_16384
233 help
234 Typically this is calculated by the ROM size, but there may
235 be situations where you want to put the firmware directory
236 table in a different location.
237 0: 512 KB - 0xFFFA0000
238 1: 1 MB - 0xFFF20000
239 2: 2 MB - 0xFFE20000
240 3: 4 MB - 0xFFC20000
241 4: 8 MB - 0xFF820000
242 5: 16 MB - 0xFF020000
243
244comment "AMD Firmware Directory Table set to location for 512KB ROM"
245 depends on AMD_FWM_POSITION_INDEX = 0
246comment "AMD Firmware Directory Table set to location for 1MB ROM"
247 depends on AMD_FWM_POSITION_INDEX = 1
248comment "AMD Firmware Directory Table set to location for 2MB ROM"
249 depends on AMD_FWM_POSITION_INDEX = 2
250comment "AMD Firmware Directory Table set to location for 4MB ROM"
251 depends on AMD_FWM_POSITION_INDEX = 3
252comment "AMD Firmware Directory Table set to location for 8MB ROM"
253 depends on AMD_FWM_POSITION_INDEX = 4
254comment "AMD Firmware Directory Table set to location for 16MB ROM"
255 depends on AMD_FWM_POSITION_INDEX = 5
256
Marshall Dawson62611412019-06-19 11:46:06 -0600257config AMD_PUBKEY_FILE
258 string "AMD public Key"
259 default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600260
Marshall Dawson62611412019-06-19 11:46:06 -0600261config PSP_APCB_FILE
262 string "APCB file"
Martin Roth5c354b92019-04-22 14:55:16 -0600263 help
Marshall Dawson4357a822019-09-25 11:07:56 -0600264 The name of the AGESA Parameter Customization Block. This image is
265 instance ID 0 in the PSP's BIOS Directory Table.
266
267config PSP_APCB1_FILE
268 string
269 help
270 If specified, this image is instance ID 1 in the PSP's BIOS
271 Directory Table.
272
273config PSP_APCB2_FILE
274 string
275 help
276 If specified, this image is instance ID 2 in the PSP's BIOS
277 Directory Table.
278
279config PSP_APCB3_FILE
280 string
281 help
282 If specified, this image is instance ID 3 in the PSP's BIOS
283 Directory Table.
284
285config PSP_APCB4_FILE
286 string
287 help
288 If specified, this image is instance ID 4 in the PSP's BIOS
289 Directory Table.
Marshall Dawson62611412019-06-19 11:46:06 -0600290
291config PSP_APOB_DESTINATION
292 hex
293 default 0x9f00000
294 help
295 Location in DRAM where the PSP will copy the AGESA PSP Output
296 Block.
297
298config PSP_APOB_NV_ADDRESS
299 hex "Base address of APOB NV"
Marshall Dawson62611412019-06-19 11:46:06 -0600300 help
301 Location in flash where the PSP can find the S3 restore information.
302 Place this on a boundary that the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600303
304config PSP_APOB_NV_SIZE
305 hex "Size of APOB NV to be reserved"
Marshall Dawson62611412019-06-19 11:46:06 -0600306 help
307 Size of the S3 restore information. Make this a multiple of the
308 size the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600309
310config USE_PSPSCUREOS
311 bool "Include PSP SecureOS blobs in PSP build"
312 default y
313 help
314 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
315
316 If unsure, answer 'y'
317
318config PSP_LOAD_MP2_FW
319 bool "Include MP2 blobs in PSP build"
320 default y
321 help
322 Include the MP2 firmwares and configuration into the PSP build.
323
324 If unsure, answer 'y'
325
326config PSP_LOAD_S0I3_FW
327 bool "Include S0I3 blob in PSP build"
328 help
329 Select this item to include the S0i3 file into the PSP build.
330
331config HAVE_PSP_WHITELIST_FILE
332 bool "Include a debug whitelist file in PSP build"
333 default n
334 help
335 Support secured unlock prior to reset using a whitelisted
336 number? This feature requires a signed whitelist image and
337 bootloader from AMD.
338
339 If unsure, answer 'n'
340
341config PSP_WHITELIST_FILE
342 string "Debug whitelist file name"
343 depends on HAVE_PSP_WHITELIST_FILE
344 default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
345
346endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600347
Martin Roth1f337622019-04-22 16:08:31 -0600348endif # SOC_AMD_PICASSO