blob: d9211b4fb6f07ef3e76e1aab967816697f57ee8b [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
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
Felix Held8cb5c302020-03-27 20:04:32 +010062config AMD_FP5
63 def_bool y if !AMD_FT5
64 help
65 The FP5 package supports higher-wattage parts and dual channel DDR4 memory.
66
67config AMD_FT5
68 def_bool n
69 help
70 The FT5 package supports low-power parts and single-channel DDR4 memory.
71
Martin Roth5c354b92019-04-22 14:55:16 -060072config PRERAM_CBMEM_CONSOLE_SIZE
73 hex
74 default 0x1600
75 help
76 Increase this value if preram cbmem console is getting truncated
77
78config CPU_ADDR_BITS
79 int
80 default 48
81
Martin Roth5c354b92019-04-22 14:55:16 -060082config MMCONF_BASE_ADDRESS
83 hex
84 default 0xF8000000
85
86config MMCONF_BUS_NUMBER
87 int
88 default 64
89
90config VGA_BIOS_ID
91 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050092 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060093 help
94 The default VGA BIOS PCI vendor/device ID should be set to the
95 result of the map_oprom_vendev() function in northbridge.c.
96
97config VGA_BIOS_FILE
98 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050099 default "3rdparty/blobs/soc/amd/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600100
101config S3_VGA_ROM_RUN
102 bool
103 default n
104
105config HEAP_SIZE
106 hex
107 default 0xc0000
108
109config EHCI_BAR
110 hex
111 default 0xfef00000
112
Martin Roth5c354b92019-04-22 14:55:16 -0600113config SERIRQ_CONTINUOUS_MODE
114 bool
115 default n
116 help
117 Set this option to y for serial IRQ in continuous mode.
118 Otherwise it is in quiet mode.
119
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600120config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600121 hex
122 default 0x400
123 help
124 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600125
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600126config PICASSO_UART
127 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600128 default n
129 select DRIVERS_UART_8250MEM
130 select DRIVERS_UART_8250MEM_32
131 select NO_UART_ON_SUPERIO
132 select UART_OVERRIDE_REFCLK
133 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600134 There are four memory-mapped UARTs controllers in Picasso at:
135 0: 0xfedc9000
136 1: 0xfedca000
137 2: 0xfedc3000
138 3: 0xfedcf000
139
140choice PICASSO_UART_CLOCK_SOURCE
141 prompt "UART Frequency"
142 depends on PICASSO_UART
143 default PICASSO_UART_48MZ
144
145config PICASSO_UART_48MZ
146 bool "48 MHz clock"
147 help
148 Select this option for the most compatibility.
149
150config PICASSO_UART_1_8MZ
151 bool "1.8432 MHz clock"
152 help
153 Select this option if an old payload or Linux ttyS0 arguments
154 require it.
155
156endchoice
157
158config PICASSO_UART_LEGACY
159 bool "Decode legacy I/O range"
160 depends on PICASSO_UART
161 help
162 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
163 decode legacy addresses and this option enables the one used for the
164 console. A UART accessed with I/O does not allow all the features
165 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600166
167config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600168 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600169 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600170 default 0xfedc9000 if UART_FOR_CONSOLE = 0
171 default 0xfedca000 if UART_FOR_CONSOLE = 1
172 default 0xfedc3000 if UART_FOR_CONSOLE = 2
173 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600174
175config SMM_TSEG_SIZE
176 hex
177 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
178 default 0x0
179
180config SMM_RESERVED_SIZE
181 hex
182 default 0x150000
183
184config SMM_MODULE_STACK_SIZE
185 hex
186 default 0x800
187
188config ACPI_CPU_STRING
189 string
190 default "\\_PR.P%03d"
191
192config ACPI_BERT
193 bool "Build ACPI BERT Table"
194 default y
195 depends on HAVE_ACPI_TABLES
196 help
197 Report Machine Check errors identified in POST to the OS in an
198 ACPI Boot Error Record Table. This option reserves an 8MB region
199 for building the error structures.
200
Marshall Dawson62611412019-06-19 11:46:06 -0600201config RO_REGION_ONLY
202 string
203 depends on CHROMEOS
204 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600205
Marshall Dawson62611412019-06-19 11:46:06 -0600206config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
207 int
Martin Roth4017de02019-12-16 23:21:05 -0700208 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600209
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600210config PICASSO_LPC_IOMUX
211 bool
212 help
213 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
214 Select this option if LPC signals are required.
215
Marshall Dawson62611412019-06-19 11:46:06 -0600216config MAINBOARD_POWER_RESTORE
217 def_bool n
218 help
219 This option determines what state to go to once power is restored
220 after having been lost in S0. Select this option to automatically
221 return to S0. Otherwise the system will remain in S5 once power
222 is restored.
223
224menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600225
Martin Roth5c354b92019-04-22 14:55:16 -0600226config AMDFW_OUTSIDE_CBFS
227 bool "The AMD firmware is outside CBFS"
228 default n
229 help
230 The AMDFW (PSP) is typically locatable in cbfs. Select this
231 option to manually attach the generated amdfw.rom outside of
232 cbfs. The location is selected by the FWM position.
233
234config AMD_FWM_POSITION_INDEX
235 int "Firmware Directory Table location (0 to 5)"
236 range 0 5
237 default 0 if BOARD_ROMSIZE_KB_512
238 default 1 if BOARD_ROMSIZE_KB_1024
239 default 2 if BOARD_ROMSIZE_KB_2048
240 default 3 if BOARD_ROMSIZE_KB_4096
241 default 4 if BOARD_ROMSIZE_KB_8192
242 default 5 if BOARD_ROMSIZE_KB_16384
243 help
244 Typically this is calculated by the ROM size, but there may
245 be situations where you want to put the firmware directory
246 table in a different location.
247 0: 512 KB - 0xFFFA0000
248 1: 1 MB - 0xFFF20000
249 2: 2 MB - 0xFFE20000
250 3: 4 MB - 0xFFC20000
251 4: 8 MB - 0xFF820000
252 5: 16 MB - 0xFF020000
253
254comment "AMD Firmware Directory Table set to location for 512KB ROM"
255 depends on AMD_FWM_POSITION_INDEX = 0
256comment "AMD Firmware Directory Table set to location for 1MB ROM"
257 depends on AMD_FWM_POSITION_INDEX = 1
258comment "AMD Firmware Directory Table set to location for 2MB ROM"
259 depends on AMD_FWM_POSITION_INDEX = 2
260comment "AMD Firmware Directory Table set to location for 4MB ROM"
261 depends on AMD_FWM_POSITION_INDEX = 3
262comment "AMD Firmware Directory Table set to location for 8MB ROM"
263 depends on AMD_FWM_POSITION_INDEX = 4
264comment "AMD Firmware Directory Table set to location for 16MB ROM"
265 depends on AMD_FWM_POSITION_INDEX = 5
266
Marshall Dawson62611412019-06-19 11:46:06 -0600267config AMD_PUBKEY_FILE
268 string "AMD public Key"
269 default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600270
Marshall Dawson62611412019-06-19 11:46:06 -0600271config PSP_APCB_FILE
272 string "APCB file"
Martin Roth5c354b92019-04-22 14:55:16 -0600273 help
Marshall Dawson4357a822019-09-25 11:07:56 -0600274 The name of the AGESA Parameter Customization Block. This image is
275 instance ID 0 in the PSP's BIOS Directory Table.
276
277config PSP_APCB1_FILE
278 string
279 help
280 If specified, this image is instance ID 1 in the PSP's BIOS
281 Directory Table.
282
283config PSP_APCB2_FILE
284 string
285 help
286 If specified, this image is instance ID 2 in the PSP's BIOS
287 Directory Table.
288
289config PSP_APCB3_FILE
290 string
291 help
292 If specified, this image is instance ID 3 in the PSP's BIOS
293 Directory Table.
294
295config PSP_APCB4_FILE
296 string
297 help
298 If specified, this image is instance ID 4 in the PSP's BIOS
299 Directory Table.
Marshall Dawson62611412019-06-19 11:46:06 -0600300
301config PSP_APOB_DESTINATION
302 hex
303 default 0x9f00000
304 help
305 Location in DRAM where the PSP will copy the AGESA PSP Output
306 Block.
307
308config PSP_APOB_NV_ADDRESS
309 hex "Base address of APOB NV"
Marshall Dawson62611412019-06-19 11:46:06 -0600310 help
311 Location in flash where the PSP can find the S3 restore information.
312 Place this on a boundary that the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600313
314config PSP_APOB_NV_SIZE
315 hex "Size of APOB NV to be reserved"
Marshall Dawson62611412019-06-19 11:46:06 -0600316 help
317 Size of the S3 restore information. Make this a multiple of the
318 size the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600319
320config USE_PSPSCUREOS
321 bool "Include PSP SecureOS blobs in PSP build"
322 default y
323 help
324 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
325
326 If unsure, answer 'y'
327
328config PSP_LOAD_MP2_FW
329 bool "Include MP2 blobs in PSP build"
330 default y
331 help
332 Include the MP2 firmwares and configuration into the PSP build.
333
334 If unsure, answer 'y'
335
336config PSP_LOAD_S0I3_FW
337 bool "Include S0I3 blob in PSP build"
338 help
339 Select this item to include the S0i3 file into the PSP build.
340
341config HAVE_PSP_WHITELIST_FILE
342 bool "Include a debug whitelist file in PSP build"
343 default n
344 help
345 Support secured unlock prior to reset using a whitelisted
346 number? This feature requires a signed whitelist image and
347 bootloader from AMD.
348
349 If unsure, answer 'n'
350
351config PSP_WHITELIST_FILE
352 string "Debug whitelist file name"
353 depends on HAVE_PSP_WHITELIST_FILE
354 default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
355
356endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600357
Martin Roth1f337622019-04-22 16:08:31 -0600358endif # SOC_AMD_PICASSO