blob: 01800c14145f0204748a7774aa733968951a218f [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
5 help
6 AMD support for SOCs in Family 15h Models 60h-6Fh and Models 70h-7Fh.
7
8if SOC_AMD_STONEYRIDGE
9
Marc Jones21cde8b2017-05-07 16:47:36 -060010config CPU_SPECIFIC_OPTIONS
11 def_bool y
Kyösti Mälkki3139c8d2020-06-28 16:33:33 +030012 select ACPI_SOC_NVS
Angel Pons8e035e32021-06-22 12:58:20 +020013 select ARCH_X86
Felix Heldc07c7c92020-12-04 18:50:53 +010014 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Aaron Durbin51e4c1a2018-01-24 17:42:51 -070015 select COLLECT_TIMESTAMPS_NO_TSC
Marc Jones9156cac2017-07-12 11:05:38 -060016 select GENERIC_GPIO_LIB
Aaron Durbin51e4c1a2018-01-24 17:42:51 -070017 select GENERIC_UDELAY
Angel Ponsb74975e2020-07-13 01:12:57 +020018 select HAVE_CF9_RESET
Felix Heldc07c7c92020-12-04 18:50:53 +010019 select HAVE_SMI_HANDLER
Marc Jones24484842017-05-04 21:17:45 -060020 select HAVE_USBDEBUG_OPTIONS
Martin Rothbcb610a2022-10-29 13:31:54 -060021 select NO_DDR5
22 select NO_DDR3
23 select NO_DDR2
24 select NO_LPDDR4
Marc Jones33eef132017-10-26 16:50:42 -060025 select PARALLEL_MP_AP_WORK
Marc Jones17e85ad2017-12-20 16:21:25 -070026 select RTC
Felix Heldc07c7c92020-12-04 18:50:53 +010027 select SOC_AMD_PI
28 select SOC_AMD_COMMON
29 select SOC_AMD_COMMON_BLOCK_ACPI
Felix Held0bc46842021-11-23 10:19:28 +010030 select SOC_AMD_COMMON_BLOCK_ACPI_GPIO
Felix Heldc07c7c92020-12-04 18:50:53 +010031 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held31364242021-07-23 19:18:02 +020032 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_BIOSRAM
Felix Heldc07c7c92020-12-04 18:50:53 +010033 select SOC_AMD_COMMON_BLOCK_AOAC
34 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
35 select SOC_AMD_COMMON_BLOCK_CAR
36 select SOC_AMD_COMMON_BLOCK_HDA
Karthikeyan Ramasubramanian0dbea482021-03-08 23:23:50 -070037 select SOC_AMD_COMMON_BLOCK_I2C
Felix Heldc07c7c92020-12-04 18:50:53 +010038 select SOC_AMD_COMMON_BLOCK_IOMMU
39 select SOC_AMD_COMMON_BLOCK_LPC
Felix Held1e1d4902021-07-14 00:05:39 +020040 select SOC_AMD_COMMON_BLOCK_MCA
Felix Heldc07c7c92020-12-04 18:50:53 +010041 select SOC_AMD_COMMON_BLOCK_PCI
Felix Heldc0538d42021-04-13 19:56:10 +020042 select SOC_AMD_COMMON_BLOCK_PM
Felix Heldc07c7c92020-12-04 18:50:53 +010043 select SOC_AMD_COMMON_BLOCK_PSP_GEN1
Felix Heldc07c7c92020-12-04 18:50:53 +010044 select SOC_AMD_COMMON_BLOCK_SATA
45 select SOC_AMD_COMMON_BLOCK_SMBUS
46 select SOC_AMD_COMMON_BLOCK_SMI
Felix Heldbc134812021-02-10 02:26:10 +010047 select SOC_AMD_COMMON_BLOCK_SMM
Felix Heldc07c7c92020-12-04 18:50:53 +010048 select SOC_AMD_COMMON_BLOCK_SPI
Felix Held91ef9252021-01-12 23:44:05 +010049 select SOC_AMD_COMMON_BLOCK_UART
Felix Heldc07c7c92020-12-04 18:50:53 +010050 select SSE2
51 select TSC_SYNC_LFENCE
Martin Rothbcb610a2022-10-29 13:31:54 -060052 select USE_DDR4
Felix Heldc07c7c92020-12-04 18:50:53 +010053 select X86_AMD_FIXED_MTRRS
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
Marshall Dawson9df969a2017-07-25 18:46:46 -0600108config DCACHE_BSP_STACK_SIZE
Marshall Dawson9df969a2017-07-25 18:46:46 -0600109 hex
110 default 0x4000
111 help
112 The amount of anticipated stack usage in CAR by bootblock and
113 other stages.
114
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600115config PRERAM_CBMEM_CONSOLE_SIZE
116 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700117 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600118 help
119 Increase this value if preram cbmem console is getting truncated
120
Marc Jones1587dc82017-05-15 18:55:11 -0600121config BOTTOMIO_POSITION
122 hex "Bottom of 32-bit IO space"
123 default 0xD0000000
124 help
125 If PCI peripherals with big BARs are connected to the system
126 the bottom of the IO must be decreased to allocate such
127 devices.
128
129 Declare the beginning of the 128MB-aligned MMIO region. This
130 option is useful when PCI peripherals requesting large address
131 ranges are present.
132
Shelley Chen4e9bb332021-10-20 15:43:45 -0700133config ECAM_MMCONF_BASE_ADDRESS
Marc Jones1587dc82017-05-15 18:55:11 -0600134 default 0xF8000000
135
Shelley Chen4e9bb332021-10-20 15:43:45 -0700136config ECAM_MMCONF_BUS_NUMBER
Marc Jones1587dc82017-05-15 18:55:11 -0600137 default 64
138
139config VGA_BIOS_ID
140 string
Marshall Dawson12294d02019-11-25 07:21:18 -0700141 default "1002,9874" if AMD_APU_MERLINFALCON
Marc Jones1587dc82017-05-15 18:55:11 -0600142 default "1002,98e4"
143 help
144 The default VGA BIOS PCI vendor/device ID should be set to the
145 result of the map_oprom_vendev() function in northbridge.c.
146
147config VGA_BIOS_FILE
148 string
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700149 default "3rdparty/amd_blobs/stoneyridge/CarrizoGenericVbios.bin" if AMD_APU_MERLINFALCON
Marshall Dawsone1988f52019-11-25 11:15:35 -0700150 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_PRAIRIEFALCON
151 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_STONEYRIDGE
Marc Jones1587dc82017-05-15 18:55:11 -0600152
Marshall Dawson668dea02017-11-29 09:57:15 -0700153config S3_VGA_ROM_RUN
154 bool
155 default n
156
Marc Jones1587dc82017-05-15 18:55:11 -0600157config HEAP_SIZE
158 hex
159 default 0xc0000
160
Marc Jones24484842017-05-04 21:17:45 -0600161config EHCI_BAR
162 hex
163 default 0xfef00000
164
165config STONEYRIDGE_XHCI_ENABLE
166 bool "Enable Stoney Ridge XHCI Controller"
167 default y
168 help
169 The XHCI controller must be enabled and the XHCI firmware
170 must be added in order to have USB 3.0 support configured
171 by coreboot. The OS will be responsible for enabling the XHCI
Jonathan Neuschäfer45e6c822018-12-11 17:53:07 +0100172 controller if the XHCI firmware is available but the
Marc Jones24484842017-05-04 21:17:45 -0600173 XHCI controller is not enabled by coreboot.
174
175config STONEYRIDGE_XHCI_FWM
176 bool "Add xhci firmware"
177 default y
178 help
179 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
180
Marc Jones24484842017-05-04 21:17:45 -0600181config STONEYRIDGE_GEC_FWM
182 bool
183 default n
184 help
185 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
186 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
187
188config STONEYRIDGE_XHCI_FWM_FILE
189 string "XHCI firmware path and filename"
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700190 default "3rdparty/amd_blobs/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600191 depends on STONEYRIDGE_XHCI_FWM
192
Marc Jones24484842017-05-04 21:17:45 -0600193config STONEYRIDGE_GEC_FWM_FILE
194 string "GEC firmware path and filename"
195 depends on STONEYRIDGE_GEC_FWM
196
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800197config AMDFW_CONFIG_FILE
198 string
199 string "AMD PSP Firmware config file"
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800200 default "src/soc/amd/stoneyridge/fw_cz.cfg" if AMD_APU_MERLINFALCON
201 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_PRAIRIEFALCON
202 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -0600203
204config STONEYRIDGE_SATA_MODE
205 int "SATA Mode"
206 default 0
207 range 0 6
208 help
209 Select the mode in which SATA should be driven.
210 The default is NATIVE.
211 0: NATIVE mode does not require a ROM.
212 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
213 For example, seabios does not require the AHCI ROM.
214 3: LEGACY IDE
215 4: IDE to AHCI
216 5: AHCI7804: ROM Required, and AMD driver required in the OS.
217 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
218
219comment "NATIVE"
220 depends on STONEYRIDGE_SATA_MODE = 0
221
222comment "AHCI"
223 depends on STONEYRIDGE_SATA_MODE = 2
224
225comment "LEGACY IDE"
226 depends on STONEYRIDGE_SATA_MODE = 3
227
228comment "IDE to AHCI"
229 depends on STONEYRIDGE_SATA_MODE = 4
230
231comment "AHCI7804"
232 depends on STONEYRIDGE_SATA_MODE = 5
233
234comment "IDE to AHCI7804"
235 depends on STONEYRIDGE_SATA_MODE = 6
236
237if STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
238
239config AHCI_ROM_ID
240 string "AHCI device PCI IDs"
241 default "1022,7801" if STONEYRIDGE_SATA_MODE = 2
242 default "1022,7804" if STONEYRIDGE_SATA_MODE = 5
243
244endif # STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
245
246config STONEYRIDGE_LEGACY_FREE
247 bool "System is legacy free"
248 help
249 Select y if there is no keyboard controller in the system.
250 This sets variables in AGESA and ACPI.
251
Marc Jones24484842017-05-04 21:17:45 -0600252config SERIRQ_CONTINUOUS_MODE
253 bool
254 default n
255 help
256 Set this option to y for serial IRQ in continuous mode.
257 Otherwise it is in quiet mode.
258
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100259config CONSOLE_UART_BASE_ADDRESS
260 depends on CONSOLE_SERIAL
261 hex
262 default 0xfedc6000
263
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600264config SMM_TSEG_SIZE
265 hex
Felix Helde22eef72021-02-10 22:22:07 +0100266 default 0x800000 if HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600267 default 0x0
268
Marshall Dawsonb6172112017-09-13 17:47:31 -0600269config SMM_RESERVED_SIZE
270 hex
Marshall Dawsonfceac7e2018-05-18 14:40:53 -0600271 default 0x150000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600272
Raul E Rangel846b4942018-06-12 10:43:09 -0600273config SMM_MODULE_STACK_SIZE
274 hex
275 default 0x800
276
Marc Jonese013df92017-08-23 16:28:02 -0600277config ACPI_CPU_STRING
278 string
Matt DeVillierc08d4c52020-06-20 23:45:30 -0500279 default "\\_SB.P%03d"
Marc Jonese013df92017-08-23 16:28:02 -0600280
Marshall Dawson9a32c412018-09-04 13:29:12 -0600281config ACPI_BERT
282 bool "Build ACPI BERT Table"
283 default y
284 depends on HAVE_ACPI_TABLES
285 help
286 Report Machine Check errors identified in POST to the OS in an
287 ACPI Boot Error Record Table. This option reserves an 8MB region
288 for building the error structures.
289
Marshall Dawson25eb2bc2019-03-14 12:42:46 -0600290config USE_PSPSECUREOS
Martin Rothb617e322017-09-07 13:23:55 -0600291 bool "Include PSP SecureOS blobs in AMD firmware"
292 default y
293 help
294 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
295 in the amdfw section.
296
297 If unsure, answer 'y'
298
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700299config SOC_AMD_PSP_SELECTABLE_SMU_FW
300 bool
Marshall Dawson12294d02019-11-25 07:21:18 -0700301 default y if AMD_APU_STONEYRIDGE
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700302 help
303 Some ST implementations allow storing SMU firmware into cbfs and
304 calling the PSP to load the blobs at the proper time.
305
306 Merlin Falcon does not support it. If you are using 00670F00 SOC,
307 ask your AMD representative if it supports it or not.
308
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600309config SOC_AMD_SMU_FANLESS
310 bool
311 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
312 default n if SOC_AMD_SMU_NOTFANLESS
313 default y
314
315config SOC_AMD_SMU_FANNED
316 bool
317 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
318 default n
319 select SOC_AMD_SMU_NOTFANLESS
320
321config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
322 bool
323 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
324
Martin Roth30f9b952017-10-03 15:54:45 -0600325config AMDFW_OUTSIDE_CBFS
326 bool "The AMD firmware is outside CBFS"
327 default n
328 help
329 The AMDFW (PSP) is typically locatable in cbfs. Select this
330 option to manually attach the generated amdfw.rom outside of
331 cbfs. The location is selected by the FWM position.
332
Martin Roth6d8ef242017-09-08 14:39:35 -0600333config AMD_FWM_POSITION_INDEX
334 int "Firmware Directory Table location (0 to 5)"
335 range 0 5
336 default 0 if BOARD_ROMSIZE_KB_512
337 default 1 if BOARD_ROMSIZE_KB_1024
338 default 2 if BOARD_ROMSIZE_KB_2048
339 default 3 if BOARD_ROMSIZE_KB_4096
340 default 4 if BOARD_ROMSIZE_KB_8192
341 default 5 if BOARD_ROMSIZE_KB_16384
342 help
343 Typically this is calculated by the ROM size, but there may
344 be situations where you want to put the firmware directory
345 table in a different location.
346 0: 512 KB - 0xFFFA0000
347 1: 1 MB - 0xFFF20000
348 2: 2 MB - 0xFFE20000
349 3: 4 MB - 0xFFC20000
350 4: 8 MB - 0xFF820000
351 5: 16 MB - 0xFF020000
352
353comment "AMD Firmware Directory Table set to location for 512KB ROM"
354 depends on AMD_FWM_POSITION_INDEX = 0
355comment "AMD Firmware Directory Table set to location for 1MB ROM"
356 depends on AMD_FWM_POSITION_INDEX = 1
357comment "AMD Firmware Directory Table set to location for 2MB ROM"
358 depends on AMD_FWM_POSITION_INDEX = 2
359comment "AMD Firmware Directory Table set to location for 4MB ROM"
360 depends on AMD_FWM_POSITION_INDEX = 3
361comment "AMD Firmware Directory Table set to location for 8MB ROM"
362 depends on AMD_FWM_POSITION_INDEX = 4
363comment "AMD Firmware Directory Table set to location for 16MB ROM"
364 depends on AMD_FWM_POSITION_INDEX = 5
365
Marc Jones17431ab2017-11-16 15:26:00 -0700366config DIMM_SPD_SIZE
Marc Jones17431ab2017-11-16 15:26:00 -0700367 default 512 # DDR4
368
Marc Jones578a79d2017-12-06 16:27:04 -0700369config RO_REGION_ONLY
370 string
Matt DeVillier1e54a182022-10-04 16:34:21 -0500371 depends on VBOOT_SLOTS_RW_AB || VBOOT_SLOTS_RW_A
Marc Jones578a79d2017-12-06 16:27:04 -0700372 default "apu/amdfw"
373
Chris Ching6fc39d42017-12-20 16:06:03 -0700374config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
375 int
376 default 133
377
Felix Held27b295b2021-03-25 01:20:41 +0100378config DISABLE_KEYBOARD_RESET_PIN
379 bool
380 help
381 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
382 signal. When this pin is used as GPIO and the keyboard reset
383 functionality isn't disabled, configuring it as an output and driving
384 it as 0 will cause a reset.
385
Arthur Heymansdd7ec092022-05-23 16:06:06 +0200386config ACPI_BERT_SIZE
387 hex
388 default 0x100000 if ACPI_BERT
389 default 0x0
390 help
391 Specify the amount of DRAM reserved for gathering the data used to
392 generate the ACPI table.
393
Marshall Dawson68519222019-11-25 11:36:15 -0700394endif # SOC_AMD_STONEYRIDGE