blob: ddbc6c31372c174cf6068f9f0fe7f6d9b425cbd7 [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
52 select FSP_USES_CB_STACK
53 select UDK_2017_BINDING
Marshall Dawsonb7687232020-01-20 19:56:30 -070054 select CACHE_MRC_SETTINGS
Marshall Dawson00a22082020-01-20 23:05:31 -070055 select HAVE_CF9_RESET
Martin Roth5c354b92019-04-22 14:55:16 -060056
Martin Roth5c354b92019-04-22 14:55:16 -060057config PRERAM_CBMEM_CONSOLE_SIZE
58 hex
59 default 0x1600
60 help
61 Increase this value if preram cbmem console is getting truncated
62
63config CPU_ADDR_BITS
64 int
65 default 48
66
Martin Roth5c354b92019-04-22 14:55:16 -060067config MMCONF_BASE_ADDRESS
68 hex
69 default 0xF8000000
70
71config MMCONF_BUS_NUMBER
72 int
73 default 64
74
Raul E Rangel5f52c0e2020-05-13 13:22:48 -060075config VERSTAGE_ADDR
76 hex
77 default 0x4000000
78
Martin Roth5c354b92019-04-22 14:55:16 -060079config VGA_BIOS_ID
80 string
Marshall Dawson0d441da2019-07-09 18:19:05 -050081 default "1002,15d8"
Martin Roth5c354b92019-04-22 14:55:16 -060082 help
83 The default VGA BIOS PCI vendor/device ID should be set to the
84 result of the map_oprom_vendev() function in northbridge.c.
85
86config VGA_BIOS_FILE
87 string
Raul E Rangelf39dab12020-05-13 16:46:57 -060088 default "3rdparty/amd_blobs/picasso/PicassoGenericVbios.bin"
Martin Roth5c354b92019-04-22 14:55:16 -060089
90config S3_VGA_ROM_RUN
91 bool
92 default n
93
94config HEAP_SIZE
95 hex
96 default 0xc0000
97
98config EHCI_BAR
99 hex
100 default 0xfef00000
101
Martin Roth5c354b92019-04-22 14:55:16 -0600102config SERIRQ_CONTINUOUS_MODE
103 bool
104 default n
105 help
106 Set this option to y for serial IRQ in continuous mode.
107 Otherwise it is in quiet mode.
108
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600109config PICASSO_ACPI_IO_BASE
Martin Roth5c354b92019-04-22 14:55:16 -0600110 hex
111 default 0x400
112 help
113 Base address for the ACPI registers.
Martin Roth5c354b92019-04-22 14:55:16 -0600114
Marshall Dawsonbc4c9032019-06-11 12:18:20 -0600115config PICASSO_UART
116 bool "UART controller on Picasso"
Martin Roth5c354b92019-04-22 14:55:16 -0600117 default n
118 select DRIVERS_UART_8250MEM
119 select DRIVERS_UART_8250MEM_32
120 select NO_UART_ON_SUPERIO
121 select UART_OVERRIDE_REFCLK
122 help
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600123 There are four memory-mapped UARTs controllers in Picasso at:
124 0: 0xfedc9000
125 1: 0xfedca000
126 2: 0xfedc3000
127 3: 0xfedcf000
128
129choice PICASSO_UART_CLOCK_SOURCE
130 prompt "UART Frequency"
131 depends on PICASSO_UART
132 default PICASSO_UART_48MZ
133
134config PICASSO_UART_48MZ
135 bool "48 MHz clock"
136 help
137 Select this option for the most compatibility.
138
139config PICASSO_UART_1_8MZ
140 bool "1.8432 MHz clock"
141 help
142 Select this option if an old payload or Linux ttyS0 arguments
143 require it.
144
145endchoice
146
147config PICASSO_UART_LEGACY
148 bool "Decode legacy I/O range"
149 depends on PICASSO_UART
150 help
151 Assign I/O 3F8, 2F8, etc. to a Picasso UART. Only a single UART may
152 decode legacy addresses and this option enables the one used for the
153 console. A UART accessed with I/O does not allow all the features
154 of MMIO. The MMIO decode is still present when this option is used.
Martin Roth5c354b92019-04-22 14:55:16 -0600155
156config CONSOLE_UART_BASE_ADDRESS
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600157 depends on CONSOLE_SERIAL && PICASSO_UART
Martin Roth5c354b92019-04-22 14:55:16 -0600158 hex
Marshall Dawsonc0b8d0d2019-06-20 10:29:29 -0600159 default 0xfedc9000 if UART_FOR_CONSOLE = 0
160 default 0xfedca000 if UART_FOR_CONSOLE = 1
161 default 0xfedc3000 if UART_FOR_CONSOLE = 2
162 default 0xfedcf000 if UART_FOR_CONSOLE = 3
Martin Roth5c354b92019-04-22 14:55:16 -0600163
164config SMM_TSEG_SIZE
165 hex
166 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
167 default 0x0
168
169config SMM_RESERVED_SIZE
170 hex
171 default 0x150000
172
173config SMM_MODULE_STACK_SIZE
174 hex
175 default 0x800
176
177config ACPI_CPU_STRING
178 string
Marshall Dawson879eba52019-11-22 17:52:39 -0700179 default "\\_PR.C%03d"
Martin Roth5c354b92019-04-22 14:55:16 -0600180
181config ACPI_BERT
182 bool "Build ACPI BERT Table"
183 default y
184 depends on HAVE_ACPI_TABLES
185 help
186 Report Machine Check errors identified in POST to the OS in an
187 ACPI Boot Error Record Table. This option reserves an 8MB region
188 for building the error structures.
189
Marshall Dawson901cb9c2020-01-21 14:53:45 -0700190config ACPI_BERT_SIZE
191 hex
192 default 0x4000
193 help
194 Specify the amount of DRAM reserved for gathering the data used to
195 generate the ACPI table.
196
Furquan Shaikh40a38882020-05-01 10:43:48 -0700197config CHROMEOS
198 select CHROMEOS_RAMOOPS_DYNAMIC
199
Marshall Dawson62611412019-06-19 11:46:06 -0600200config RO_REGION_ONLY
201 string
202 depends on CHROMEOS
203 default "apu/amdfw"
Martin Roth5c354b92019-04-22 14:55:16 -0600204
Marshall Dawson62611412019-06-19 11:46:06 -0600205config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
206 int
Martin Roth4017de02019-12-16 23:21:05 -0700207 default 150
Marshall Dawson62611412019-06-19 11:46:06 -0600208
Marshall Dawson39a4ac12019-06-20 16:28:33 -0600209config PICASSO_LPC_IOMUX
210 bool
211 help
212 Picasso's LPC bus signals are MUXed with some of the EMMC signals.
213 Select this option if LPC signals are required.
214
Aaron Durbin1d0b99b2020-04-11 11:58:57 -0600215config DISABLE_SPI_FLASH_ROM_SHARING
216 def_bool n
217 help
218 Instruct the chipset to not honor the EGPIO67_SPI_ROM_REQ pin
219 which indicates a board level ROM transaction request. This
220 removes arbitration with board and assumes the chipset controls
221 the SPI flash bus entirely.
222
Marshall Dawson62611412019-06-19 11:46:06 -0600223config MAINBOARD_POWER_RESTORE
224 def_bool n
225 help
226 This option determines what state to go to once power is restored
227 after having been lost in S0. Select this option to automatically
228 return to S0. Otherwise the system will remain in S5 once power
229 is restored.
230
Felix Held46673222020-04-04 02:37:04 +0200231config X86_RESET_VECTOR
232 hex
233 default 0x807fff0
234
235config EARLYRAM_BSP_STACK_SIZE
236 hex
237 default 0x800
238
Marshall Dawson00a22082020-01-20 23:05:31 -0700239config FSP_TEMP_RAM_SIZE
240 hex
241 depends on FSP_USES_CB_STACK
242 default 0x40000
243 help
244 The amount of coreboot-allocated heap and stack usage by the FSP.
245
Marshall Dawson62611412019-06-19 11:46:06 -0600246menu "PSP Configuration Options"
Martin Roth5c354b92019-04-22 14:55:16 -0600247
Martin Roth5c354b92019-04-22 14:55:16 -0600248config AMDFW_OUTSIDE_CBFS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700249 bool
Martin Roth5c354b92019-04-22 14:55:16 -0600250 default n
251 help
252 The AMDFW (PSP) is typically locatable in cbfs. Select this
253 option to manually attach the generated amdfw.rom outside of
254 cbfs. The location is selected by the FWM position.
255
256config AMD_FWM_POSITION_INDEX
257 int "Firmware Directory Table location (0 to 5)"
258 range 0 5
259 default 0 if BOARD_ROMSIZE_KB_512
260 default 1 if BOARD_ROMSIZE_KB_1024
261 default 2 if BOARD_ROMSIZE_KB_2048
262 default 3 if BOARD_ROMSIZE_KB_4096
263 default 4 if BOARD_ROMSIZE_KB_8192
264 default 5 if BOARD_ROMSIZE_KB_16384
265 help
266 Typically this is calculated by the ROM size, but there may
267 be situations where you want to put the firmware directory
268 table in a different location.
269 0: 512 KB - 0xFFFA0000
270 1: 1 MB - 0xFFF20000
271 2: 2 MB - 0xFFE20000
272 3: 4 MB - 0xFFC20000
273 4: 8 MB - 0xFF820000
274 5: 16 MB - 0xFF020000
275
276comment "AMD Firmware Directory Table set to location for 512KB ROM"
277 depends on AMD_FWM_POSITION_INDEX = 0
278comment "AMD Firmware Directory Table set to location for 1MB ROM"
279 depends on AMD_FWM_POSITION_INDEX = 1
280comment "AMD Firmware Directory Table set to location for 2MB ROM"
281 depends on AMD_FWM_POSITION_INDEX = 2
282comment "AMD Firmware Directory Table set to location for 4MB ROM"
283 depends on AMD_FWM_POSITION_INDEX = 3
284comment "AMD Firmware Directory Table set to location for 8MB ROM"
285 depends on AMD_FWM_POSITION_INDEX = 4
286comment "AMD Firmware Directory Table set to location for 16MB ROM"
287 depends on AMD_FWM_POSITION_INDEX = 5
288
Marshall Dawson62611412019-06-19 11:46:06 -0600289config AMD_PUBKEY_FILE
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700290 string
Raul E Rangelf39dab12020-05-13 16:46:57 -0600291 default "3rdparty/amd_blobs/picasso/PSP/AmdPubKeyRV.bin"
Martin Roth5c354b92019-04-22 14:55:16 -0600292
Marshall Dawsonb7687232020-01-20 19:56:30 -0700293config PSP_APOB_DRAM_ADDRESS
Marshall Dawson62611412019-06-19 11:46:06 -0600294 hex
295 default 0x9f00000
296 help
297 Location in DRAM where the PSP will copy the AGESA PSP Output
298 Block.
299
Marshall Dawsonb7687232020-01-20 19:56:30 -0700300# This value is currently the same as the default defined in
301# drivers/mrc_cache/Kconfig. We do this in in case the default
302# changes. The PSP requires this value to be 64KiB.
303config MRC_SETTINGS_CACHE_SIZE
304 hex
305 default 0x10000
Marshall Dawson62611412019-06-19 11:46:06 -0600306 help
Marshall Dawsonb7687232020-01-20 19:56:30 -0700307 Size of flash area used to save APOB NV data which occupies the
308 RW_MRC_CACHE region. Make this granularity the flash device can
309 erase.
Marshall Dawson62611412019-06-19 11:46:06 -0600310
311config USE_PSPSCUREOS
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700312 bool
Marshall Dawson62611412019-06-19 11:46:06 -0600313 default y
314 help
315 Include the PspSecureOs and PspTrustlet binaries in the PSP build.
316
317 If unsure, answer 'y'
318
319config PSP_LOAD_MP2_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700320 bool
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700321 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600322 help
323 Include the MP2 firmwares and configuration into the PSP build.
324
Furquan Shaikh47cdf432020-04-23 18:01:34 -0700325 If unsure, answer 'n'
Marshall Dawson62611412019-06-19 11:46:06 -0600326
327config PSP_LOAD_S0I3_FW
Furquan Shaikhd4ef9a42020-04-24 11:49:32 -0700328 bool
Furquan Shaikh30bc5b32020-04-23 18:02:53 -0700329 default n
Marshall Dawson62611412019-06-19 11:46:06 -0600330 help
331 Select this item to include the S0i3 file into the PSP build.
332
333config HAVE_PSP_WHITELIST_FILE
334 bool "Include a debug whitelist file in PSP build"
335 default n
336 help
337 Support secured unlock prior to reset using a whitelisted
338 number? This feature requires a signed whitelist image and
339 bootloader from AMD.
340
341 If unsure, answer 'n'
342
343config PSP_WHITELIST_FILE
Martin Roth49b09a02020-02-20 13:54:06 -0700344 string "Debug whitelist file path"
Marshall Dawson62611412019-06-19 11:46:06 -0600345 depends on HAVE_PSP_WHITELIST_FILE
Raul E Rangelf39dab12020-05-13 16:46:57 -0600346 default "3rdparty/amd_blobs/picasso/PSP/wtl-rvn.sbin"
Marshall Dawson62611412019-06-19 11:46:06 -0600347
Martin Roth49b09a02020-02-20 13:54:06 -0700348config PSP_BOOTLOADER_FILE
349 string "Specify the PSP Bootloader file path"
350 default "3rdparty/amd_blobs/picasso/PSP/PspBootLoader_WL_RV.sbin" if HAVE_PSP_WHITELIST_FILE
351 default "3rdparty/amd_blobs/picasso/PSP/PspBootLoader_prod_RV.sbin"
352 help
353 Supply the name of the PSP bootloader file.
354
355 Note that this option may conflict with the whitelist file if a
356 different PSP bootloader binary is specified.
357
Furquan Shaikh577db022020-04-24 15:52:04 -0700358config PSP_UNLOCK_SECURE_DEBUG
359 bool "Unlock secure debug"
360 default n
361 help
362 Select this item to enable secure debug options in PSP.
363
Marshall Dawson62611412019-06-19 11:46:06 -0600364endmenu
Martin Roth5c354b92019-04-22 14:55:16 -0600365
Martin Roth1f337622019-04-22 16:08:31 -0600366endif # SOC_AMD_PICASSO