blob: 0eeef09ec302bbdf20a079483e181d157bebc479 [file] [log] [blame]
Felix Held4a8cd722020-04-18 22:26:39 +02001# SPDX-License-Identifier: GPL-2.0-only
Marc Jones24484842017-05-04 21:17:45 -06002
Marshall Dawson68519222019-11-25 11:36:15 -07003config SOC_AMD_STONEYRIDGE
4 bool
Kyösti Mälkki3139c8d2020-06-28 16:33:33 +03005 select ACPI_SOC_NVS
Angel Pons8e035e32021-06-22 12:58:20 +02006 select ARCH_X86
Felix Heldc07c7c92020-12-04 18:50:53 +01007 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Aaron Durbin51e4c1a2018-01-24 17:42:51 -07008 select COLLECT_TIMESTAMPS_NO_TSC
Marc Jones9156cac2017-07-12 11:05:38 -06009 select GENERIC_GPIO_LIB
Aaron Durbin51e4c1a2018-01-24 17:42:51 -070010 select GENERIC_UDELAY
Angel Ponsb74975e2020-07-13 01:12:57 +020011 select HAVE_CF9_RESET
Felix Heldc07c7c92020-12-04 18:50:53 +010012 select HAVE_SMI_HANDLER
Marc Jones24484842017-05-04 21:17:45 -060013 select HAVE_USBDEBUG_OPTIONS
Martin Rothbcb610a2022-10-29 13:31:54 -060014 select NO_DDR5
15 select NO_DDR3
16 select NO_DDR2
17 select NO_LPDDR4
Marc Jones33eef132017-10-26 16:50:42 -060018 select PARALLEL_MP_AP_WORK
Marc Jones17e85ad2017-12-20 16:21:25 -070019 select RTC
Felix Heldc07c7c92020-12-04 18:50:53 +010020 select SOC_AMD_PI
21 select SOC_AMD_COMMON
22 select SOC_AMD_COMMON_BLOCK_ACPI
Felix Held0bc46842021-11-23 10:19:28 +010023 select SOC_AMD_COMMON_BLOCK_ACPI_GPIO
Felix Heldfc709fe2023-03-24 21:41:35 +010024 select SOC_AMD_COMMON_BLOCK_ACPI_CPU_POWER_STATE
Felix Heldc07c7c92020-12-04 18:50:53 +010025 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held31364242021-07-23 19:18:02 +020026 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_BIOSRAM
Felix Held9ab8a782023-07-14 18:44:13 +020027 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_PM_IO_ACCESS
Felix Heldc07c7c92020-12-04 18:50:53 +010028 select SOC_AMD_COMMON_BLOCK_AOAC
29 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
30 select SOC_AMD_COMMON_BLOCK_CAR
Felix Held96fd62f2023-03-24 16:55:50 +010031 select SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM15H_16H
Felix Heldc07c7c92020-12-04 18:50:53 +010032 select SOC_AMD_COMMON_BLOCK_HDA
Karthikeyan Ramasubramanian0dbea482021-03-08 23:23:50 -070033 select SOC_AMD_COMMON_BLOCK_I2C
Felix Heldc07c7c92020-12-04 18:50:53 +010034 select SOC_AMD_COMMON_BLOCK_IOMMU
35 select SOC_AMD_COMMON_BLOCK_LPC
Felix Held1e1d4902021-07-14 00:05:39 +020036 select SOC_AMD_COMMON_BLOCK_MCA
Felix Heldc07c7c92020-12-04 18:50:53 +010037 select SOC_AMD_COMMON_BLOCK_PCI
Felix Heldc0538d42021-04-13 19:56:10 +020038 select SOC_AMD_COMMON_BLOCK_PM
Felix Heldc07c7c92020-12-04 18:50:53 +010039 select SOC_AMD_COMMON_BLOCK_PSP_GEN1
Felix Heldc07c7c92020-12-04 18:50:53 +010040 select SOC_AMD_COMMON_BLOCK_SATA
41 select SOC_AMD_COMMON_BLOCK_SMBUS
42 select SOC_AMD_COMMON_BLOCK_SMI
Felix Heldbc134812021-02-10 02:26:10 +010043 select SOC_AMD_COMMON_BLOCK_SMM
Felix Held7d8c8322023-03-25 04:59:18 +010044 select SOC_AMD_COMMON_BLOCK_SMN
Felix Heldc07c7c92020-12-04 18:50:53 +010045 select SOC_AMD_COMMON_BLOCK_SPI
Felix Helda3391e52023-03-24 00:20:02 +010046 select SOC_AMD_COMMON_BLOCK_SVI2
Felix Held91ef9252021-01-12 23:44:05 +010047 select SOC_AMD_COMMON_BLOCK_UART
Felix Heldc07c7c92020-12-04 18:50:53 +010048 select SSE2
49 select TSC_SYNC_LFENCE
Martin Rothbcb610a2022-10-29 13:31:54 -060050 select USE_DDR4
Felix Heldc07c7c92020-12-04 18:50:53 +010051 select X86_AMD_FIXED_MTRRS
Elyes Haouas3cd06cc2023-01-05 07:42:24 +010052 help
53 AMD support for SOCs in Family 15h Models 60h-6Fh and Models 70h-7Fh.
54
55if SOC_AMD_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -060056
Marshall Dawson12294d02019-11-25 07:21:18 -070057config AMD_APU_STONEYRIDGE
58 bool
59 help
60 AMD Stoney Ridge APU
61
Marshall Dawsone1988f52019-11-25 11:15:35 -070062config AMD_APU_PRAIRIEFALCON
63 bool
64 help
65 AMD Embedded Prairie Falcon APU
66
Marshall Dawson12294d02019-11-25 07:21:18 -070067config AMD_APU_MERLINFALCON
68 bool
69 help
Marshall Dawsone1988f52019-11-25 11:15:35 -070070 AMD Embedded Merlin Falcon APU
Marshall Dawson12294d02019-11-25 07:21:18 -070071
Marshall Dawson3ac0ab52019-11-24 19:03:56 -070072config AMD_APU_PKG_FP4
73 bool
74 help
75 AMD FP4 package
76
77config AMD_APU_PKG_FT4
78 bool
79 help
80 AMD FT4 package
81
82config AMD_SOC_PACKAGE
83 string
84 default "FP4" if AMD_APU_PKG_FP4
85 default "FT4" if AMD_APU_PKG_FT4
86
Felix Heldb68e2242022-10-12 18:44:06 +020087config CHIPSET_DEVICETREE
88 string
89 default "soc/amd/stoneyridge/chipset_cz.cb" if AMD_APU_MERLINFALCON
90 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_PRAIRIEFALCON
91 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_STONEYRIDGE
92
Marshall Dawsone7557de2017-06-09 16:35:14 -060093config VBOOT
Marshall Dawsone7557de2017-06-09 16:35:14 -060094 select VBOOT_STARTS_IN_BOOTBLOCK
Marc Jones4c887ea2018-04-25 16:43:18 -060095 select VBOOT_VBNV_CMOS
96 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Marshall Dawsone7557de2017-06-09 16:35:14 -060097
Marc Jones21cde8b2017-05-07 16:47:36 -060098# TODO: Sync these with definitions in PI vendorcode.
99# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
100# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
101
102config DCACHE_RAM_BASE
103 hex
104 default 0x30000
105
106config DCACHE_RAM_SIZE
107 hex
108 default 0x10000
109
Marshall Dawson9df969a2017-07-25 18:46:46 -0600110config DCACHE_BSP_STACK_SIZE
Marshall Dawson9df969a2017-07-25 18:46:46 -0600111 hex
112 default 0x4000
113 help
114 The amount of anticipated stack usage in CAR by bootblock and
115 other stages.
116
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600117config PRERAM_CBMEM_CONSOLE_SIZE
118 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700119 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600120 help
121 Increase this value if preram cbmem console is getting truncated
122
Marc Jones1587dc82017-05-15 18:55:11 -0600123config BOTTOMIO_POSITION
124 hex "Bottom of 32-bit IO space"
125 default 0xD0000000
126 help
127 If PCI peripherals with big BARs are connected to the system
128 the bottom of the IO must be decreased to allocate such
129 devices.
130
131 Declare the beginning of the 128MB-aligned MMIO region. This
132 option is useful when PCI peripherals requesting large address
133 ranges are present.
134
Shelley Chen4e9bb332021-10-20 15:43:45 -0700135config ECAM_MMCONF_BASE_ADDRESS
Marc Jones1587dc82017-05-15 18:55:11 -0600136 default 0xF8000000
137
Shelley Chen4e9bb332021-10-20 15:43:45 -0700138config ECAM_MMCONF_BUS_NUMBER
Marc Jones1587dc82017-05-15 18:55:11 -0600139 default 64
140
141config VGA_BIOS_ID
142 string
Felix Held0b03c082023-03-24 22:49:48 +0100143 default "1002,9870" if AMD_APU_MERLINFALCON
144 default "1002,98e0"
Marc Jones1587dc82017-05-15 18:55:11 -0600145 help
146 The default VGA BIOS PCI vendor/device ID should be set to the
147 result of the map_oprom_vendev() function in northbridge.c.
148
149config VGA_BIOS_FILE
150 string
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700151 default "3rdparty/amd_blobs/stoneyridge/CarrizoGenericVbios.bin" if AMD_APU_MERLINFALCON
Marshall Dawsone1988f52019-11-25 11:15:35 -0700152 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_PRAIRIEFALCON
153 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_STONEYRIDGE
Marc Jones1587dc82017-05-15 18:55:11 -0600154
Marshall Dawson668dea02017-11-29 09:57:15 -0700155config S3_VGA_ROM_RUN
156 bool
157 default n
158
Marc Jones1587dc82017-05-15 18:55:11 -0600159config HEAP_SIZE
160 hex
161 default 0xc0000
162
Marc Jones24484842017-05-04 21:17:45 -0600163config EHCI_BAR
164 hex
165 default 0xfef00000
166
167config STONEYRIDGE_XHCI_ENABLE
168 bool "Enable Stoney Ridge XHCI Controller"
169 default y
170 help
171 The XHCI controller must be enabled and the XHCI firmware
172 must be added in order to have USB 3.0 support configured
173 by coreboot. The OS will be responsible for enabling the XHCI
Jonathan Neuschäfer45e6c822018-12-11 17:53:07 +0100174 controller if the XHCI firmware is available but the
Marc Jones24484842017-05-04 21:17:45 -0600175 XHCI controller is not enabled by coreboot.
176
177config STONEYRIDGE_XHCI_FWM
178 bool "Add xhci firmware"
179 default y
180 help
181 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
182
Marc Jones24484842017-05-04 21:17:45 -0600183config STONEYRIDGE_GEC_FWM
184 bool
185 default n
186 help
187 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
188 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
189
190config STONEYRIDGE_XHCI_FWM_FILE
191 string "XHCI firmware path and filename"
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700192 default "3rdparty/amd_blobs/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600193 depends on STONEYRIDGE_XHCI_FWM
194
Marc Jones24484842017-05-04 21:17:45 -0600195config STONEYRIDGE_GEC_FWM_FILE
196 string "GEC firmware path and filename"
197 depends on STONEYRIDGE_GEC_FWM
198
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800199config AMDFW_CONFIG_FILE
200 string
201 string "AMD PSP Firmware config file"
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800202 default "src/soc/amd/stoneyridge/fw_cz.cfg" if AMD_APU_MERLINFALCON
203 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_PRAIRIEFALCON
204 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -0600205
206config STONEYRIDGE_SATA_MODE
207 int "SATA Mode"
208 default 0
209 range 0 6
210 help
211 Select the mode in which SATA should be driven.
212 The default is NATIVE.
213 0: NATIVE mode does not require a ROM.
214 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
215 For example, seabios does not require the AHCI ROM.
216 3: LEGACY IDE
217 4: IDE to AHCI
218 5: AHCI7804: ROM Required, and AMD driver required in the OS.
219 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
220
221comment "NATIVE"
222 depends on STONEYRIDGE_SATA_MODE = 0
223
224comment "AHCI"
225 depends on STONEYRIDGE_SATA_MODE = 2
226
227comment "LEGACY IDE"
228 depends on STONEYRIDGE_SATA_MODE = 3
229
230comment "IDE to AHCI"
231 depends on STONEYRIDGE_SATA_MODE = 4
232
233comment "AHCI7804"
234 depends on STONEYRIDGE_SATA_MODE = 5
235
236comment "IDE to AHCI7804"
237 depends on STONEYRIDGE_SATA_MODE = 6
238
Marc Jones24484842017-05-04 21:17:45 -0600239config STONEYRIDGE_LEGACY_FREE
240 bool "System is legacy free"
241 help
242 Select y if there is no keyboard controller in the system.
243 This sets variables in AGESA and ACPI.
244
Marc Jones24484842017-05-04 21:17:45 -0600245config SERIRQ_CONTINUOUS_MODE
246 bool
247 default n
248 help
249 Set this option to y for serial IRQ in continuous mode.
250 Otherwise it is in quiet mode.
251
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100252config CONSOLE_UART_BASE_ADDRESS
253 depends on CONSOLE_SERIAL
254 hex
255 default 0xfedc6000
256
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600257config SMM_TSEG_SIZE
258 hex
Felix Helde22eef72021-02-10 22:22:07 +0100259 default 0x800000 if HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600260 default 0x0
261
Marshall Dawsonb6172112017-09-13 17:47:31 -0600262config SMM_RESERVED_SIZE
263 hex
Zheng Bao2d2c27e2022-11-18 15:01:22 +0800264 default 0x160000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600265
Raul E Rangel846b4942018-06-12 10:43:09 -0600266config SMM_MODULE_STACK_SIZE
267 hex
268 default 0x800
269
Marc Jonese013df92017-08-23 16:28:02 -0600270config ACPI_CPU_STRING
271 string
Felix Held3cf05b52023-05-15 19:16:22 +0200272 default "P%03X"
Marc Jonese013df92017-08-23 16:28:02 -0600273
Felix Heldfc709fe2023-03-24 21:41:35 +0100274config ACPI_SSDT_PSD_INDEPENDENT
275 default n
276
Marshall Dawson9a32c412018-09-04 13:29:12 -0600277config ACPI_BERT
278 bool "Build ACPI BERT Table"
279 default y
280 depends on HAVE_ACPI_TABLES
281 help
282 Report Machine Check errors identified in POST to the OS in an
283 ACPI Boot Error Record Table. This option reserves an 8MB region
284 for building the error structures.
285
Marshall Dawson25eb2bc2019-03-14 12:42:46 -0600286config USE_PSPSECUREOS
Martin Rothb617e322017-09-07 13:23:55 -0600287 bool "Include PSP SecureOS blobs in AMD firmware"
288 default y
289 help
290 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
291 in the amdfw section.
292
293 If unsure, answer 'y'
294
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700295config SOC_AMD_PSP_SELECTABLE_SMU_FW
296 bool
Marshall Dawson12294d02019-11-25 07:21:18 -0700297 default y if AMD_APU_STONEYRIDGE
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700298 help
299 Some ST implementations allow storing SMU firmware into cbfs and
300 calling the PSP to load the blobs at the proper time.
301
302 Merlin Falcon does not support it. If you are using 00670F00 SOC,
303 ask your AMD representative if it supports it or not.
304
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600305config SOC_AMD_SMU_FANLESS
306 bool
307 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
308 default n if SOC_AMD_SMU_NOTFANLESS
309 default y
310
311config SOC_AMD_SMU_FANNED
312 bool
313 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
314 default n
315 select SOC_AMD_SMU_NOTFANLESS
316
317config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
318 bool
319 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
320
Martin Roth30f9b952017-10-03 15:54:45 -0600321config AMDFW_OUTSIDE_CBFS
322 bool "The AMD firmware is outside CBFS"
323 default n
324 help
325 The AMDFW (PSP) is typically locatable in cbfs. Select this
326 option to manually attach the generated amdfw.rom outside of
327 cbfs. The location is selected by the FWM position.
328
Martin Roth6d8ef242017-09-08 14:39:35 -0600329config AMD_FWM_POSITION_INDEX
330 int "Firmware Directory Table location (0 to 5)"
331 range 0 5
332 default 0 if BOARD_ROMSIZE_KB_512
333 default 1 if BOARD_ROMSIZE_KB_1024
334 default 2 if BOARD_ROMSIZE_KB_2048
335 default 3 if BOARD_ROMSIZE_KB_4096
336 default 4 if BOARD_ROMSIZE_KB_8192
337 default 5 if BOARD_ROMSIZE_KB_16384
338 help
339 Typically this is calculated by the ROM size, but there may
340 be situations where you want to put the firmware directory
341 table in a different location.
342 0: 512 KB - 0xFFFA0000
343 1: 1 MB - 0xFFF20000
344 2: 2 MB - 0xFFE20000
345 3: 4 MB - 0xFFC20000
346 4: 8 MB - 0xFF820000
347 5: 16 MB - 0xFF020000
348
349comment "AMD Firmware Directory Table set to location for 512KB ROM"
350 depends on AMD_FWM_POSITION_INDEX = 0
351comment "AMD Firmware Directory Table set to location for 1MB ROM"
352 depends on AMD_FWM_POSITION_INDEX = 1
353comment "AMD Firmware Directory Table set to location for 2MB ROM"
354 depends on AMD_FWM_POSITION_INDEX = 2
355comment "AMD Firmware Directory Table set to location for 4MB ROM"
356 depends on AMD_FWM_POSITION_INDEX = 3
357comment "AMD Firmware Directory Table set to location for 8MB ROM"
358 depends on AMD_FWM_POSITION_INDEX = 4
359comment "AMD Firmware Directory Table set to location for 16MB ROM"
360 depends on AMD_FWM_POSITION_INDEX = 5
361
Marc Jones17431ab2017-11-16 15:26:00 -0700362config DIMM_SPD_SIZE
Marc Jones17431ab2017-11-16 15:26:00 -0700363 default 512 # DDR4
364
Marc Jones578a79d2017-12-06 16:27:04 -0700365config RO_REGION_ONLY
366 string
Matt DeVillier1e54a182022-10-04 16:34:21 -0500367 depends on VBOOT_SLOTS_RW_AB || VBOOT_SLOTS_RW_A
Marc Jones578a79d2017-12-06 16:27:04 -0700368 default "apu/amdfw"
369
Chris Ching6fc39d42017-12-20 16:06:03 -0700370config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
371 int
372 default 133
373
Felix Held27b295b2021-03-25 01:20:41 +0100374config DISABLE_KEYBOARD_RESET_PIN
375 bool
376 help
377 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
378 signal. When this pin is used as GPIO and the keyboard reset
379 functionality isn't disabled, configuring it as an output and driving
380 it as 0 will cause a reset.
381
Arthur Heymansdd7ec092022-05-23 16:06:06 +0200382config ACPI_BERT_SIZE
383 hex
384 default 0x100000 if ACPI_BERT
385 default 0x0
386 help
387 Specify the amount of DRAM reserved for gathering the data used to
388 generate the ACPI table.
389
Marshall Dawson68519222019-11-25 11:36:15 -0700390endif # SOC_AMD_STONEYRIDGE