blob: dadda8d7d5513b33e7bb5f98610ab2e5150609f1 [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 Heldc07c7c92020-12-04 18:50:53 +010021 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held31364242021-07-23 19:18:02 +020022 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_BIOSRAM
Felix Held9ab8a782023-07-14 18:44:13 +020023 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_PM_IO_ACCESS
Felix Heldc07c7c92020-12-04 18:50:53 +010024 select SOC_AMD_COMMON_BLOCK_AOAC
25 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
26 select SOC_AMD_COMMON_BLOCK_CAR
Felix Held96fd62f2023-03-24 16:55:50 +010027 select SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM15H_16H
CoolStar835af762023-10-17 00:30:19 -070028 select SOC_AMD_COMMON_BLOCK_GRAPHICS
Felix Heldc07c7c92020-12-04 18:50:53 +010029 select SOC_AMD_COMMON_BLOCK_HDA
Karthikeyan Ramasubramanian0dbea482021-03-08 23:23:50 -070030 select SOC_AMD_COMMON_BLOCK_I2C
Felix Heldc07c7c92020-12-04 18:50:53 +010031 select SOC_AMD_COMMON_BLOCK_IOMMU
32 select SOC_AMD_COMMON_BLOCK_LPC
Felix Held1e1d4902021-07-14 00:05:39 +020033 select SOC_AMD_COMMON_BLOCK_MCA
Felix Heldc07c7c92020-12-04 18:50:53 +010034 select SOC_AMD_COMMON_BLOCK_PCI
Felix Heldc0538d42021-04-13 19:56:10 +020035 select SOC_AMD_COMMON_BLOCK_PM
Felix Heldc07c7c92020-12-04 18:50:53 +010036 select SOC_AMD_COMMON_BLOCK_PSP_GEN1
Felix Heldc07c7c92020-12-04 18:50:53 +010037 select SOC_AMD_COMMON_BLOCK_SATA
38 select SOC_AMD_COMMON_BLOCK_SMBUS
39 select SOC_AMD_COMMON_BLOCK_SMI
Felix Heldbc134812021-02-10 02:26:10 +010040 select SOC_AMD_COMMON_BLOCK_SMM
Felix Held7d8c8322023-03-25 04:59:18 +010041 select SOC_AMD_COMMON_BLOCK_SMN
Felix Heldc07c7c92020-12-04 18:50:53 +010042 select SOC_AMD_COMMON_BLOCK_SPI
Felix Helda3391e52023-03-24 00:20:02 +010043 select SOC_AMD_COMMON_BLOCK_SVI2
Felix Held91ef9252021-01-12 23:44:05 +010044 select SOC_AMD_COMMON_BLOCK_UART
Matt DeVillier1e0842e2023-10-24 11:43:25 -050045 select SOC_AMD_COMMON_LATE_SMM_LOCKING
Felix Heldc07c7c92020-12-04 18:50:53 +010046 select SSE2
47 select TSC_SYNC_LFENCE
Martin Rothbcb610a2022-10-29 13:31:54 -060048 select USE_DDR4
Felix Heldc07c7c92020-12-04 18:50:53 +010049 select X86_AMD_FIXED_MTRRS
Elyes Haouas3cd06cc2023-01-05 07:42:24 +010050 help
51 AMD support for SOCs in Family 15h Models 60h-6Fh and Models 70h-7Fh.
52
53if SOC_AMD_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -060054
Marshall Dawson12294d02019-11-25 07:21:18 -070055config AMD_APU_STONEYRIDGE
56 bool
57 help
58 AMD Stoney Ridge APU
59
Marshall Dawsone1988f52019-11-25 11:15:35 -070060config AMD_APU_PRAIRIEFALCON
61 bool
62 help
63 AMD Embedded Prairie Falcon APU
64
Marshall Dawson12294d02019-11-25 07:21:18 -070065config AMD_APU_MERLINFALCON
66 bool
67 help
Marshall Dawsone1988f52019-11-25 11:15:35 -070068 AMD Embedded Merlin Falcon APU
Marshall Dawson12294d02019-11-25 07:21:18 -070069
Marshall Dawson3ac0ab52019-11-24 19:03:56 -070070config AMD_APU_PKG_FP4
71 bool
72 help
73 AMD FP4 package
74
75config AMD_APU_PKG_FT4
76 bool
77 help
78 AMD FT4 package
79
80config AMD_SOC_PACKAGE
81 string
82 default "FP4" if AMD_APU_PKG_FP4
83 default "FT4" if AMD_APU_PKG_FT4
84
Felix Heldb68e2242022-10-12 18:44:06 +020085config CHIPSET_DEVICETREE
86 string
87 default "soc/amd/stoneyridge/chipset_cz.cb" if AMD_APU_MERLINFALCON
88 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_PRAIRIEFALCON
89 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_STONEYRIDGE
90
Marshall Dawsone7557de2017-06-09 16:35:14 -060091config VBOOT
Marshall Dawsone7557de2017-06-09 16:35:14 -060092 select VBOOT_STARTS_IN_BOOTBLOCK
Marc Jones4c887ea2018-04-25 16:43:18 -060093 select VBOOT_VBNV_CMOS
94 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Marshall Dawsone7557de2017-06-09 16:35:14 -060095
Marc Jones21cde8b2017-05-07 16:47:36 -060096# TODO: Sync these with definitions in PI vendorcode.
97# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
98# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
99
100config DCACHE_RAM_BASE
101 hex
102 default 0x30000
103
104config DCACHE_RAM_SIZE
105 hex
106 default 0x10000
107
Jeremy Compostella052fb7c2023-08-18 14:25:22 -0700108config PRERAM_CBFS_CACHE_SIZE
109 default 0x0
110
Marshall Dawson9df969a2017-07-25 18:46:46 -0600111config DCACHE_BSP_STACK_SIZE
Marshall Dawson9df969a2017-07-25 18:46:46 -0600112 hex
113 default 0x4000
114 help
115 The amount of anticipated stack usage in CAR by bootblock and
116 other stages.
117
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600118config PRERAM_CBMEM_CONSOLE_SIZE
119 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700120 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600121 help
122 Increase this value if preram cbmem console is getting truncated
123
Marc Jones1587dc82017-05-15 18:55:11 -0600124config BOTTOMIO_POSITION
125 hex "Bottom of 32-bit IO space"
126 default 0xD0000000
127 help
128 If PCI peripherals with big BARs are connected to the system
129 the bottom of the IO must be decreased to allocate such
130 devices.
131
132 Declare the beginning of the 128MB-aligned MMIO region. This
133 option is useful when PCI peripherals requesting large address
134 ranges are present.
135
Shelley Chen4e9bb332021-10-20 15:43:45 -0700136config ECAM_MMCONF_BASE_ADDRESS
Marc Jones1587dc82017-05-15 18:55:11 -0600137 default 0xF8000000
138
Shelley Chen4e9bb332021-10-20 15:43:45 -0700139config ECAM_MMCONF_BUS_NUMBER
Marc Jones1587dc82017-05-15 18:55:11 -0600140 default 64
141
142config VGA_BIOS_ID
143 string
Felix Held0b03c082023-03-24 22:49:48 +0100144 default "1002,9870" if AMD_APU_MERLINFALCON
145 default "1002,98e0"
Marc Jones1587dc82017-05-15 18:55:11 -0600146 help
147 The default VGA BIOS PCI vendor/device ID should be set to the
148 result of the map_oprom_vendev() function in northbridge.c.
149
150config VGA_BIOS_FILE
151 string
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700152 default "3rdparty/amd_blobs/stoneyridge/CarrizoGenericVbios.bin" if AMD_APU_MERLINFALCON
Marshall Dawsone1988f52019-11-25 11:15:35 -0700153 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_PRAIRIEFALCON
154 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_STONEYRIDGE
Marc Jones1587dc82017-05-15 18:55:11 -0600155
Marshall Dawson668dea02017-11-29 09:57:15 -0700156config S3_VGA_ROM_RUN
157 bool
158 default n
159
Patrick Georgiacbc4912023-11-06 17:22:34 +0000160config HEAP_SIZE
161 hex
162 default 0xc0000
163
Marc Jones24484842017-05-04 21:17:45 -0600164config EHCI_BAR
165 hex
166 default 0xfef00000
167
168config STONEYRIDGE_XHCI_ENABLE
169 bool "Enable Stoney Ridge XHCI Controller"
170 default y
171 help
172 The XHCI controller must be enabled and the XHCI firmware
173 must be added in order to have USB 3.0 support configured
174 by coreboot. The OS will be responsible for enabling the XHCI
Jonathan Neuschäfer45e6c822018-12-11 17:53:07 +0100175 controller if the XHCI firmware is available but the
Marc Jones24484842017-05-04 21:17:45 -0600176 XHCI controller is not enabled by coreboot.
177
178config STONEYRIDGE_XHCI_FWM
179 bool "Add xhci firmware"
180 default y
181 help
182 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
183
Marc Jones24484842017-05-04 21:17:45 -0600184config STONEYRIDGE_GEC_FWM
185 bool
186 default n
187 help
188 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
189 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
190
191config STONEYRIDGE_XHCI_FWM_FILE
192 string "XHCI firmware path and filename"
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700193 default "3rdparty/amd_blobs/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600194 depends on STONEYRIDGE_XHCI_FWM
195
Marc Jones24484842017-05-04 21:17:45 -0600196config STONEYRIDGE_GEC_FWM_FILE
197 string "GEC firmware path and filename"
198 depends on STONEYRIDGE_GEC_FWM
199
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800200config AMDFW_CONFIG_FILE
201 string
202 string "AMD PSP Firmware config file"
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800203 default "src/soc/amd/stoneyridge/fw_cz.cfg" if AMD_APU_MERLINFALCON
204 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_PRAIRIEFALCON
205 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -0600206
207config STONEYRIDGE_SATA_MODE
208 int "SATA Mode"
209 default 0
210 range 0 6
211 help
212 Select the mode in which SATA should be driven.
213 The default is NATIVE.
214 0: NATIVE mode does not require a ROM.
215 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
216 For example, seabios does not require the AHCI ROM.
217 3: LEGACY IDE
218 4: IDE to AHCI
219 5: AHCI7804: ROM Required, and AMD driver required in the OS.
220 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
221
222comment "NATIVE"
223 depends on STONEYRIDGE_SATA_MODE = 0
224
225comment "AHCI"
226 depends on STONEYRIDGE_SATA_MODE = 2
227
228comment "LEGACY IDE"
229 depends on STONEYRIDGE_SATA_MODE = 3
230
231comment "IDE to AHCI"
232 depends on STONEYRIDGE_SATA_MODE = 4
233
234comment "AHCI7804"
235 depends on STONEYRIDGE_SATA_MODE = 5
236
237comment "IDE to AHCI7804"
238 depends on STONEYRIDGE_SATA_MODE = 6
239
Marc Jones24484842017-05-04 21:17:45 -0600240config STONEYRIDGE_LEGACY_FREE
241 bool "System is legacy free"
242 help
243 Select y if there is no keyboard controller in the system.
244 This sets variables in AGESA and ACPI.
245
Marc Jones24484842017-05-04 21:17:45 -0600246config SERIRQ_CONTINUOUS_MODE
247 bool
248 default n
249 help
250 Set this option to y for serial IRQ in continuous mode.
251 Otherwise it is in quiet mode.
252
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100253config CONSOLE_UART_BASE_ADDRESS
254 depends on CONSOLE_SERIAL
255 hex
256 default 0xfedc6000
257
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600258config SMM_TSEG_SIZE
259 hex
Felix Helde22eef72021-02-10 22:22:07 +0100260 default 0x800000 if HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600261 default 0x0
262
Marshall Dawsonb6172112017-09-13 17:47:31 -0600263config SMM_RESERVED_SIZE
264 hex
Zheng Bao2d2c27e2022-11-18 15:01:22 +0800265 default 0x160000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600266
Raul E Rangel846b4942018-06-12 10:43:09 -0600267config SMM_MODULE_STACK_SIZE
268 hex
269 default 0x800
270
Marc Jonese013df92017-08-23 16:28:02 -0600271config ACPI_CPU_STRING
272 string
Felix Held3cf05b52023-05-15 19:16:22 +0200273 default "P%03X"
Marc Jonese013df92017-08-23 16:28:02 -0600274
Felix Heldfc709fe2023-03-24 21:41:35 +0100275config ACPI_SSDT_PSD_INDEPENDENT
276 default n
277
Marshall Dawson9a32c412018-09-04 13:29:12 -0600278config ACPI_BERT
279 bool "Build ACPI BERT Table"
280 default y
281 depends on HAVE_ACPI_TABLES
282 help
283 Report Machine Check errors identified in POST to the OS in an
284 ACPI Boot Error Record Table. This option reserves an 8MB region
285 for building the error structures.
286
Marshall Dawson25eb2bc2019-03-14 12:42:46 -0600287config USE_PSPSECUREOS
Martin Rothb617e322017-09-07 13:23:55 -0600288 bool "Include PSP SecureOS blobs in AMD firmware"
289 default y
290 help
291 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
292 in the amdfw section.
293
294 If unsure, answer 'y'
295
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700296config SOC_AMD_PSP_SELECTABLE_SMU_FW
297 bool
Marshall Dawson12294d02019-11-25 07:21:18 -0700298 default y if AMD_APU_STONEYRIDGE
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700299 help
300 Some ST implementations allow storing SMU firmware into cbfs and
301 calling the PSP to load the blobs at the proper time.
302
303 Merlin Falcon does not support it. If you are using 00670F00 SOC,
304 ask your AMD representative if it supports it or not.
305
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600306config SOC_AMD_SMU_FANLESS
307 bool
308 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
309 default n if SOC_AMD_SMU_NOTFANLESS
310 default y
311
312config SOC_AMD_SMU_FANNED
313 bool
314 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
315 default n
316 select SOC_AMD_SMU_NOTFANLESS
317
318config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
319 bool
320 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
321
Martin Roth30f9b952017-10-03 15:54:45 -0600322config AMDFW_OUTSIDE_CBFS
323 bool "The AMD firmware is outside CBFS"
324 default n
325 help
326 The AMDFW (PSP) is typically locatable in cbfs. Select this
327 option to manually attach the generated amdfw.rom outside of
328 cbfs. The location is selected by the FWM position.
329
Marc Jones17431ab2017-11-16 15:26:00 -0700330config DIMM_SPD_SIZE
Marc Jones17431ab2017-11-16 15:26:00 -0700331 default 512 # DDR4
332
Marc Jones578a79d2017-12-06 16:27:04 -0700333config RO_REGION_ONLY
334 string
Matt DeVillier1e54a182022-10-04 16:34:21 -0500335 depends on VBOOT_SLOTS_RW_AB || VBOOT_SLOTS_RW_A
Marc Jones578a79d2017-12-06 16:27:04 -0700336 default "apu/amdfw"
337
Chris Ching6fc39d42017-12-20 16:06:03 -0700338config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
339 int
340 default 133
341
Felix Held27b295b2021-03-25 01:20:41 +0100342config DISABLE_KEYBOARD_RESET_PIN
343 bool
344 help
345 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
346 signal. When this pin is used as GPIO and the keyboard reset
347 functionality isn't disabled, configuring it as an output and driving
348 it as 0 will cause a reset.
349
Arthur Heymansdd7ec092022-05-23 16:06:06 +0200350config ACPI_BERT_SIZE
351 hex
352 default 0x100000 if ACPI_BERT
353 default 0x0
354 help
355 Specify the amount of DRAM reserved for gathering the data used to
356 generate the ACPI table.
357
Marshall Dawson68519222019-11-25 11:36:15 -0700358endif # SOC_AMD_STONEYRIDGE