blob: baf3f4e9df0663c047631981d7f2a97d5dc89e92 [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
Marshall Dawson68592c32017-11-06 10:56:52 -070012 select ACPI_AMD_HARDWARE_SLEEP_VALUES
Kyösti Mälkki3139c8d2020-06-28 16:33:33 +030013 select ACPI_SOC_NVS
Felix Heldc07c7c92020-12-04 18:50:53 +010014 select ARCH_ALL_STAGES_X86_32
15 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Aaron Durbin51e4c1a2018-01-24 17:42:51 -070016 select COLLECT_TIMESTAMPS_NO_TSC
Chris Ching6fc39d42017-12-20 16:06:03 -070017 select DRIVERS_I2C_DESIGNWARE
Marc Jones9156cac2017-07-12 11:05:38 -060018 select GENERIC_GPIO_LIB
Aaron Durbin51e4c1a2018-01-24 17:42:51 -070019 select GENERIC_UDELAY
Angel Ponsb74975e2020-07-13 01:12:57 +020020 select HAVE_CF9_RESET
Felix Heldc07c7c92020-12-04 18:50:53 +010021 select HAVE_SMI_HANDLER
Marc Jones24484842017-05-04 21:17:45 -060022 select HAVE_USBDEBUG_OPTIONS
Felix Heldc07c7c92020-12-04 18:50:53 +010023 select IOAPIC
Marshall Dawsona7bfbbe2017-09-13 17:24:53 -060024 select PARALLEL_MP
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
30 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
31 select SOC_AMD_COMMON_BLOCK_AOAC
32 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
33 select SOC_AMD_COMMON_BLOCK_CAR
34 select SOC_AMD_COMMON_BLOCK_HDA
35 select SOC_AMD_COMMON_BLOCK_IOMMU
36 select SOC_AMD_COMMON_BLOCK_LPC
37 select SOC_AMD_COMMON_BLOCK_PCI
38 select SOC_AMD_COMMON_BLOCK_PI
39 select SOC_AMD_COMMON_BLOCK_PSP_GEN1
40 select SOC_AMD_COMMON_BLOCK_S3
41 select SOC_AMD_COMMON_BLOCK_SATA
42 select SOC_AMD_COMMON_BLOCK_SMBUS
43 select SOC_AMD_COMMON_BLOCK_SMI
44 select SOC_AMD_COMMON_BLOCK_SPI
Felix Held91ef9252021-01-12 23:44:05 +010045 select SOC_AMD_COMMON_BLOCK_UART
Felix Heldc07c7c92020-12-04 18:50:53 +010046 select SSE2
47 select TSC_SYNC_LFENCE
48 select X86_AMD_FIXED_MTRRS
Marc Jones24484842017-05-04 21:17:45 -060049
Marshall Dawson12294d02019-11-25 07:21:18 -070050config AMD_APU_STONEYRIDGE
51 bool
52 help
53 AMD Stoney Ridge APU
54
Marshall Dawsone1988f52019-11-25 11:15:35 -070055config AMD_APU_PRAIRIEFALCON
56 bool
57 help
58 AMD Embedded Prairie Falcon APU
59
Marshall Dawson12294d02019-11-25 07:21:18 -070060config AMD_APU_MERLINFALCON
61 bool
62 help
Marshall Dawsone1988f52019-11-25 11:15:35 -070063 AMD Embedded Merlin Falcon APU
Marshall Dawson12294d02019-11-25 07:21:18 -070064
Marshall Dawson3ac0ab52019-11-24 19:03:56 -070065config AMD_APU_PKG_FP4
66 bool
67 help
68 AMD FP4 package
69
70config AMD_APU_PKG_FT4
71 bool
72 help
73 AMD FT4 package
74
75config AMD_SOC_PACKAGE
76 string
77 default "FP4" if AMD_APU_PKG_FP4
78 default "FT4" if AMD_APU_PKG_FT4
79
Marshall Dawsone7557de2017-06-09 16:35:14 -060080config VBOOT
Marshall Dawsone7557de2017-06-09 16:35:14 -060081 select VBOOT_SEPARATE_VERSTAGE
82 select VBOOT_STARTS_IN_BOOTBLOCK
Marc Jones4c887ea2018-04-25 16:43:18 -060083 select VBOOT_VBNV_CMOS
84 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Marshall Dawsone7557de2017-06-09 16:35:14 -060085
Marc Jones21cde8b2017-05-07 16:47:36 -060086# TODO: Sync these with definitions in PI vendorcode.
87# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
88# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
89
90config DCACHE_RAM_BASE
91 hex
92 default 0x30000
93
94config DCACHE_RAM_SIZE
95 hex
96 default 0x10000
97
Marshall Dawson9df969a2017-07-25 18:46:46 -060098config DCACHE_BSP_STACK_SIZE
Marshall Dawson9df969a2017-07-25 18:46:46 -060099 hex
100 default 0x4000
101 help
102 The amount of anticipated stack usage in CAR by bootblock and
103 other stages.
104
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600105config PRERAM_CBMEM_CONSOLE_SIZE
106 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700107 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600108 help
109 Increase this value if preram cbmem console is getting truncated
110
Marc Jones21cde8b2017-05-07 16:47:36 -0600111config CPU_ADDR_BITS
112 int
113 default 48
114
Marc Jones1587dc82017-05-15 18:55:11 -0600115config BOTTOMIO_POSITION
116 hex "Bottom of 32-bit IO space"
117 default 0xD0000000
118 help
119 If PCI peripherals with big BARs are connected to the system
120 the bottom of the IO must be decreased to allocate such
121 devices.
122
123 Declare the beginning of the 128MB-aligned MMIO region. This
124 option is useful when PCI peripherals requesting large address
125 ranges are present.
126
Marc Jones1587dc82017-05-15 18:55:11 -0600127config MMCONF_BASE_ADDRESS
Marc Jones1587dc82017-05-15 18:55:11 -0600128 default 0xF8000000
129
130config MMCONF_BUS_NUMBER
Marc Jones1587dc82017-05-15 18:55:11 -0600131 default 64
132
133config VGA_BIOS_ID
134 string
Marshall Dawson12294d02019-11-25 07:21:18 -0700135 default "1002,9874" if AMD_APU_MERLINFALCON
Marc Jones1587dc82017-05-15 18:55:11 -0600136 default "1002,98e4"
137 help
138 The default VGA BIOS PCI vendor/device ID should be set to the
139 result of the map_oprom_vendev() function in northbridge.c.
140
141config VGA_BIOS_FILE
142 string
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700143 default "3rdparty/amd_blobs/stoneyridge/CarrizoGenericVbios.bin" if AMD_APU_MERLINFALCON
Marshall Dawsone1988f52019-11-25 11:15:35 -0700144 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_PRAIRIEFALCON
145 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_STONEYRIDGE
Marc Jones1587dc82017-05-15 18:55:11 -0600146
Marshall Dawson668dea02017-11-29 09:57:15 -0700147config S3_VGA_ROM_RUN
148 bool
149 default n
150
Marc Jones1587dc82017-05-15 18:55:11 -0600151config HEAP_SIZE
152 hex
153 default 0xc0000
154
Marc Jones24484842017-05-04 21:17:45 -0600155config EHCI_BAR
156 hex
157 default 0xfef00000
158
159config STONEYRIDGE_XHCI_ENABLE
160 bool "Enable Stoney Ridge XHCI Controller"
161 default y
162 help
163 The XHCI controller must be enabled and the XHCI firmware
164 must be added in order to have USB 3.0 support configured
165 by coreboot. The OS will be responsible for enabling the XHCI
Jonathan Neuschäfer45e6c822018-12-11 17:53:07 +0100166 controller if the XHCI firmware is available but the
Marc Jones24484842017-05-04 21:17:45 -0600167 XHCI controller is not enabled by coreboot.
168
169config STONEYRIDGE_XHCI_FWM
170 bool "Add xhci firmware"
171 default y
172 help
173 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
174
Marc Jones24484842017-05-04 21:17:45 -0600175config STONEYRIDGE_GEC_FWM
176 bool
177 default n
178 help
179 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
180 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
181
182config STONEYRIDGE_XHCI_FWM_FILE
183 string "XHCI firmware path and filename"
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700184 default "3rdparty/amd_blobs/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600185 depends on STONEYRIDGE_XHCI_FWM
186
Marc Jones24484842017-05-04 21:17:45 -0600187config STONEYRIDGE_GEC_FWM_FILE
188 string "GEC firmware path and filename"
189 depends on STONEYRIDGE_GEC_FWM
190
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800191config AMDFW_CONFIG_FILE
192 string
193 string "AMD PSP Firmware config file"
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800194 default "src/soc/amd/stoneyridge/fw_cz.cfg" if AMD_APU_MERLINFALCON
195 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_PRAIRIEFALCON
196 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -0600197
198config STONEYRIDGE_SATA_MODE
199 int "SATA Mode"
200 default 0
201 range 0 6
202 help
203 Select the mode in which SATA should be driven.
204 The default is NATIVE.
205 0: NATIVE mode does not require a ROM.
206 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
207 For example, seabios does not require the AHCI ROM.
208 3: LEGACY IDE
209 4: IDE to AHCI
210 5: AHCI7804: ROM Required, and AMD driver required in the OS.
211 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
212
213comment "NATIVE"
214 depends on STONEYRIDGE_SATA_MODE = 0
215
216comment "AHCI"
217 depends on STONEYRIDGE_SATA_MODE = 2
218
219comment "LEGACY IDE"
220 depends on STONEYRIDGE_SATA_MODE = 3
221
222comment "IDE to AHCI"
223 depends on STONEYRIDGE_SATA_MODE = 4
224
225comment "AHCI7804"
226 depends on STONEYRIDGE_SATA_MODE = 5
227
228comment "IDE to AHCI7804"
229 depends on STONEYRIDGE_SATA_MODE = 6
230
231if STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
232
233config AHCI_ROM_ID
234 string "AHCI device PCI IDs"
235 default "1022,7801" if STONEYRIDGE_SATA_MODE = 2
236 default "1022,7804" if STONEYRIDGE_SATA_MODE = 5
237
238endif # STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
239
240config 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
253config STONEYRIDGE_ACPI_IO_BASE
254 hex
255 default 0x400
256 help
257 Base address for the ACPI registers.
258 This value must match the hardcoded value of AGESA.
259
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100260config CONSOLE_UART_BASE_ADDRESS
261 depends on CONSOLE_SERIAL
262 hex
263 default 0xfedc6000
264
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600265config SMM_TSEG_SIZE
266 hex
Marshall Dawson0801b332017-08-25 15:29:45 -0600267 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600268 default 0x0
269
Marshall Dawsonb6172112017-09-13 17:47:31 -0600270config SMM_RESERVED_SIZE
271 hex
Marshall Dawsonfceac7e2018-05-18 14:40:53 -0600272 default 0x150000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600273
Raul E Rangel846b4942018-06-12 10:43:09 -0600274config SMM_MODULE_STACK_SIZE
275 hex
276 default 0x800
277
Marc Jonese013df92017-08-23 16:28:02 -0600278config ACPI_CPU_STRING
279 string
Matt DeVillierc08d4c52020-06-20 23:45:30 -0500280 default "\\_SB.P%03d"
Marc Jonese013df92017-08-23 16:28:02 -0600281
Marshall Dawson9a32c412018-09-04 13:29:12 -0600282config ACPI_BERT
283 bool "Build ACPI BERT Table"
284 default y
285 depends on HAVE_ACPI_TABLES
286 help
287 Report Machine Check errors identified in POST to the OS in an
288 ACPI Boot Error Record Table. This option reserves an 8MB region
289 for building the error structures.
290
Marshall Dawson25eb2bc2019-03-14 12:42:46 -0600291config USE_PSPSECUREOS
Martin Rothb617e322017-09-07 13:23:55 -0600292 bool "Include PSP SecureOS blobs in AMD firmware"
293 default y
294 help
295 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
296 in the amdfw section.
297
298 If unsure, answer 'y'
299
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700300config SOC_AMD_PSP_SELECTABLE_SMU_FW
301 bool
Marshall Dawson12294d02019-11-25 07:21:18 -0700302 default y if AMD_APU_STONEYRIDGE
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700303 help
304 Some ST implementations allow storing SMU firmware into cbfs and
305 calling the PSP to load the blobs at the proper time.
306
307 Merlin Falcon does not support it. If you are using 00670F00 SOC,
308 ask your AMD representative if it supports it or not.
309
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600310config SOC_AMD_SMU_FANLESS
311 bool
312 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
313 default n if SOC_AMD_SMU_NOTFANLESS
314 default y
315
316config SOC_AMD_SMU_FANNED
317 bool
318 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
319 default n
320 select SOC_AMD_SMU_NOTFANLESS
321
322config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
323 bool
324 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
325
Martin Roth30f9b952017-10-03 15:54:45 -0600326config AMDFW_OUTSIDE_CBFS
327 bool "The AMD firmware is outside CBFS"
328 default n
329 help
330 The AMDFW (PSP) is typically locatable in cbfs. Select this
331 option to manually attach the generated amdfw.rom outside of
332 cbfs. The location is selected by the FWM position.
333
Martin Roth6d8ef242017-09-08 14:39:35 -0600334config AMD_FWM_POSITION_INDEX
335 int "Firmware Directory Table location (0 to 5)"
336 range 0 5
337 default 0 if BOARD_ROMSIZE_KB_512
338 default 1 if BOARD_ROMSIZE_KB_1024
339 default 2 if BOARD_ROMSIZE_KB_2048
340 default 3 if BOARD_ROMSIZE_KB_4096
341 default 4 if BOARD_ROMSIZE_KB_8192
342 default 5 if BOARD_ROMSIZE_KB_16384
343 help
344 Typically this is calculated by the ROM size, but there may
345 be situations where you want to put the firmware directory
346 table in a different location.
347 0: 512 KB - 0xFFFA0000
348 1: 1 MB - 0xFFF20000
349 2: 2 MB - 0xFFE20000
350 3: 4 MB - 0xFFC20000
351 4: 8 MB - 0xFF820000
352 5: 16 MB - 0xFF020000
353
354comment "AMD Firmware Directory Table set to location for 512KB ROM"
355 depends on AMD_FWM_POSITION_INDEX = 0
356comment "AMD Firmware Directory Table set to location for 1MB ROM"
357 depends on AMD_FWM_POSITION_INDEX = 1
358comment "AMD Firmware Directory Table set to location for 2MB ROM"
359 depends on AMD_FWM_POSITION_INDEX = 2
360comment "AMD Firmware Directory Table set to location for 4MB ROM"
361 depends on AMD_FWM_POSITION_INDEX = 3
362comment "AMD Firmware Directory Table set to location for 8MB ROM"
363 depends on AMD_FWM_POSITION_INDEX = 4
364comment "AMD Firmware Directory Table set to location for 16MB ROM"
365 depends on AMD_FWM_POSITION_INDEX = 5
366
Marc Jones17431ab2017-11-16 15:26:00 -0700367config DIMM_SPD_SIZE
368 int
369 default 512 # DDR4
370
Marc Jones578a79d2017-12-06 16:27:04 -0700371config RO_REGION_ONLY
372 string
373 depends on CHROMEOS
374 default "apu/amdfw"
375
Chris Ching6fc39d42017-12-20 16:06:03 -0700376config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
377 int
378 default 133
379
Richard Spiegel6a389142018-03-05 14:28:10 -0700380config MAINBOARD_POWER_RESTORE
381 def_bool n
382 help
383 This option determines what state to go to once power is restored
384 after having been lost in S0. Select this option to automatically
385 return to S0. Otherwise the system will remain in S5 once power
386 is restored.
387
Marshall Dawson68519222019-11-25 11:36:15 -0700388endif # SOC_AMD_STONEYRIDGE