blob: 2bd9c0975c3466a032cdacc5226feeff5117f495 [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
Martin Roth5c354b92019-04-22 14:55:16 -060059config PRERAM_CBMEM_CONSOLE_SIZE
60 hex
61 default 0x1600
62 help
63 Increase this value if preram cbmem console is getting truncated
64
65config CPU_ADDR_BITS
66 int
67 default 48
68
Martin Roth5c354b92019-04-22 14:55:16 -060069config MMCONF_BASE_ADDRESS
70 hex
71 default 0xF8000000
72
73config MMCONF_BUS_NUMBER
74 int
75 default 64
76
Raul E Rangel5f52c0e2020-05-13 13:22:48 -060077config VERSTAGE_ADDR
78 hex
79 default 0x4000000
80
Martin Roth5c354b92019-04-22 14:55:16 -060081config VGA_BIOS_ID
82 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050083 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060084 help
85 The default VGA BIOS PCI vendor/device ID should be set to the
86 result of the map_oprom_vendev() function in northbridge.c.
87
88config VGA_BIOS_FILE
89 string
Raul E Rangelf39dab12020-05-13 16:46:57 -060090 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -060091
92config S3_VGA_ROM_RUN
93 bool
94 default n
95
96config HEAP_SIZE
97 hex
98 default 0xc0000
99
100config EHCI_BAR
101 hex
102 default 0xfef00000
103
Martin Roth5c354b92019-04-22 14:55:16 -0600104config SERIRQ_CONTINUOUS_MODE
105 bool
106 default n
107 help
108 Set this option to y for serial IRQ in continuous mode.
109 Otherwise it is in quiet mode.
110
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600111config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600112 hex
113 default 0x400
114 help
115 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600116
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600117config PICASSO_UART
118 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600119 default n
120 select DRIVERS_UART_8250MEM
121 select DRIVERS_UART_8250MEM_32
122 select NO_UART_ON_SUPERIO
123 select UART_OVERRIDE_REFCLK
124 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600125 There are four memory-mapped UARTs controllers in Picasso at:
126 0: 0xfedc9000
127 1: 0xfedca000
128 2: 0xfedc3000
129 3: 0xfedcf000
130
131choice PICASSO_UART_CLOCK_SOURCE
132 prompt "UART Frequency"
133 depends on PICASSO_UART
134 default PICASSO_UART_48MZ
135
136config PICASSO_UART_48MZ
137 bool "48 MHz clock"
138 help
139 Select this option for the most compatibility.
140
141config PICASSO_UART_1_8MZ
142 bool "1.8432 MHz clock"
143 help
144 Select this option if an old payload or Linux ttyS0 arguments
145 require it.
146
147endchoice
148
149config PICASSO_UART_LEGACY
150 bool "Decode legacy I/O range"
151 depends on PICASSO_UART
152 help
153 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
154 decode legacy addresses and this option enables the one used for the
155 console. A UART accessed with I/O does not allow all the features
156 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600157
158config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600159 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600160 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600161 default 0xfedc9000 if UART_FOR_CONSOLE = 0
162 default 0xfedca000 if UART_FOR_CONSOLE = 1
163 default 0xfedc3000 if UART_FOR_CONSOLE = 2
164 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600165
166config SMM_TSEG_SIZE
167 hex
168 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
169 default 0x0
170
171config SMM_RESERVED_SIZE
172 hex
173 default 0x150000
174
175config SMM_MODULE_STACK_SIZE
176 hex
177 default 0x800
178
179config ACPI_CPU_STRING
180 string
Marshall Dawson879eba52019-11-22 17:52:39 -0700181 default "\\_PR.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600182
183config ACPI_BERT
184 bool "Build ACPI BERT Table"
185 default y
186 depends on HAVE_ACPI_TABLES
187 help
188 Report Machine Check errors identified in POST to the OS in an
189 ACPI Boot Error Record Table. This option reserves an 8MB region
190 for building the error structures.
191
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700192config ACPI_BERT_SIZE
193 hex
194 default 0x4000
195 help
196 Specify the amount of DRAM reserved for gathering the data used to
197 generate the ACPI table.
198
Furquan Shaikh40a38882020-05-01 10:43:48 -0700199config CHROMEOS
200 select CHROMEOS_RAMOOPS_DYNAMIC
201
Marshall Dawson62611412019-06-19 11:46:06 -0600202config RO_REGION_ONLY
203 string
204 depends on CHROMEOS
205 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600206
Marshall Dawson62611412019-06-19 11:46:06 -0600207config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
208 int
Martin Roth4017de02019-12-16 23:21:05 -0700209 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600210
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600211config PICASSO_LPC_IOMUX
212 bool
213 help
214 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
215 Select this option if LPC signals are required.
216
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600217config DISABLE_SPI_FLASH_ROM_SHARING
218 def_bool n
219 help
220 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
221 which indicates a board level ROM transaction request. This
222 removes arbitration with board and assumes the chipset controls
223 the SPI flash bus entirely.
224
Marshall Dawson62611412019-06-19 11:46:06 -0600225config MAINBOARD_POWER_RESTORE
226 def_bool n
227 help
228 This option determines what state to go to once power is restored
229 after having been lost in S0. Select this option to automatically
230 return to S0. Otherwise the system will remain in S5 once power
231 is restored.
232
Furquan Shaikhc6d89fb2020-05-28 11:21:26 -0700233config FSP_M_ADDR
234 hex
235 default 0x90000000
236
Felix Held46673222020-04-04 02:37:04 +0200237config X86_RESET_VECTOR
238 hex
239 default 0x807fff0
240
241config EARLYRAM_BSP_STACK_SIZE
242 hex
243 default 0x800
244
Marshall Dawson00a22082020-01-20 23:05:31 -0700245config FSP_TEMP_RAM_SIZE
246 hex
247 depends on FSP_USES_CB_STACK
248 default 0x40000
249 help
250 The amount of coreboot-allocated heap and stack usage by the FSP.
251
Marshall Dawson62611412019-06-19 11:46:06 -0600252menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600253
Martin Roth5c354b92019-04-22 14:55:16 -0600254config AMDFW_OUTSIDE_CBFS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700255 bool
Martin Roth5c354b92019-04-22 14:55:16 -0600256 default n
257 help
258 The AMDFW (PSP) is typically locatable in cbfs. Select this
259 option to manually attach the generated amdfw.rom outside of
260 cbfs. The location is selected by the FWM position.
261
262config AMD_FWM_POSITION_INDEX
263 int "Firmware Directory Table location (0 to 5)"
264 range 0 5
265 default 0 if BOARD_ROMSIZE_KB_512
266 default 1 if BOARD_ROMSIZE_KB_1024
267 default 2 if BOARD_ROMSIZE_KB_2048
268 default 3 if BOARD_ROMSIZE_KB_4096
269 default 4 if BOARD_ROMSIZE_KB_8192
270 default 5 if BOARD_ROMSIZE_KB_16384
271 help
272 Typically this is calculated by the ROM size, but there may
273 be situations where you want to put the firmware directory
274 table in a different location.
275 0: 512 KB - 0xFFFA0000
276 1: 1 MB - 0xFFF20000
277 2: 2 MB - 0xFFE20000
278 3: 4 MB - 0xFFC20000
279 4: 8 MB - 0xFF820000
280 5: 16 MB - 0xFF020000
281
282comment "AMD Firmware Directory Table set to location for 512KB ROM"
283 depends on AMD_FWM_POSITION_INDEX = 0
284comment "AMD Firmware Directory Table set to location for 1MB ROM"
285 depends on AMD_FWM_POSITION_INDEX = 1
286comment "AMD Firmware Directory Table set to location for 2MB ROM"
287 depends on AMD_FWM_POSITION_INDEX = 2
288comment "AMD Firmware Directory Table set to location for 4MB ROM"
289 depends on AMD_FWM_POSITION_INDEX = 3
290comment "AMD Firmware Directory Table set to location for 8MB ROM"
291 depends on AMD_FWM_POSITION_INDEX = 4
292comment "AMD Firmware Directory Table set to location for 16MB ROM"
293 depends on AMD_FWM_POSITION_INDEX = 5
294
Marshall Dawson62611412019-06-19 11:46:06 -0600295config AMD_PUBKEY_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700296 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600297 default "3rdparty/amd_blobs/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600298
Marshall Dawsonb7687232020-01-20 19:56:30 -0700299config PSP_APOB_DRAM_ADDRESS
Marshall Dawson62611412019-06-19 11:46:06 -0600300 hex
301 default 0x9f00000
302 help
303 Location in DRAM where the PSP will copy the AGESA PSP Output
304 Block.
305
Marshall Dawson62611412019-06-19 11:46:06 -0600306config USE_PSPSCUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700307 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600308 default y
309 help
310 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
311
312 If unsure, answer 'y'
313
314config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700315 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700316 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600317 help
318 Include the MP2 firmwares and configuration into the PSP build.
319
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700320 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600321
322config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700323 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700324 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600325 help
326 Select this item to include the S0i3 file into the PSP build.
327
328config HAVE_PSP_WHITELIST_FILE
329 bool "Include a debug whitelist file in PSP build"
330 default n
331 help
332 Support secured unlock prior to reset using a whitelisted
333 number? This feature requires a signed whitelist image and
334 bootloader from AMD.
335
336 If unsure, answer 'n'
337
338config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700339 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600340 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600341 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600342
Martin Roth49b09a02020-02-20 13:54:06 -0700343config PSP_BOOTLOADER_FILE
344 string "Specify the PSP Bootloader file path"
345 default "3rdparty/amd_blobs/picasso/PSP/PspBootLoader_WL_RV.sbin" if HAVE_PSP_WHITELIST_FILE
346 default "3rdparty/amd_blobs/picasso/PSP/PspBootLoader_prod_RV.sbin"
347 help
348 Supply the name of the PSP bootloader file.
349
350 Note that this option may conflict with the whitelist file if a
351 different PSP bootloader binary is specified.
352
Furquan Shaikh577db022020-04-24 15:52:04 -0700353config PSP_UNLOCK_SECURE_DEBUG
354 bool "Unlock secure debug"
355 default n
356 help
357 Select this item to enable secure debug options in PSP.
358
Marshall Dawson62611412019-06-19 11:46:06 -0600359endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600360
Martin Roth1f337622019-04-22 16:08:31 -0600361endif # SOC_AMD_PICASSO