blob: b823d026e3332a06d977c6754e336cbd91965e5d [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
Marc Jones33eef132017-10-26 16:50:42 -060014 select PARALLEL_MP_AP_WORK
Marc Jones17e85ad2017-12-20 16:21:25 -070015 select RTC
Felix Heldc07c7c92020-12-04 18:50:53 +010016 select SOC_AMD_PI
17 select SOC_AMD_COMMON
18 select SOC_AMD_COMMON_BLOCK_ACPI
Felix Held0bc46842021-11-23 10:19:28 +010019 select SOC_AMD_COMMON_BLOCK_ACPI_GPIO
Felix Heldfc709fe2023-03-24 21:41:35 +010020 select SOC_AMD_COMMON_BLOCK_ACPI_CPU_POWER_STATE
Felix Held590d2d52024-01-09 17:04:17 +010021 select SOC_AMD_COMMON_BLOCK_ACPI_MADT
Felix Heldc07c7c92020-12-04 18:50:53 +010022 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held31364242021-07-23 19:18:02 +020023 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_BIOSRAM
Felix Held9ab8a782023-07-14 18:44:13 +020024 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_PM_IO_ACCESS
Felix Heldc07c7c92020-12-04 18:50:53 +010025 select SOC_AMD_COMMON_BLOCK_AOAC
26 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
27 select SOC_AMD_COMMON_BLOCK_CAR
Felix Held96fd62f2023-03-24 16:55:50 +010028 select SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM15H_16H
CoolStar835af762023-10-17 00:30:19 -070029 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Felix Heldc07c7c92020-12-04 18:50:53 +010030 select SOC_AMD_COMMON_BLOCK_HDA
Karthikeyan Ramasubramanian0dbea482021-03-08 23:23:50 -070031 select SOC_AMD_COMMON_BLOCK_I2C
Felix Heldc07c7c92020-12-04 18:50:53 +010032 select SOC_AMD_COMMON_BLOCK_IOMMU
33 select SOC_AMD_COMMON_BLOCK_LPC
Felix Held1e1d4902021-07-14 00:05:39 +020034 select SOC_AMD_COMMON_BLOCK_MCA
Felix Heldc07c7c92020-12-04 18:50:53 +010035 select SOC_AMD_COMMON_BLOCK_PCI
Felix Heldc0538d42021-04-13 19:56:10 +020036 select SOC_AMD_COMMON_BLOCK_PM
Felix Heldc07c7c92020-12-04 18:50:53 +010037 select SOC_AMD_COMMON_BLOCK_PSP_GEN1
Felix Heldc07c7c92020-12-04 18:50:53 +010038 select SOC_AMD_COMMON_BLOCK_SATA
39 select SOC_AMD_COMMON_BLOCK_SMBUS
40 select SOC_AMD_COMMON_BLOCK_SMI
Felix Heldbc134812021-02-10 02:26:10 +010041 select SOC_AMD_COMMON_BLOCK_SMM
Felix Held7d8c8322023-03-25 04:59:18 +010042 select SOC_AMD_COMMON_BLOCK_SMN
Felix Heldc07c7c92020-12-04 18:50:53 +010043 select SOC_AMD_COMMON_BLOCK_SPI
Felix Helda3391e52023-03-24 00:20:02 +010044 select SOC_AMD_COMMON_BLOCK_SVI2
Felix Held91ef9252021-01-12 23:44:05 +010045 select SOC_AMD_COMMON_BLOCK_UART
Matt DeVillier1e0842e2023-10-24 11:43:25 -050046 select SOC_AMD_COMMON_LATE_SMM_LOCKING
Felix Heldc07c7c92020-12-04 18:50:53 +010047 select SSE2
48 select TSC_SYNC_LFENCE
Martin Rothbcb610a2022-10-29 13:31:54 -060049 select USE_DDR4
Felix Heldc07c7c92020-12-04 18:50:53 +010050 select X86_AMD_FIXED_MTRRS
Elyes Haouas3cd06cc2023-01-05 07:42:24 +010051 help
52 AMD support for SOCs in Family 15h Models 60h-6Fh and Models 70h-7Fh.
53
54if SOC_AMD_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -060055
Marshall Dawson12294d02019-11-25 07:21:18 -070056config AMD_APU_STONEYRIDGE
57 bool
58 help
59 AMD Stoney Ridge APU
60
Marshall Dawsone1988f52019-11-25 11:15:35 -070061config AMD_APU_PRAIRIEFALCON
62 bool
63 help
64 AMD Embedded Prairie Falcon APU
65
Marshall Dawson12294d02019-11-25 07:21:18 -070066config AMD_APU_MERLINFALCON
67 bool
68 help
Marshall Dawsone1988f52019-11-25 11:15:35 -070069 AMD Embedded Merlin Falcon APU
Marshall Dawson12294d02019-11-25 07:21:18 -070070
Marshall Dawson3ac0ab52019-11-24 19:03:56 -070071config AMD_APU_PKG_FP4
72 bool
73 help
74 AMD FP4 package
75
76config AMD_APU_PKG_FT4
77 bool
78 help
79 AMD FT4 package
80
81config AMD_SOC_PACKAGE
82 string
83 default "FP4" if AMD_APU_PKG_FP4
84 default "FT4" if AMD_APU_PKG_FT4
85
Felix Heldb68e2242022-10-12 18:44:06 +020086config CHIPSET_DEVICETREE
87 string
88 default "soc/amd/stoneyridge/chipset_cz.cb" if AMD_APU_MERLINFALCON
89 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_PRAIRIEFALCON
90 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_STONEYRIDGE
91
Marshall Dawsone7557de2017-06-09 16:35:14 -060092config VBOOT
Marshall Dawsone7557de2017-06-09 16:35:14 -060093 select VBOOT_STARTS_IN_BOOTBLOCK
Marc Jones4c887ea2018-04-25 16:43:18 -060094 select VBOOT_VBNV_CMOS
95 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Marshall Dawsone7557de2017-06-09 16:35:14 -060096
Marc Jones21cde8b2017-05-07 16:47:36 -060097# TODO: Sync these with definitions in PI vendorcode.
98# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
99# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
100
101config DCACHE_RAM_BASE
102 hex
103 default 0x30000
104
105config DCACHE_RAM_SIZE
106 hex
107 default 0x10000
108
Jeremy Compostella052fb7c2023-08-18 14:25:22 -0700109config PRERAM_CBFS_CACHE_SIZE
110 default 0x0
111
Marshall Dawson9df969a2017-07-25 18:46:46 -0600112config DCACHE_BSP_STACK_SIZE
Marshall Dawson9df969a2017-07-25 18:46:46 -0600113 hex
114 default 0x4000
115 help
116 The amount of anticipated stack usage in CAR by bootblock and
117 other stages.
118
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600119config PRERAM_CBMEM_CONSOLE_SIZE
120 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700121 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600122 help
123 Increase this value if preram cbmem console is getting truncated
124
Marc Jones1587dc82017-05-15 18:55:11 -0600125config BOTTOMIO_POSITION
126 hex "Bottom of 32-bit IO space"
127 default 0xD0000000
128 help
129 If PCI peripherals with big BARs are connected to the system
130 the bottom of the IO must be decreased to allocate such
131 devices.
132
133 Declare the beginning of the 128MB-aligned MMIO region. This
134 option is useful when PCI peripherals requesting large address
135 ranges are present.
136
Shelley Chen4e9bb332021-10-20 15:43:45 -0700137config ECAM_MMCONF_BASE_ADDRESS
Marc Jones1587dc82017-05-15 18:55:11 -0600138 default 0xF8000000
139
Shelley Chen4e9bb332021-10-20 15:43:45 -0700140config ECAM_MMCONF_BUS_NUMBER
Marc Jones1587dc82017-05-15 18:55:11 -0600141 default 64
142
143config VGA_BIOS_ID
144 string
Felix Held0b03c082023-03-24 22:49:48 +0100145 default "1002,9870" if AMD_APU_MERLINFALCON
146 default "1002,98e0"
Marc Jones1587dc82017-05-15 18:55:11 -0600147 help
148 The default VGA BIOS PCI vendor/device ID should be set to the
149 result of the map_oprom_vendev() function in northbridge.c.
150
151config VGA_BIOS_FILE
152 string
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700153 default "3rdparty/amd_blobs/stoneyridge/CarrizoGenericVbios.bin" if AMD_APU_MERLINFALCON
Marshall Dawsone1988f52019-11-25 11:15:35 -0700154 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_PRAIRIEFALCON
155 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_STONEYRIDGE
Marc Jones1587dc82017-05-15 18:55:11 -0600156
Marshall Dawson668dea02017-11-29 09:57:15 -0700157config S3_VGA_ROM_RUN
158 bool
159 default n
160
Patrick Georgiacbc4912023-11-06 17:22:34 +0000161config HEAP_SIZE
162 hex
163 default 0xc0000
164
Marc Jones24484842017-05-04 21:17:45 -0600165config EHCI_BAR
166 hex
167 default 0xfef00000
168
169config STONEYRIDGE_XHCI_ENABLE
170 bool "Enable Stoney Ridge XHCI Controller"
171 default y
172 help
173 The XHCI controller must be enabled and the XHCI firmware
174 must be added in order to have USB 3.0 support configured
175 by coreboot. The OS will be responsible for enabling the XHCI
Jonathan Neuschäfer45e6c822018-12-11 17:53:07 +0100176 controller if the XHCI firmware is available but the
Marc Jones24484842017-05-04 21:17:45 -0600177 XHCI controller is not enabled by coreboot.
178
179config STONEYRIDGE_XHCI_FWM
180 bool "Add xhci firmware"
181 default y
182 help
183 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
184
Marc Jones24484842017-05-04 21:17:45 -0600185config STONEYRIDGE_GEC_FWM
186 bool
187 default n
188 help
189 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
190 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
191
192config STONEYRIDGE_XHCI_FWM_FILE
193 string "XHCI firmware path and filename"
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700194 default "3rdparty/amd_blobs/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600195 depends on STONEYRIDGE_XHCI_FWM
196
Marc Jones24484842017-05-04 21:17:45 -0600197config STONEYRIDGE_GEC_FWM_FILE
198 string "GEC firmware path and filename"
199 depends on STONEYRIDGE_GEC_FWM
200
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800201config AMDFW_CONFIG_FILE
202 string
203 string "AMD PSP Firmware config file"
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800204 default "src/soc/amd/stoneyridge/fw_cz.cfg" if AMD_APU_MERLINFALCON
205 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_PRAIRIEFALCON
206 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -0600207
208config STONEYRIDGE_SATA_MODE
209 int "SATA Mode"
210 default 0
211 range 0 6
212 help
213 Select the mode in which SATA should be driven.
214 The default is NATIVE.
215 0: NATIVE mode does not require a ROM.
216 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
217 For example, seabios does not require the AHCI ROM.
218 3: LEGACY IDE
219 4: IDE to AHCI
220 5: AHCI7804: ROM Required, and AMD driver required in the OS.
221 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
222
223comment "NATIVE"
224 depends on STONEYRIDGE_SATA_MODE = 0
225
226comment "AHCI"
227 depends on STONEYRIDGE_SATA_MODE = 2
228
229comment "LEGACY IDE"
230 depends on STONEYRIDGE_SATA_MODE = 3
231
232comment "IDE to AHCI"
233 depends on STONEYRIDGE_SATA_MODE = 4
234
235comment "AHCI7804"
236 depends on STONEYRIDGE_SATA_MODE = 5
237
238comment "IDE to AHCI7804"
239 depends on STONEYRIDGE_SATA_MODE = 6
240
Marc Jones24484842017-05-04 21:17:45 -0600241config STONEYRIDGE_LEGACY_FREE
242 bool "System is legacy free"
243 help
244 Select y if there is no keyboard controller in the system.
245 This sets variables in AGESA and ACPI.
246
Marc Jones24484842017-05-04 21:17:45 -0600247config SERIRQ_CONTINUOUS_MODE
248 bool
249 default n
250 help
251 Set this option to y for serial IRQ in continuous mode.
252 Otherwise it is in quiet mode.
253
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100254config CONSOLE_UART_BASE_ADDRESS
255 depends on CONSOLE_SERIAL
256 hex
257 default 0xfedc6000
258
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600259config SMM_TSEG_SIZE
260 hex
Felix Helde22eef72021-02-10 22:22:07 +0100261 default 0x800000 if HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600262 default 0x0
263
Marshall Dawsonb6172112017-09-13 17:47:31 -0600264config SMM_RESERVED_SIZE
265 hex
Zheng Bao2d2c27e2022-11-18 15:01:22 +0800266 default 0x160000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600267
Raul E Rangel846b4942018-06-12 10:43:09 -0600268config SMM_MODULE_STACK_SIZE
269 hex
270 default 0x800
271
Marc Jonese013df92017-08-23 16:28:02 -0600272config ACPI_CPU_STRING
273 string
Felix Held3cf05b52023-05-15 19:16:22 +0200274 default "P%03X"
Marc Jonese013df92017-08-23 16:28:02 -0600275
Felix Heldfc709fe2023-03-24 21:41:35 +0100276config ACPI_SSDT_PSD_INDEPENDENT
277 default n
278
Marshall Dawson9a32c412018-09-04 13:29:12 -0600279config ACPI_BERT
280 bool "Build ACPI BERT Table"
281 default y
282 depends on HAVE_ACPI_TABLES
283 help
284 Report Machine Check errors identified in POST to the OS in an
285 ACPI Boot Error Record Table. This option reserves an 8MB region
286 for building the error structures.
287
Marshall Dawson25eb2bc2019-03-14 12:42:46 -0600288config USE_PSPSECUREOS
Martin Rothb617e322017-09-07 13:23:55 -0600289 bool "Include PSP SecureOS blobs in AMD firmware"
290 default y
291 help
292 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
293 in the amdfw section.
294
295 If unsure, answer 'y'
296
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700297config SOC_AMD_PSP_SELECTABLE_SMU_FW
298 bool
Marshall Dawson12294d02019-11-25 07:21:18 -0700299 default y if AMD_APU_STONEYRIDGE
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700300 help
301 Some ST implementations allow storing SMU firmware into cbfs and
302 calling the PSP to load the blobs at the proper time.
303
304 Merlin Falcon does not support it. If you are using 00670F00 SOC,
305 ask your AMD representative if it supports it or not.
306
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600307config SOC_AMD_SMU_FANLESS
308 bool
309 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
310 default n if SOC_AMD_SMU_NOTFANLESS
311 default y
312
313config SOC_AMD_SMU_FANNED
314 bool
315 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
316 default n
317 select SOC_AMD_SMU_NOTFANLESS
318
319config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
320 bool
321 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
322
Martin Roth30f9b952017-10-03 15:54:45 -0600323config AMDFW_OUTSIDE_CBFS
324 bool "The AMD firmware is outside CBFS"
325 default n
326 help
327 The AMDFW (PSP) is typically locatable in cbfs. Select this
328 option to manually attach the generated amdfw.rom outside of
329 cbfs. The location is selected by the FWM position.
330
Marc Jones17431ab2017-11-16 15:26:00 -0700331config DIMM_SPD_SIZE
Marc Jones17431ab2017-11-16 15:26:00 -0700332 default 512 # DDR4
333
Marc Jones578a79d2017-12-06 16:27:04 -0700334config RO_REGION_ONLY
335 string
Matt DeVillier1e54a182022-10-04 16:34:21 -0500336 depends on VBOOT_SLOTS_RW_AB || VBOOT_SLOTS_RW_A
Marc Jones578a79d2017-12-06 16:27:04 -0700337 default "apu/amdfw"
338
Chris Ching6fc39d42017-12-20 16:06:03 -0700339config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
340 int
341 default 133
342
Felix Held27b295b2021-03-25 01:20:41 +0100343config DISABLE_KEYBOARD_RESET_PIN
344 bool
345 help
346 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
347 signal. When this pin is used as GPIO and the keyboard reset
348 functionality isn't disabled, configuring it as an output and driving
349 it as 0 will cause a reset.
350
Arthur Heymansdd7ec092022-05-23 16:06:06 +0200351config ACPI_BERT_SIZE
352 hex
353 default 0x100000 if ACPI_BERT
354 default 0x0
355 help
356 Specify the amount of DRAM reserved for gathering the data used to
357 generate the ACPI table.
358
Marshall Dawson68519222019-11-25 11:36:15 -0700359endif # SOC_AMD_STONEYRIDGE