blob: 12d66c45a235e0dc92ac5cfced9019e1a293fc81 [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 Heldc07c7c92020-12-04 18:50:53 +010024 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held31364242021-07-23 19:18:02 +020025 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_BIOSRAM
Felix Heldc07c7c92020-12-04 18:50:53 +010026 select SOC_AMD_COMMON_BLOCK_AOAC
27 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
28 select SOC_AMD_COMMON_BLOCK_CAR
29 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 Heldc07c7c92020-12-04 18:50:53 +010041 select SOC_AMD_COMMON_BLOCK_SPI
Felix Held91ef9252021-01-12 23:44:05 +010042 select SOC_AMD_COMMON_BLOCK_UART
Felix Heldc07c7c92020-12-04 18:50:53 +010043 select SSE2
44 select TSC_SYNC_LFENCE
Martin Rothbcb610a2022-10-29 13:31:54 -060045 select USE_DDR4
Felix Heldc07c7c92020-12-04 18:50:53 +010046 select X86_AMD_FIXED_MTRRS
Elyes Haouas3cd06cc2023-01-05 07:42:24 +010047 help
48 AMD support for SOCs in Family 15h Models 60h-6Fh and Models 70h-7Fh.
49
50if SOC_AMD_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -060051
Marshall Dawson12294d02019-11-25 07:21:18 -070052config AMD_APU_STONEYRIDGE
53 bool
54 help
55 AMD Stoney Ridge APU
56
Marshall Dawsone1988f52019-11-25 11:15:35 -070057config AMD_APU_PRAIRIEFALCON
58 bool
59 help
60 AMD Embedded Prairie Falcon APU
61
Marshall Dawson12294d02019-11-25 07:21:18 -070062config AMD_APU_MERLINFALCON
63 bool
64 help
Marshall Dawsone1988f52019-11-25 11:15:35 -070065 AMD Embedded Merlin Falcon APU
Marshall Dawson12294d02019-11-25 07:21:18 -070066
Marshall Dawson3ac0ab52019-11-24 19:03:56 -070067config AMD_APU_PKG_FP4
68 bool
69 help
70 AMD FP4 package
71
72config AMD_APU_PKG_FT4
73 bool
74 help
75 AMD FT4 package
76
77config AMD_SOC_PACKAGE
78 string
79 default "FP4" if AMD_APU_PKG_FP4
80 default "FT4" if AMD_APU_PKG_FT4
81
Felix Heldb68e2242022-10-12 18:44:06 +020082config CHIPSET_DEVICETREE
83 string
84 default "soc/amd/stoneyridge/chipset_cz.cb" if AMD_APU_MERLINFALCON
85 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_PRAIRIEFALCON
86 default "soc/amd/stoneyridge/chipset_st.cb" if AMD_APU_STONEYRIDGE
87
Marshall Dawsone7557de2017-06-09 16:35:14 -060088config VBOOT
Marshall Dawsone7557de2017-06-09 16:35:14 -060089 select VBOOT_STARTS_IN_BOOTBLOCK
Marc Jones4c887ea2018-04-25 16:43:18 -060090 select VBOOT_VBNV_CMOS
91 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Marshall Dawsone7557de2017-06-09 16:35:14 -060092
Marc Jones21cde8b2017-05-07 16:47:36 -060093# TODO: Sync these with definitions in PI vendorcode.
94# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
95# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
96
97config DCACHE_RAM_BASE
98 hex
99 default 0x30000
100
101config DCACHE_RAM_SIZE
102 hex
103 default 0x10000
104
Marshall Dawson9df969a2017-07-25 18:46:46 -0600105config DCACHE_BSP_STACK_SIZE
Marshall Dawson9df969a2017-07-25 18:46:46 -0600106 hex
107 default 0x4000
108 help
109 The amount of anticipated stack usage in CAR by bootblock and
110 other stages.
111
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600112config PRERAM_CBMEM_CONSOLE_SIZE
113 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700114 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600115 help
116 Increase this value if preram cbmem console is getting truncated
117
Marc Jones1587dc82017-05-15 18:55:11 -0600118config BOTTOMIO_POSITION
119 hex "Bottom of 32-bit IO space"
120 default 0xD0000000
121 help
122 If PCI peripherals with big BARs are connected to the system
123 the bottom of the IO must be decreased to allocate such
124 devices.
125
126 Declare the beginning of the 128MB-aligned MMIO region. This
127 option is useful when PCI peripherals requesting large address
128 ranges are present.
129
Shelley Chen4e9bb332021-10-20 15:43:45 -0700130config ECAM_MMCONF_BASE_ADDRESS
Marc Jones1587dc82017-05-15 18:55:11 -0600131 default 0xF8000000
132
Shelley Chen4e9bb332021-10-20 15:43:45 -0700133config ECAM_MMCONF_BUS_NUMBER
Marc Jones1587dc82017-05-15 18:55:11 -0600134 default 64
135
136config VGA_BIOS_ID
137 string
Marshall Dawson12294d02019-11-25 07:21:18 -0700138 default "1002,9874" if AMD_APU_MERLINFALCON
Marc Jones1587dc82017-05-15 18:55:11 -0600139 default "1002,98e4"
140 help
141 The default VGA BIOS PCI vendor/device ID should be set to the
142 result of the map_oprom_vendev() function in northbridge.c.
143
144config VGA_BIOS_FILE
145 string
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700146 default "3rdparty/amd_blobs/stoneyridge/CarrizoGenericVbios.bin" if AMD_APU_MERLINFALCON
Marshall Dawsone1988f52019-11-25 11:15:35 -0700147 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_PRAIRIEFALCON
148 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_STONEYRIDGE
Marc Jones1587dc82017-05-15 18:55:11 -0600149
Marshall Dawson668dea02017-11-29 09:57:15 -0700150config S3_VGA_ROM_RUN
151 bool
152 default n
153
Marc Jones1587dc82017-05-15 18:55:11 -0600154config HEAP_SIZE
155 hex
156 default 0xc0000
157
Marc Jones24484842017-05-04 21:17:45 -0600158config EHCI_BAR
159 hex
160 default 0xfef00000
161
162config STONEYRIDGE_XHCI_ENABLE
163 bool "Enable Stoney Ridge XHCI Controller"
164 default y
165 help
166 The XHCI controller must be enabled and the XHCI firmware
167 must be added in order to have USB 3.0 support configured
168 by coreboot. The OS will be responsible for enabling the XHCI
Jonathan Neuschäfer45e6c822018-12-11 17:53:07 +0100169 controller if the XHCI firmware is available but the
Marc Jones24484842017-05-04 21:17:45 -0600170 XHCI controller is not enabled by coreboot.
171
172config STONEYRIDGE_XHCI_FWM
173 bool "Add xhci firmware"
174 default y
175 help
176 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
177
Marc Jones24484842017-05-04 21:17:45 -0600178config STONEYRIDGE_GEC_FWM
179 bool
180 default n
181 help
182 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
183 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
184
185config STONEYRIDGE_XHCI_FWM_FILE
186 string "XHCI firmware path and filename"
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700187 default "3rdparty/amd_blobs/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600188 depends on STONEYRIDGE_XHCI_FWM
189
Marc Jones24484842017-05-04 21:17:45 -0600190config STONEYRIDGE_GEC_FWM_FILE
191 string "GEC firmware path and filename"
192 depends on STONEYRIDGE_GEC_FWM
193
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800194config AMDFW_CONFIG_FILE
195 string
196 string "AMD PSP Firmware config file"
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800197 default "src/soc/amd/stoneyridge/fw_cz.cfg" if AMD_APU_MERLINFALCON
198 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_PRAIRIEFALCON
199 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -0600200
201config STONEYRIDGE_SATA_MODE
202 int "SATA Mode"
203 default 0
204 range 0 6
205 help
206 Select the mode in which SATA should be driven.
207 The default is NATIVE.
208 0: NATIVE mode does not require a ROM.
209 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
210 For example, seabios does not require the AHCI ROM.
211 3: LEGACY IDE
212 4: IDE to AHCI
213 5: AHCI7804: ROM Required, and AMD driver required in the OS.
214 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
215
216comment "NATIVE"
217 depends on STONEYRIDGE_SATA_MODE = 0
218
219comment "AHCI"
220 depends on STONEYRIDGE_SATA_MODE = 2
221
222comment "LEGACY IDE"
223 depends on STONEYRIDGE_SATA_MODE = 3
224
225comment "IDE to AHCI"
226 depends on STONEYRIDGE_SATA_MODE = 4
227
228comment "AHCI7804"
229 depends on STONEYRIDGE_SATA_MODE = 5
230
231comment "IDE to AHCI7804"
232 depends on STONEYRIDGE_SATA_MODE = 6
233
234if STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
235
236config AHCI_ROM_ID
237 string "AHCI device PCI IDs"
238 default "1022,7801" if STONEYRIDGE_SATA_MODE = 2
239 default "1022,7804" if STONEYRIDGE_SATA_MODE = 5
240
241endif # STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
242
243config STONEYRIDGE_LEGACY_FREE
244 bool "System is legacy free"
245 help
246 Select y if there is no keyboard controller in the system.
247 This sets variables in AGESA and ACPI.
248
Marc Jones24484842017-05-04 21:17:45 -0600249config SERIRQ_CONTINUOUS_MODE
250 bool
251 default n
252 help
253 Set this option to y for serial IRQ in continuous mode.
254 Otherwise it is in quiet mode.
255
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100256config CONSOLE_UART_BASE_ADDRESS
257 depends on CONSOLE_SERIAL
258 hex
259 default 0xfedc6000
260
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600261config SMM_TSEG_SIZE
262 hex
Felix Helde22eef72021-02-10 22:22:07 +0100263 default 0x800000 if HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600264 default 0x0
265
Marshall Dawsonb6172112017-09-13 17:47:31 -0600266config SMM_RESERVED_SIZE
267 hex
Marshall Dawsonfceac7e2018-05-18 14:40:53 -0600268 default 0x150000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600269
Raul E Rangel846b4942018-06-12 10:43:09 -0600270config SMM_MODULE_STACK_SIZE
271 hex
272 default 0x800
273
Marc Jonese013df92017-08-23 16:28:02 -0600274config ACPI_CPU_STRING
275 string
Matt DeVillierc08d4c52020-06-20 23:45:30 -0500276 default "\\_SB.P%03d"
Marc Jonese013df92017-08-23 16:28:02 -0600277
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
Martin Roth6d8ef242017-09-08 14:39:35 -0600330config AMD_FWM_POSITION_INDEX
331 int "Firmware Directory Table location (0 to 5)"
332 range 0 5
333 default 0 if BOARD_ROMSIZE_KB_512
334 default 1 if BOARD_ROMSIZE_KB_1024
335 default 2 if BOARD_ROMSIZE_KB_2048
336 default 3 if BOARD_ROMSIZE_KB_4096
337 default 4 if BOARD_ROMSIZE_KB_8192
338 default 5 if BOARD_ROMSIZE_KB_16384
339 help
340 Typically this is calculated by the ROM size, but there may
341 be situations where you want to put the firmware directory
342 table in a different location.
343 0: 512 KB - 0xFFFA0000
344 1: 1 MB - 0xFFF20000
345 2: 2 MB - 0xFFE20000
346 3: 4 MB - 0xFFC20000
347 4: 8 MB - 0xFF820000
348 5: 16 MB - 0xFF020000
349
350comment "AMD Firmware Directory Table set to location for 512KB ROM"
351 depends on AMD_FWM_POSITION_INDEX = 0
352comment "AMD Firmware Directory Table set to location for 1MB ROM"
353 depends on AMD_FWM_POSITION_INDEX = 1
354comment "AMD Firmware Directory Table set to location for 2MB ROM"
355 depends on AMD_FWM_POSITION_INDEX = 2
356comment "AMD Firmware Directory Table set to location for 4MB ROM"
357 depends on AMD_FWM_POSITION_INDEX = 3
358comment "AMD Firmware Directory Table set to location for 8MB ROM"
359 depends on AMD_FWM_POSITION_INDEX = 4
360comment "AMD Firmware Directory Table set to location for 16MB ROM"
361 depends on AMD_FWM_POSITION_INDEX = 5
362
Marc Jones17431ab2017-11-16 15:26:00 -0700363config DIMM_SPD_SIZE
Marc Jones17431ab2017-11-16 15:26:00 -0700364 default 512 # DDR4
365
Marc Jones578a79d2017-12-06 16:27:04 -0700366config RO_REGION_ONLY
367 string
Matt DeVillier1e54a182022-10-04 16:34:21 -0500368 depends on VBOOT_SLOTS_RW_AB || VBOOT_SLOTS_RW_A
Marc Jones578a79d2017-12-06 16:27:04 -0700369 default "apu/amdfw"
370
Chris Ching6fc39d42017-12-20 16:06:03 -0700371config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
372 int
373 default 133
374
Felix Held27b295b2021-03-25 01:20:41 +0100375config DISABLE_KEYBOARD_RESET_PIN
376 bool
377 help
378 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
379 signal. When this pin is used as GPIO and the keyboard reset
380 functionality isn't disabled, configuring it as an output and driving
381 it as 0 will cause a reset.
382
Arthur Heymansdd7ec092022-05-23 16:06:06 +0200383config ACPI_BERT_SIZE
384 hex
385 default 0x100000 if ACPI_BERT
386 default 0x0
387 help
388 Specify the amount of DRAM reserved for gathering the data used to
389 generate the ACPI table.
390
Marshall Dawson68519222019-11-25 11:36:15 -0700391endif # SOC_AMD_STONEYRIDGE