blob: 6091dce1e40b67e1e9ef9d7ee90e3016ba1ae16c [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
Felix Heldc07c7c92020-12-04 18:50:53 +010028 select SOC_AMD_COMMON_BLOCK_HDA
Karthikeyan Ramasubramanian0dbea482021-03-08 23:23:50 -070029 select SOC_AMD_COMMON_BLOCK_I2C
Felix Heldc07c7c92020-12-04 18:50:53 +010030 select SOC_AMD_COMMON_BLOCK_IOMMU
31 select SOC_AMD_COMMON_BLOCK_LPC
Felix Held1e1d4902021-07-14 00:05:39 +020032 select SOC_AMD_COMMON_BLOCK_MCA
Felix Heldc07c7c92020-12-04 18:50:53 +010033 select SOC_AMD_COMMON_BLOCK_PCI
Felix Heldc0538d42021-04-13 19:56:10 +020034 select SOC_AMD_COMMON_BLOCK_PM
Felix Heldc07c7c92020-12-04 18:50:53 +010035 select SOC_AMD_COMMON_BLOCK_PSP_GEN1
Felix Heldc07c7c92020-12-04 18:50:53 +010036 select SOC_AMD_COMMON_BLOCK_SATA
37 select SOC_AMD_COMMON_BLOCK_SMBUS
38 select SOC_AMD_COMMON_BLOCK_SMI
Felix Heldbc134812021-02-10 02:26:10 +010039 select SOC_AMD_COMMON_BLOCK_SMM
Felix Held7d8c8322023-03-25 04:59:18 +010040 select SOC_AMD_COMMON_BLOCK_SMN
Felix Heldc07c7c92020-12-04 18:50:53 +010041 select SOC_AMD_COMMON_BLOCK_SPI
Felix Helda3391e52023-03-24 00:20:02 +010042 select SOC_AMD_COMMON_BLOCK_SVI2
Felix Held91ef9252021-01-12 23:44:05 +010043 select SOC_AMD_COMMON_BLOCK_UART
Felix Heldc07c7c92020-12-04 18:50:53 +010044 select SSE2
45 select TSC_SYNC_LFENCE
Martin Rothbcb610a2022-10-29 13:31:54 -060046 select USE_DDR4
Felix Heldc07c7c92020-12-04 18:50:53 +010047 select X86_AMD_FIXED_MTRRS
Elyes Haouas3cd06cc2023-01-05 07:42:24 +010048 help
49 AMD support for SOCs in Family 15h Models 60h-6Fh and Models 70h-7Fh.
50
51if SOC_AMD_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -060052
Marshall Dawson12294d02019-11-25 07:21:18 -070053config AMD_APU_STONEYRIDGE
54 bool
55 help
56 AMD Stoney Ridge APU
57
Marshall Dawsone1988f52019-11-25 11:15:35 -070058config AMD_APU_PRAIRIEFALCON
59 bool
60 help
61 AMD Embedded Prairie Falcon APU
62
Marshall Dawson12294d02019-11-25 07:21:18 -070063config AMD_APU_MERLINFALCON
64 bool
65 help
Marshall Dawsone1988f52019-11-25 11:15:35 -070066 AMD Embedded Merlin Falcon APU
Marshall Dawson12294d02019-11-25 07:21:18 -070067
Marshall Dawson3ac0ab52019-11-24 19:03:56 -070068config AMD_APU_PKG_FP4
69 bool
70 help
71 AMD FP4 package
72
73config AMD_APU_PKG_FT4
74 bool
75 help
76 AMD FT4 package
77
78config AMD_SOC_PACKAGE
79 string
80 default "FP4" if AMD_APU_PKG_FP4
81 default "FT4" if AMD_APU_PKG_FT4
82
Felix Heldb68e2242022-10-12 18:44:06 +020083config CHIPSET_DEVICETREE
84 string
85 default "soc/amd/stoneyridge/chipset_cz.cb" if AMD_APU_MERLINFALCON
86 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_PRAIRIEFALCON
87 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_STONEYRIDGE
88
Marshall Dawsone7557de2017-06-09 16:35:14 -060089config VBOOT
Marshall Dawsone7557de2017-06-09 16:35:14 -060090 select VBOOT_STARTS_IN_BOOTBLOCK
Marc Jones4c887ea2018-04-25 16:43:18 -060091 select VBOOT_VBNV_CMOS
92 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Marshall Dawsone7557de2017-06-09 16:35:14 -060093
Marc Jones21cde8b2017-05-07 16:47:36 -060094# TODO: Sync these with definitions in PI vendorcode.
95# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
96# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
97
98config DCACHE_RAM_BASE
99 hex
100 default 0x30000
101
102config DCACHE_RAM_SIZE
103 hex
104 default 0x10000
105
Marshall Dawson9df969a2017-07-25 18:46:46 -0600106config DCACHE_BSP_STACK_SIZE
Marshall Dawson9df969a2017-07-25 18:46:46 -0600107 hex
108 default 0x4000
109 help
110 The amount of anticipated stack usage in CAR by bootblock and
111 other stages.
112
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600113config PRERAM_CBMEM_CONSOLE_SIZE
114 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700115 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600116 help
117 Increase this value if preram cbmem console is getting truncated
118
Marc Jones1587dc82017-05-15 18:55:11 -0600119config BOTTOMIO_POSITION
120 hex "Bottom of 32-bit IO space"
121 default 0xD0000000
122 help
123 If PCI peripherals with big BARs are connected to the system
124 the bottom of the IO must be decreased to allocate such
125 devices.
126
127 Declare the beginning of the 128MB-aligned MMIO region. This
128 option is useful when PCI peripherals requesting large address
129 ranges are present.
130
Shelley Chen4e9bb332021-10-20 15:43:45 -0700131config ECAM_MMCONF_BASE_ADDRESS
Marc Jones1587dc82017-05-15 18:55:11 -0600132 default 0xF8000000
133
Shelley Chen4e9bb332021-10-20 15:43:45 -0700134config ECAM_MMCONF_BUS_NUMBER
Marc Jones1587dc82017-05-15 18:55:11 -0600135 default 64
136
137config VGA_BIOS_ID
138 string
Felix Held0b03c082023-03-24 22:49:48 +0100139 default "1002,9870" if AMD_APU_MERLINFALCON
140 default "1002,98e0"
Marc Jones1587dc82017-05-15 18:55:11 -0600141 help
142 The default VGA BIOS PCI vendor/device ID should be set to the
143 result of the map_oprom_vendev() function in northbridge.c.
144
145config VGA_BIOS_FILE
146 string
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700147 default "3rdparty/amd_blobs/stoneyridge/CarrizoGenericVbios.bin" if AMD_APU_MERLINFALCON
Marshall Dawsone1988f52019-11-25 11:15:35 -0700148 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_PRAIRIEFALCON
149 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_STONEYRIDGE
Marc Jones1587dc82017-05-15 18:55:11 -0600150
Marshall Dawson668dea02017-11-29 09:57:15 -0700151config S3_VGA_ROM_RUN
152 bool
153 default n
154
Marc Jones1587dc82017-05-15 18:55:11 -0600155config HEAP_SIZE
156 hex
157 default 0xc0000
158
Marc Jones24484842017-05-04 21:17:45 -0600159config EHCI_BAR
160 hex
161 default 0xfef00000
162
163config STONEYRIDGE_XHCI_ENABLE
164 bool "Enable Stoney Ridge XHCI Controller"
165 default y
166 help
167 The XHCI controller must be enabled and the XHCI firmware
168 must be added in order to have USB 3.0 support configured
169 by coreboot. The OS will be responsible for enabling the XHCI
Jonathan Neuschäfer45e6c822018-12-11 17:53:07 +0100170 controller if the XHCI firmware is available but the
Marc Jones24484842017-05-04 21:17:45 -0600171 XHCI controller is not enabled by coreboot.
172
173config STONEYRIDGE_XHCI_FWM
174 bool "Add xhci firmware"
175 default y
176 help
177 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
178
Marc Jones24484842017-05-04 21:17:45 -0600179config STONEYRIDGE_GEC_FWM
180 bool
181 default n
182 help
183 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
184 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
185
186config STONEYRIDGE_XHCI_FWM_FILE
187 string "XHCI firmware path and filename"
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700188 default "3rdparty/amd_blobs/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600189 depends on STONEYRIDGE_XHCI_FWM
190
Marc Jones24484842017-05-04 21:17:45 -0600191config STONEYRIDGE_GEC_FWM_FILE
192 string "GEC firmware path and filename"
193 depends on STONEYRIDGE_GEC_FWM
194
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800195config AMDFW_CONFIG_FILE
196 string
197 string "AMD PSP Firmware config file"
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800198 default "src/soc/amd/stoneyridge/fw_cz.cfg" if AMD_APU_MERLINFALCON
199 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_PRAIRIEFALCON
200 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -0600201
202config STONEYRIDGE_SATA_MODE
203 int "SATA Mode"
204 default 0
205 range 0 6
206 help
207 Select the mode in which SATA should be driven.
208 The default is NATIVE.
209 0: NATIVE mode does not require a ROM.
210 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
211 For example, seabios does not require the AHCI ROM.
212 3: LEGACY IDE
213 4: IDE to AHCI
214 5: AHCI7804: ROM Required, and AMD driver required in the OS.
215 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
216
217comment "NATIVE"
218 depends on STONEYRIDGE_SATA_MODE = 0
219
220comment "AHCI"
221 depends on STONEYRIDGE_SATA_MODE = 2
222
223comment "LEGACY IDE"
224 depends on STONEYRIDGE_SATA_MODE = 3
225
226comment "IDE to AHCI"
227 depends on STONEYRIDGE_SATA_MODE = 4
228
229comment "AHCI7804"
230 depends on STONEYRIDGE_SATA_MODE = 5
231
232comment "IDE to AHCI7804"
233 depends on STONEYRIDGE_SATA_MODE = 6
234
Marc Jones24484842017-05-04 21:17:45 -0600235config STONEYRIDGE_LEGACY_FREE
236 bool "System is legacy free"
237 help
238 Select y if there is no keyboard controller in the system.
239 This sets variables in AGESA and ACPI.
240
Marc Jones24484842017-05-04 21:17:45 -0600241config SERIRQ_CONTINUOUS_MODE
242 bool
243 default n
244 help
245 Set this option to y for serial IRQ in continuous mode.
246 Otherwise it is in quiet mode.
247
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100248config CONSOLE_UART_BASE_ADDRESS
249 depends on CONSOLE_SERIAL
250 hex
251 default 0xfedc6000
252
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600253config SMM_TSEG_SIZE
254 hex
Felix Helde22eef72021-02-10 22:22:07 +0100255 default 0x800000 if HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600256 default 0x0
257
Marshall Dawsonb6172112017-09-13 17:47:31 -0600258config SMM_RESERVED_SIZE
259 hex
Zheng Bao2d2c27e2022-11-18 15:01:22 +0800260 default 0x160000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600261
Raul E Rangel846b4942018-06-12 10:43:09 -0600262config SMM_MODULE_STACK_SIZE
263 hex
264 default 0x800
265
Marc Jonese013df92017-08-23 16:28:02 -0600266config ACPI_CPU_STRING
267 string
Felix Held3cf05b52023-05-15 19:16:22 +0200268 default "P%03X"
Marc Jonese013df92017-08-23 16:28:02 -0600269
Felix Heldfc709fe2023-03-24 21:41:35 +0100270config ACPI_SSDT_PSD_INDEPENDENT
271 default n
272
Marshall Dawson9a32c412018-09-04 13:29:12 -0600273config ACPI_BERT
274 bool "Build ACPI BERT Table"
275 default y
276 depends on HAVE_ACPI_TABLES
277 help
278 Report Machine Check errors identified in POST to the OS in an
279 ACPI Boot Error Record Table. This option reserves an 8MB region
280 for building the error structures.
281
Marshall Dawson25eb2bc2019-03-14 12:42:46 -0600282config USE_PSPSECUREOS
Martin Rothb617e322017-09-07 13:23:55 -0600283 bool "Include PSP SecureOS blobs in AMD firmware"
284 default y
285 help
286 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
287 in the amdfw section.
288
289 If unsure, answer 'y'
290
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700291config SOC_AMD_PSP_SELECTABLE_SMU_FW
292 bool
Marshall Dawson12294d02019-11-25 07:21:18 -0700293 default y if AMD_APU_STONEYRIDGE
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700294 help
295 Some ST implementations allow storing SMU firmware into cbfs and
296 calling the PSP to load the blobs at the proper time.
297
298 Merlin Falcon does not support it. If you are using 00670F00 SOC,
299 ask your AMD representative if it supports it or not.
300
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600301config SOC_AMD_SMU_FANLESS
302 bool
303 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
304 default n if SOC_AMD_SMU_NOTFANLESS
305 default y
306
307config SOC_AMD_SMU_FANNED
308 bool
309 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
310 default n
311 select SOC_AMD_SMU_NOTFANLESS
312
313config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
314 bool
315 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
316
Martin Roth30f9b952017-10-03 15:54:45 -0600317config AMDFW_OUTSIDE_CBFS
318 bool "The AMD firmware is outside CBFS"
319 default n
320 help
321 The AMDFW (PSP) is typically locatable in cbfs. Select this
322 option to manually attach the generated amdfw.rom outside of
323 cbfs. The location is selected by the FWM position.
324
Martin Roth6d8ef242017-09-08 14:39:35 -0600325config AMD_FWM_POSITION_INDEX
326 int "Firmware Directory Table location (0 to 5)"
327 range 0 5
328 default 0 if BOARD_ROMSIZE_KB_512
329 default 1 if BOARD_ROMSIZE_KB_1024
330 default 2 if BOARD_ROMSIZE_KB_2048
331 default 3 if BOARD_ROMSIZE_KB_4096
332 default 4 if BOARD_ROMSIZE_KB_8192
333 default 5 if BOARD_ROMSIZE_KB_16384
334 help
335 Typically this is calculated by the ROM size, but there may
336 be situations where you want to put the firmware directory
337 table in a different location.
338 0: 512 KB - 0xFFFA0000
339 1: 1 MB - 0xFFF20000
340 2: 2 MB - 0xFFE20000
341 3: 4 MB - 0xFFC20000
342 4: 8 MB - 0xFF820000
343 5: 16 MB - 0xFF020000
344
345comment "AMD Firmware Directory Table set to location for 512KB ROM"
346 depends on AMD_FWM_POSITION_INDEX = 0
347comment "AMD Firmware Directory Table set to location for 1MB ROM"
348 depends on AMD_FWM_POSITION_INDEX = 1
349comment "AMD Firmware Directory Table set to location for 2MB ROM"
350 depends on AMD_FWM_POSITION_INDEX = 2
351comment "AMD Firmware Directory Table set to location for 4MB ROM"
352 depends on AMD_FWM_POSITION_INDEX = 3
353comment "AMD Firmware Directory Table set to location for 8MB ROM"
354 depends on AMD_FWM_POSITION_INDEX = 4
355comment "AMD Firmware Directory Table set to location for 16MB ROM"
356 depends on AMD_FWM_POSITION_INDEX = 5
357
Marc Jones17431ab2017-11-16 15:26:00 -0700358config DIMM_SPD_SIZE
Marc Jones17431ab2017-11-16 15:26:00 -0700359 default 512 # DDR4
360
Marc Jones578a79d2017-12-06 16:27:04 -0700361config RO_REGION_ONLY
362 string
Matt DeVillier1e54a182022-10-04 16:34:21 -0500363 depends on VBOOT_SLOTS_RW_AB || VBOOT_SLOTS_RW_A
Marc Jones578a79d2017-12-06 16:27:04 -0700364 default "apu/amdfw"
365
Chris Ching6fc39d42017-12-20 16:06:03 -0700366config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
367 int
368 default 133
369
Felix Held27b295b2021-03-25 01:20:41 +0100370config DISABLE_KEYBOARD_RESET_PIN
371 bool
372 help
373 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
374 signal. When this pin is used as GPIO and the keyboard reset
375 functionality isn't disabled, configuring it as an output and driving
376 it as 0 will cause a reset.
377
Arthur Heymansdd7ec092022-05-23 16:06:06 +0200378config ACPI_BERT_SIZE
379 hex
380 default 0x100000 if ACPI_BERT
381 default 0x0
382 help
383 Specify the amount of DRAM reserved for gathering the data used to
384 generate the ACPI table.
385
Marshall Dawson68519222019-11-25 11:36:15 -0700386endif # SOC_AMD_STONEYRIDGE