blob: c7e65fa57a66f66288fc3fec02d2d6d4eed87a75 [file] [log] [blame]
Felix Held4a8cd722020-04-18 22:26:39 +02001# SPDX-License-Identifier: GPL-2.0-only
2# This file is part of the coreboot project.
Martin Roth5c354b92019-04-22 14:55:16 -06003
Martin Roth1f337622019-04-22 16:08:31 -06004config SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -06005 bool
6 help
Martin Roth1f337622019-04-22 16:08:31 -06007 AMD Picasso support
Martin Roth5c354b92019-04-22 14:55:16 -06008
Martin Roth1f337622019-04-22 16:08:31 -06009if SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -060010
11config CPU_SPECIFIC_OPTIONS
12 def_bool y
13 select ARCH_BOOTBLOCK_X86_32
14 select ARCH_VERSTAGE_X86_32
15 select ARCH_ROMSTAGE_X86_32
16 select ARCH_RAMSTAGE_X86_32
17 select X86_AMD_FIXED_MTRRS
Marshall Dawson34c30562019-07-16 15:18:00 -060018 select X86_AMD_INIT_SIPI
Martin Roth5c354b92019-04-22 14:55:16 -060019 select ACPI_AMD_HARDWARE_SLEEP_VALUES
Martin Roth5c354b92019-04-22 14:55:16 -060020 select DRIVERS_I2C_DESIGNWARE
21 select GENERIC_GPIO_LIB
Martin Roth5c354b92019-04-22 14:55:16 -060022 select IOAPIC
23 select HAVE_USBDEBUG_OPTIONS
Marshall Dawson80d0b012019-06-19 12:29:23 -060024 select TSC_MONOTONIC_TIMER
Richard Spiegel65562cd652019-08-21 10:27:05 -070025 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth5c354b92019-04-22 14:55:16 -060026 select TSC_SYNC_LFENCE
Marshall Dawson80d0b012019-06-19 12:29:23 -060027 select UDELAY_TSC
Martin Roth5c354b92019-04-22 14:55:16 -060028 select SOC_AMD_COMMON
29 select SOC_AMD_COMMON_BLOCK
30 select SOC_AMD_COMMON_BLOCK_IOMMU
31 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
32 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
33 select SOC_AMD_COMMON_BLOCK_ACPI
34 select SOC_AMD_COMMON_BLOCK_LPC
35 select SOC_AMD_COMMON_BLOCK_PCI
36 select SOC_AMD_COMMON_BLOCK_HDA
37 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070038 select SOC_AMD_COMMON_BLOCK_SMBUS
Marshall Dawson5a73fc32020-01-24 09:42:57 -070039 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Martin Roth5c354b92019-04-22 14:55:16 -060040 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
41 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060042 select PARALLEL_MP
43 select PARALLEL_MP_AP_WORK
44 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060045 select SSE2
46 select RTC
Martin Roth5c354b92019-04-22 14:55:16 -060047
Kyösti Mälkki9c55ee32019-07-22 09:34:50 +030048config HAVE_BOOTBLOCK
49 bool
50 default n
51
Felix Held8cb5c302020-03-27 20:04:32 +010052config AMD_FP5
53 def_bool y if !AMD_FT5
54 help
55 The FP5 package supports higher-wattage parts and dual channel DDR4 memory.
56
57config AMD_FT5
58 def_bool n
59 help
60 The FT5 package supports low-power parts and single-channel DDR4 memory.
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 Dawson901cb9c2020-01-21 14:53:45 -0700191config ACPI_BERT_SIZE
192 hex
193 default 0x4000
194 help
195 Specify the amount of DRAM reserved for gathering the data used to
196 generate the ACPI table.
197
Marshall Dawson62611412019-06-19 11:46:06 -0600198config RO_REGION_ONLY
199 string
200 depends on CHROMEOS
201 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600202
Marshall Dawson62611412019-06-19 11:46:06 -0600203config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
204 int
Martin Roth4017de02019-12-16 23:21:05 -0700205 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600206
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600207config PICASSO_LPC_IOMUX
208 bool
209 help
210 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
211 Select this option if LPC signals are required.
212
Marshall Dawson62611412019-06-19 11:46:06 -0600213config MAINBOARD_POWER_RESTORE
214 def_bool n
215 help
216 This option determines what state to go to once power is restored
217 after having been lost in S0. Select this option to automatically
218 return to S0. Otherwise the system will remain in S5 once power
219 is restored.
220
221menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600222
Martin Roth5c354b92019-04-22 14:55:16 -0600223config AMDFW_OUTSIDE_CBFS
224 bool "The AMD firmware is outside CBFS"
225 default n
226 help
227 The AMDFW (PSP) is typically locatable in cbfs. Select this
228 option to manually attach the generated amdfw.rom outside of
229 cbfs. The location is selected by the FWM position.
230
231config AMD_FWM_POSITION_INDEX
232 int "Firmware Directory Table location (0 to 5)"
233 range 0 5
234 default 0 if BOARD_ROMSIZE_KB_512
235 default 1 if BOARD_ROMSIZE_KB_1024
236 default 2 if BOARD_ROMSIZE_KB_2048
237 default 3 if BOARD_ROMSIZE_KB_4096
238 default 4 if BOARD_ROMSIZE_KB_8192
239 default 5 if BOARD_ROMSIZE_KB_16384
240 help
241 Typically this is calculated by the ROM size, but there may
242 be situations where you want to put the firmware directory
243 table in a different location.
244 0: 512 KB - 0xFFFA0000
245 1: 1 MB - 0xFFF20000
246 2: 2 MB - 0xFFE20000
247 3: 4 MB - 0xFFC20000
248 4: 8 MB - 0xFF820000
249 5: 16 MB - 0xFF020000
250
251comment "AMD Firmware Directory Table set to location for 512KB ROM"
252 depends on AMD_FWM_POSITION_INDEX = 0
253comment "AMD Firmware Directory Table set to location for 1MB ROM"
254 depends on AMD_FWM_POSITION_INDEX = 1
255comment "AMD Firmware Directory Table set to location for 2MB ROM"
256 depends on AMD_FWM_POSITION_INDEX = 2
257comment "AMD Firmware Directory Table set to location for 4MB ROM"
258 depends on AMD_FWM_POSITION_INDEX = 3
259comment "AMD Firmware Directory Table set to location for 8MB ROM"
260 depends on AMD_FWM_POSITION_INDEX = 4
261comment "AMD Firmware Directory Table set to location for 16MB ROM"
262 depends on AMD_FWM_POSITION_INDEX = 5
263
Marshall Dawson62611412019-06-19 11:46:06 -0600264config AMD_PUBKEY_FILE
265 string "AMD public Key"
266 default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600267
Marshall Dawson62611412019-06-19 11:46:06 -0600268config PSP_APCB_FILE
269 string "APCB file"
Martin Roth5c354b92019-04-22 14:55:16 -0600270 help
Marshall Dawson4357a822019-09-25 11:07:56 -0600271 The name of the AGESA Parameter Customization Block. This image is
272 instance ID 0 in the PSP's BIOS Directory Table.
273
274config PSP_APCB1_FILE
275 string
276 help
277 If specified, this image is instance ID 1 in the PSP's BIOS
278 Directory Table.
279
280config PSP_APCB2_FILE
281 string
282 help
283 If specified, this image is instance ID 2 in the PSP's BIOS
284 Directory Table.
285
286config PSP_APCB3_FILE
287 string
288 help
289 If specified, this image is instance ID 3 in the PSP's BIOS
290 Directory Table.
291
292config PSP_APCB4_FILE
293 string
294 help
295 If specified, this image is instance ID 4 in the PSP's BIOS
296 Directory Table.
Marshall Dawson62611412019-06-19 11:46:06 -0600297
298config PSP_APOB_DESTINATION
299 hex
300 default 0x9f00000
301 help
302 Location in DRAM where the PSP will copy the AGESA PSP Output
303 Block.
304
305config PSP_APOB_NV_ADDRESS
306 hex "Base address of APOB NV"
Marshall Dawson62611412019-06-19 11:46:06 -0600307 help
308 Location in flash where the PSP can find the S3 restore information.
309 Place this on a boundary that the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600310
311config PSP_APOB_NV_SIZE
312 hex "Size of APOB NV to be reserved"
Marshall Dawson62611412019-06-19 11:46:06 -0600313 help
314 Size of the S3 restore information. Make this a multiple of the
315 size the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600316
317config USE_PSPSCUREOS
318 bool "Include PSP SecureOS blobs in PSP build"
319 default y
320 help
321 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
322
323 If unsure, answer 'y'
324
325config PSP_LOAD_MP2_FW
326 bool "Include MP2 blobs in PSP build"
327 default y
328 help
329 Include the MP2 firmwares and configuration into the PSP build.
330
331 If unsure, answer 'y'
332
333config PSP_LOAD_S0I3_FW
334 bool "Include S0I3 blob in PSP build"
335 help
336 Select this item to include the S0i3 file into the PSP build.
337
338config HAVE_PSP_WHITELIST_FILE
339 bool "Include a debug whitelist file in PSP build"
340 default n
341 help
342 Support secured unlock prior to reset using a whitelisted
343 number? This feature requires a signed whitelist image and
344 bootloader from AMD.
345
346 If unsure, answer 'n'
347
348config PSP_WHITELIST_FILE
349 string "Debug whitelist file name"
350 depends on HAVE_PSP_WHITELIST_FILE
351 default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
352
353endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600354
Martin Roth1f337622019-04-22 16:08:31 -0600355endif # SOC_AMD_PICASSO