blob: dba4e2fa5960c92a495376f35b9842d554dd9e39 [file] [log] [blame]
Felix Held4a8cd722020-04-18 22:26:39 +02001# SPDX-License-Identifier: GPL-2.0-only
Martin Roth5c354b92019-04-22 14:55:16 -06002
Martin Roth1f337622019-04-22 16:08:31 -06003config SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -06004 bool
5 help
Martin Roth1f337622019-04-22 16:08:31 -06006 AMD Picasso support
Martin Roth5c354b92019-04-22 14:55:16 -06007
Martin Roth1f337622019-04-22 16:08:31 -06008if SOC_AMD_PICASSO
Martin Roth5c354b92019-04-22 14:55:16 -06009
10config CPU_SPECIFIC_OPTIONS
11 def_bool y
12 select ARCH_BOOTBLOCK_X86_32
13 select ARCH_VERSTAGE_X86_32
14 select ARCH_ROMSTAGE_X86_32
15 select ARCH_RAMSTAGE_X86_32
Felix Held46673222020-04-04 02:37:04 +020016 select RESET_VECTOR_IN_RAM
Martin Roth5c354b92019-04-22 14:55:16 -060017 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
Furquan Shaikh0eabe132020-04-28 21:57:07 -070023 select HAVE_EM100_SUPPORT
Martin Roth5c354b92019-04-22 14:55:16 -060024 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
Furquan Shaikh702cf302020-05-09 18:30:51 -070031 select SOC_AMD_COMMON_BLOCK_HAS_ESPI
Martin Roth5c354b92019-04-22 14:55:16 -060032 select SOC_AMD_COMMON_BLOCK_IOMMU
33 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
34 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
35 select SOC_AMD_COMMON_BLOCK_ACPI
Furquan Shaikh9e1a49c2020-04-23 14:01:12 -070036 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Martin Roth5c354b92019-04-22 14:55:16 -060037 select SOC_AMD_COMMON_BLOCK_LPC
38 select SOC_AMD_COMMON_BLOCK_PCI
39 select SOC_AMD_COMMON_BLOCK_HDA
40 select SOC_AMD_COMMON_BLOCK_SATA
Aaron Durbin3d2e18a2020-01-28 11:20:05 -070041 select SOC_AMD_COMMON_BLOCK_SMBUS
Marshall Dawson5a73fc32020-01-24 09:42:57 -070042 select SOC_AMD_COMMON_BLOCK_PSP_GEN2
Aaron Durbin1d0b99b2020-04-11 11:58:57 -060043 select PROVIDES_ROM_SHARING
Martin Roth5c354b92019-04-22 14:55:16 -060044 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
45 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
Martin Roth5c354b92019-04-22 14:55:16 -060046 select PARALLEL_MP
47 select PARALLEL_MP_AP_WORK
48 select HAVE_SMI_HANDLER
Martin Roth5c354b92019-04-22 14:55:16 -060049 select SSE2
50 select RTC
Marshall Dawson00a22082020-01-20 23:05:31 -070051 select PLATFORM_USES_FSP2_0
Furquan Shaikhc3063c52020-05-28 11:58:20 -070052 select FSP_COMPRESS_FSP_M_LZMA
53 select FSP_COMPRESS_FSP_S_LZMA
Marshall Dawson00a22082020-01-20 23:05:31 -070054 select FSP_USES_CB_STACK
55 select UDK_2017_BINDING
56 select HAVE_CF9_RESET
Zheng Bao6ba591b2020-06-09 09:47:06 +080057 select SUPPORT_CPU_UCODE_IN_CBFS
Martin Roth5c354b92019-04-22 14:55:16 -060058
Furquan Shaikh3b032062020-06-10 11:52:49 -070059config MEMLAYOUT_LD_FILE
60 string
61 default "src/soc/amd/picasso/memlayout.ld"
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
Raul E Rangel5f52c0e2020-05-13 13:22:48 -060081config VERSTAGE_ADDR
82 hex
83 default 0x4000000
84
Martin Roth5c354b92019-04-22 14:55:16 -060085config VGA_BIOS_ID
86 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050087 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060088 help
89 The default VGA BIOS PCI vendor/device ID should be set to the
90 result of the map_oprom_vendev() function in northbridge.c.
91
92config VGA_BIOS_FILE
93 string
Raul E Rangelf39dab12020-05-13 16:46:57 -060094 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -060095
96config S3_VGA_ROM_RUN
97 bool
98 default n
99
100config HEAP_SIZE
101 hex
102 default 0xc0000
103
104config EHCI_BAR
105 hex
106 default 0xfef00000
107
Martin Roth5c354b92019-04-22 14:55:16 -0600108config SERIRQ_CONTINUOUS_MODE
109 bool
110 default n
111 help
112 Set this option to y for serial IRQ in continuous mode.
113 Otherwise it is in quiet mode.
114
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600115config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600116 hex
117 default 0x400
118 help
119 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600120
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600121config PICASSO_UART
122 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600123 default n
124 select DRIVERS_UART_8250MEM
125 select DRIVERS_UART_8250MEM_32
126 select NO_UART_ON_SUPERIO
127 select UART_OVERRIDE_REFCLK
128 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600129 There are four memory-mapped UARTs controllers in Picasso at:
130 0: 0xfedc9000
131 1: 0xfedca000
132 2: 0xfedc3000
133 3: 0xfedcf000
134
135choice PICASSO_UART_CLOCK_SOURCE
136 prompt "UART Frequency"
137 depends on PICASSO_UART
138 default PICASSO_UART_48MZ
139
140config PICASSO_UART_48MZ
141 bool "48 MHz clock"
142 help
143 Select this option for the most compatibility.
144
145config PICASSO_UART_1_8MZ
146 bool "1.8432 MHz clock"
147 help
148 Select this option if an old payload or Linux ttyS0 arguments
149 require it.
150
151endchoice
152
153config PICASSO_UART_LEGACY
154 bool "Decode legacy I/O range"
155 depends on PICASSO_UART
156 help
157 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
158 decode legacy addresses and this option enables the one used for the
159 console. A UART accessed with I/O does not allow all the features
160 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600161
162config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600163 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600164 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600165 default 0xfedc9000 if UART_FOR_CONSOLE = 0
166 default 0xfedca000 if UART_FOR_CONSOLE = 1
167 default 0xfedc3000 if UART_FOR_CONSOLE = 2
168 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600169
170config SMM_TSEG_SIZE
171 hex
172 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
173 default 0x0
174
175config SMM_RESERVED_SIZE
176 hex
177 default 0x150000
178
179config SMM_MODULE_STACK_SIZE
180 hex
181 default 0x800
182
183config ACPI_CPU_STRING
184 string
Marshall Dawson879eba52019-11-22 17:52:39 -0700185 default "\\_PR.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600186
187config ACPI_BERT
188 bool "Build ACPI BERT Table"
189 default y
190 depends on HAVE_ACPI_TABLES
191 help
192 Report Machine Check errors identified in POST to the OS in an
193 ACPI Boot Error Record Table. This option reserves an 8MB region
194 for building the error structures.
195
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700196config ACPI_BERT_SIZE
197 hex
198 default 0x4000
199 help
200 Specify the amount of DRAM reserved for gathering the data used to
201 generate the ACPI table.
202
Furquan Shaikh40a38882020-05-01 10:43:48 -0700203config CHROMEOS
204 select CHROMEOS_RAMOOPS_DYNAMIC
205
Marshall Dawson62611412019-06-19 11:46:06 -0600206config RO_REGION_ONLY
207 string
208 depends on CHROMEOS
209 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600210
Marshall Dawson62611412019-06-19 11:46:06 -0600211config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
212 int
Martin Roth4017de02019-12-16 23:21:05 -0700213 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600214
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600215config PICASSO_LPC_IOMUX
216 bool
217 help
218 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
219 Select this option if LPC signals are required.
220
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600221config DISABLE_SPI_FLASH_ROM_SHARING
222 def_bool n
223 help
224 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
225 which indicates a board level ROM transaction request. This
226 removes arbitration with board and assumes the chipset controls
227 the SPI flash bus entirely.
228
Marshall Dawson62611412019-06-19 11:46:06 -0600229config MAINBOARD_POWER_RESTORE
230 def_bool n
231 help
232 This option determines what state to go to once power is restored
233 after having been lost in S0. Select this option to automatically
234 return to S0. Otherwise the system will remain in S5 once power
235 is restored.
236
Furquan Shaikhc6d89fb2020-05-28 11:21:26 -0700237config FSP_M_ADDR
238 hex
239 default 0x90000000
240
Felix Held46673222020-04-04 02:37:04 +0200241config X86_RESET_VECTOR
242 hex
243 default 0x807fff0
244
245config EARLYRAM_BSP_STACK_SIZE
246 hex
247 default 0x800
248
Marshall Dawson00a22082020-01-20 23:05:31 -0700249config FSP_TEMP_RAM_SIZE
250 hex
251 depends on FSP_USES_CB_STACK
252 default 0x40000
253 help
254 The amount of coreboot-allocated heap and stack usage by the FSP.
255
Marshall Dawson62611412019-06-19 11:46:06 -0600256menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600257
Martin Roth5c354b92019-04-22 14:55:16 -0600258config AMDFW_OUTSIDE_CBFS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700259 bool
Martin Roth5c354b92019-04-22 14:55:16 -0600260 default n
261 help
262 The AMDFW (PSP) is typically locatable in cbfs. Select this
263 option to manually attach the generated amdfw.rom outside of
264 cbfs. The location is selected by the FWM position.
265
266config AMD_FWM_POSITION_INDEX
267 int "Firmware Directory Table location (0 to 5)"
268 range 0 5
269 default 0 if BOARD_ROMSIZE_KB_512
270 default 1 if BOARD_ROMSIZE_KB_1024
271 default 2 if BOARD_ROMSIZE_KB_2048
272 default 3 if BOARD_ROMSIZE_KB_4096
273 default 4 if BOARD_ROMSIZE_KB_8192
274 default 5 if BOARD_ROMSIZE_KB_16384
275 help
276 Typically this is calculated by the ROM size, but there may
277 be situations where you want to put the firmware directory
278 table in a different location.
279 0: 512 KB - 0xFFFA0000
280 1: 1 MB - 0xFFF20000
281 2: 2 MB - 0xFFE20000
282 3: 4 MB - 0xFFC20000
283 4: 8 MB - 0xFF820000
284 5: 16 MB - 0xFF020000
285
286comment "AMD Firmware Directory Table set to location for 512KB ROM"
287 depends on AMD_FWM_POSITION_INDEX = 0
288comment "AMD Firmware Directory Table set to location for 1MB ROM"
289 depends on AMD_FWM_POSITION_INDEX = 1
290comment "AMD Firmware Directory Table set to location for 2MB ROM"
291 depends on AMD_FWM_POSITION_INDEX = 2
292comment "AMD Firmware Directory Table set to location for 4MB ROM"
293 depends on AMD_FWM_POSITION_INDEX = 3
294comment "AMD Firmware Directory Table set to location for 8MB ROM"
295 depends on AMD_FWM_POSITION_INDEX = 4
296comment "AMD Firmware Directory Table set to location for 16MB ROM"
297 depends on AMD_FWM_POSITION_INDEX = 5
298
Marshall Dawson62611412019-06-19 11:46:06 -0600299config AMD_PUBKEY_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700300 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600301 default "3rdparty/amd_blobs/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600302
Marshall Dawsonb7687232020-01-20 19:56:30 -0700303config PSP_APOB_DRAM_ADDRESS
Marshall Dawson62611412019-06-19 11:46:06 -0600304 hex
305 default 0x9f00000
306 help
307 Location in DRAM where the PSP will copy the AGESA PSP Output
308 Block.
309
Marshall Dawson62611412019-06-19 11:46:06 -0600310config USE_PSPSCUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700311 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600312 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
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700319 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700320 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600321 help
322 Include the MP2 firmwares and configuration into the PSP build.
323
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700324 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600325
326config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700327 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700328 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600329 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
Martin Roth49b09a02020-02-20 13:54:06 -0700343 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600344 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600345 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600346
Martin Roth49b09a02020-02-20 13:54:06 -0700347config PSP_BOOTLOADER_FILE
348 string "Specify the PSP Bootloader file path"
349 default "3rdparty/amd_blobs/picasso/PSP/PspBootLoader_WL_RV.sbin" if HAVE_PSP_WHITELIST_FILE
350 default "3rdparty/amd_blobs/picasso/PSP/PspBootLoader_prod_RV.sbin"
351 help
352 Supply the name of the PSP bootloader file.
353
354 Note that this option may conflict with the whitelist file if a
355 different PSP bootloader binary is specified.
356
Furquan Shaikh577db022020-04-24 15:52:04 -0700357config PSP_UNLOCK_SECURE_DEBUG
358 bool "Unlock secure debug"
359 default n
360 help
361 Select this item to enable secure debug options in PSP.
362
Marshall Dawson62611412019-06-19 11:46:06 -0600363endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600364
Martin Roth1f337622019-04-22 16:08:31 -0600365endif # SOC_AMD_PICASSO