blob: fa053f98ccb71c35a4caf072964f3a5b334e6e13 [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
Felix Held46673222020-04-04 02:37:04 +020017 select RESET_VECTOR_IN_RAM
Martin Roth5c354b92019-04-22 14:55:16 -060018 select X86_AMD_FIXED_MTRRS
Marshall Dawson34c30562019-07-16 15:18:00 -060019 select X86_AMD_INIT_SIPI
Martin Roth5c354b92019-04-22 14:55:16 -060020 select ACPI_AMD_HARDWARE_SLEEP_VALUES
Martin Roth5c354b92019-04-22 14:55:16 -060021 select DRIVERS_I2C_DESIGNWARE
22 select GENERIC_GPIO_LIB
Martin Roth5c354b92019-04-22 14:55:16 -060023 select IOAPIC
24 select HAVE_USBDEBUG_OPTIONS
Marshall Dawson80d0b012019-06-19 12:29:23 -060025 select TSC_MONOTONIC_TIMER
Richard Spiegel65562cd652019-08-21 10:27:05 -070026 select SOC_AMD_COMMON_BLOCK_SPI
Martin Roth5c354b92019-04-22 14:55:16 -060027 select TSC_SYNC_LFENCE
Marshall Dawson80d0b012019-06-19 12:29:23 -060028 select UDELAY_TSC
Martin Roth5c354b92019-04-22 14:55:16 -060029 select SOC_AMD_COMMON
30 select SOC_AMD_COMMON_BLOCK
31 select SOC_AMD_COMMON_BLOCK_IOMMU
32 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
33 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
34 select SOC_AMD_COMMON_BLOCK_ACPI
Furquan Shaikh9e1a49c2020-04-23 14:01:12 -070035 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Martin Roth5c354b92019-04-22 14:55:16 -060036 select SOC_AMD_COMMON_BLOCK_LPC
37 select SOC_AMD_COMMON_BLOCK_PCI
38 select SOC_AMD_COMMON_BLOCK_HDA
39 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070040 select SOC_AMD_COMMON_BLOCK_SMBUS
Marshall Dawson5a73fc32020-01-24 09:42:57 -070041 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Martin Roth5c354b92019-04-22 14:55:16 -060042 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
43 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060044 select PARALLEL_MP
45 select PARALLEL_MP_AP_WORK
46 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060047 select SSE2
48 select RTC
Martin Roth5c354b92019-04-22 14:55:16 -060049
Felix Held8cb5c302020-03-27 20:04:32 +010050config AMD_FP5
51 def_bool y if !AMD_FT5
52 help
53 The FP5 package supports higher-wattage parts and dual channel DDR4 memory.
54
55config AMD_FT5
56 def_bool n
57 help
58 The FT5 package supports low-power parts and single-channel DDR4 memory.
59
Martin Roth5c354b92019-04-22 14:55:16 -060060config PRERAM_CBMEM_CONSOLE_SIZE
61 hex
62 default 0x1600
63 help
64 Increase this value if preram cbmem console is getting truncated
65
66config CPU_ADDR_BITS
67 int
68 default 48
69
Martin Roth5c354b92019-04-22 14:55:16 -060070config MMCONF_BASE_ADDRESS
71 hex
72 default 0xF8000000
73
74config MMCONF_BUS_NUMBER
75 int
76 default 64
77
78config VGA_BIOS_ID
79 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050080 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060081 help
82 The default VGA BIOS PCI vendor/device ID should be set to the
83 result of the map_oprom_vendev() function in northbridge.c.
84
85config VGA_BIOS_FILE
86 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050087 default "3rdparty/blobs/soc/amd/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -060088
89config S3_VGA_ROM_RUN
90 bool
91 default n
92
93config HEAP_SIZE
94 hex
95 default 0xc0000
96
97config EHCI_BAR
98 hex
99 default 0xfef00000
100
Martin Roth5c354b92019-04-22 14:55:16 -0600101config SERIRQ_CONTINUOUS_MODE
102 bool
103 default n
104 help
105 Set this option to y for serial IRQ in continuous mode.
106 Otherwise it is in quiet mode.
107
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600108config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600109 hex
110 default 0x400
111 help
112 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600113
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600114config PICASSO_UART
115 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600116 default n
117 select DRIVERS_UART_8250MEM
118 select DRIVERS_UART_8250MEM_32
119 select NO_UART_ON_SUPERIO
120 select UART_OVERRIDE_REFCLK
121 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600122 There are four memory-mapped UARTs controllers in Picasso at:
123 0: 0xfedc9000
124 1: 0xfedca000
125 2: 0xfedc3000
126 3: 0xfedcf000
127
128choice PICASSO_UART_CLOCK_SOURCE
129 prompt "UART Frequency"
130 depends on PICASSO_UART
131 default PICASSO_UART_48MZ
132
133config PICASSO_UART_48MZ
134 bool "48 MHz clock"
135 help
136 Select this option for the most compatibility.
137
138config PICASSO_UART_1_8MZ
139 bool "1.8432 MHz clock"
140 help
141 Select this option if an old payload or Linux ttyS0 arguments
142 require it.
143
144endchoice
145
146config PICASSO_UART_LEGACY
147 bool "Decode legacy I/O range"
148 depends on PICASSO_UART
149 help
150 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
151 decode legacy addresses and this option enables the one used for the
152 console. A UART accessed with I/O does not allow all the features
153 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600154
155config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600156 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600157 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600158 default 0xfedc9000 if UART_FOR_CONSOLE = 0
159 default 0xfedca000 if UART_FOR_CONSOLE = 1
160 default 0xfedc3000 if UART_FOR_CONSOLE = 2
161 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600162
163config SMM_TSEG_SIZE
164 hex
165 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
166 default 0x0
167
168config SMM_RESERVED_SIZE
169 hex
170 default 0x150000
171
172config SMM_MODULE_STACK_SIZE
173 hex
174 default 0x800
175
176config ACPI_CPU_STRING
177 string
178 default "\\_PR.P%03d"
179
180config ACPI_BERT
181 bool "Build ACPI BERT Table"
182 default y
183 depends on HAVE_ACPI_TABLES
184 help
185 Report Machine Check errors identified in POST to the OS in an
186 ACPI Boot Error Record Table. This option reserves an 8MB region
187 for building the error structures.
188
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700189config ACPI_BERT_SIZE
190 hex
191 default 0x4000
192 help
193 Specify the amount of DRAM reserved for gathering the data used to
194 generate the ACPI table.
195
Marshall Dawson62611412019-06-19 11:46:06 -0600196config RO_REGION_ONLY
197 string
198 depends on CHROMEOS
199 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600200
Marshall Dawson62611412019-06-19 11:46:06 -0600201config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
202 int
Martin Roth4017de02019-12-16 23:21:05 -0700203 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600204
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600205config PICASSO_LPC_IOMUX
206 bool
207 help
208 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
209 Select this option if LPC signals are required.
210
Marshall Dawson62611412019-06-19 11:46:06 -0600211config MAINBOARD_POWER_RESTORE
212 def_bool n
213 help
214 This option determines what state to go to once power is restored
215 after having been lost in S0. Select this option to automatically
216 return to S0. Otherwise the system will remain in S5 once power
217 is restored.
218
Felix Held46673222020-04-04 02:37:04 +0200219config X86_RESET_VECTOR
220 hex
221 default 0x807fff0
222
223config EARLYRAM_BSP_STACK_SIZE
224 hex
225 default 0x800
226
Marshall Dawson62611412019-06-19 11:46:06 -0600227menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600228
Martin Roth5c354b92019-04-22 14:55:16 -0600229config AMDFW_OUTSIDE_CBFS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700230 bool
Martin Roth5c354b92019-04-22 14:55:16 -0600231 default n
232 help
233 The AMDFW (PSP) is typically locatable in cbfs. Select this
234 option to manually attach the generated amdfw.rom outside of
235 cbfs. The location is selected by the FWM position.
236
237config AMD_FWM_POSITION_INDEX
238 int "Firmware Directory Table location (0 to 5)"
239 range 0 5
240 default 0 if BOARD_ROMSIZE_KB_512
241 default 1 if BOARD_ROMSIZE_KB_1024
242 default 2 if BOARD_ROMSIZE_KB_2048
243 default 3 if BOARD_ROMSIZE_KB_4096
244 default 4 if BOARD_ROMSIZE_KB_8192
245 default 5 if BOARD_ROMSIZE_KB_16384
246 help
247 Typically this is calculated by the ROM size, but there may
248 be situations where you want to put the firmware directory
249 table in a different location.
250 0: 512 KB - 0xFFFA0000
251 1: 1 MB - 0xFFF20000
252 2: 2 MB - 0xFFE20000
253 3: 4 MB - 0xFFC20000
254 4: 8 MB - 0xFF820000
255 5: 16 MB - 0xFF020000
256
257comment "AMD Firmware Directory Table set to location for 512KB ROM"
258 depends on AMD_FWM_POSITION_INDEX = 0
259comment "AMD Firmware Directory Table set to location for 1MB ROM"
260 depends on AMD_FWM_POSITION_INDEX = 1
261comment "AMD Firmware Directory Table set to location for 2MB ROM"
262 depends on AMD_FWM_POSITION_INDEX = 2
263comment "AMD Firmware Directory Table set to location for 4MB ROM"
264 depends on AMD_FWM_POSITION_INDEX = 3
265comment "AMD Firmware Directory Table set to location for 8MB ROM"
266 depends on AMD_FWM_POSITION_INDEX = 4
267comment "AMD Firmware Directory Table set to location for 16MB ROM"
268 depends on AMD_FWM_POSITION_INDEX = 5
269
Marshall Dawson62611412019-06-19 11:46:06 -0600270config AMD_PUBKEY_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700271 string
Marshall Dawson62611412019-06-19 11:46:06 -0600272 default "3rdparty/blobs/soc/amd/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600273
Marshall Dawson62611412019-06-19 11:46:06 -0600274config PSP_APCB_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700275 string
Martin Roth5c354b92019-04-22 14:55:16 -0600276 help
Marshall Dawson4357a822019-09-25 11:07:56 -0600277 The name of the AGESA Parameter Customization Block. This image is
278 instance ID 0 in the PSP's BIOS Directory Table.
279
280config PSP_APCB1_FILE
281 string
282 help
283 If specified, this image is instance ID 1 in the PSP's BIOS
284 Directory Table.
285
286config PSP_APCB2_FILE
287 string
288 help
289 If specified, this image is instance ID 2 in the PSP's BIOS
290 Directory Table.
291
292config PSP_APCB3_FILE
293 string
294 help
295 If specified, this image is instance ID 3 in the PSP's BIOS
296 Directory Table.
297
298config PSP_APCB4_FILE
299 string
300 help
301 If specified, this image is instance ID 4 in the PSP's BIOS
302 Directory Table.
Marshall Dawson62611412019-06-19 11:46:06 -0600303
304config PSP_APOB_DESTINATION
305 hex
306 default 0x9f00000
307 help
308 Location in DRAM where the PSP will copy the AGESA PSP Output
309 Block.
310
311config PSP_APOB_NV_ADDRESS
312 hex "Base address of APOB NV"
Marshall Dawson62611412019-06-19 11:46:06 -0600313 help
314 Location in flash where the PSP can find the S3 restore information.
315 Place this on a boundary that the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600316
317config PSP_APOB_NV_SIZE
318 hex "Size of APOB NV to be reserved"
Marshall Dawson62611412019-06-19 11:46:06 -0600319 help
320 Size of the S3 restore information. Make this a multiple of the
321 size the flash device can erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600322
323config USE_PSPSCUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700324 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600325 default y
326 help
327 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
328
329 If unsure, answer 'y'
330
331config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700332 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700333 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600334 help
335 Include the MP2 firmwares and configuration into the PSP build.
336
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700337 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600338
339config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700340 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700341 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600342 help
343 Select this item to include the S0i3 file into the PSP build.
344
345config HAVE_PSP_WHITELIST_FILE
346 bool "Include a debug whitelist file in PSP build"
347 default n
348 help
349 Support secured unlock prior to reset using a whitelisted
350 number? This feature requires a signed whitelist image and
351 bootloader from AMD.
352
353 If unsure, answer 'n'
354
355config PSP_WHITELIST_FILE
356 string "Debug whitelist file name"
357 depends on HAVE_PSP_WHITELIST_FILE
358 default "3rdparty/blobs/soc/amd/picasso/PSP/wtl-rvn.sbin"
359
Furquan Shaikh577db022020-04-24 15:52:04 -0700360config PSP_UNLOCK_SECURE_DEBUG
361 bool "Unlock secure debug"
362 default n
363 help
364 Select this item to enable secure debug options in PSP.
365
Marshall Dawson62611412019-06-19 11:46:06 -0600366endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600367
Martin Roth1f337622019-04-22 16:08:31 -0600368endif # SOC_AMD_PICASSO