blob: 50e66b0a79a6101b9e437fce10e30bd956acdb5d [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
Chris Ching6fc39d42017-12-20 16:06:03 -070016 select DRIVERS_I2C_DESIGNWARE
Marc Jones9156cac2017-07-12 11:05:38 -060017 select GENERIC_GPIO_LIB
Aaron Durbin51e4c1a2018-01-24 17:42:51 -070018 select GENERIC_UDELAY
Angel Ponsb74975e2020-07-13 01:12:57 +020019 select HAVE_CF9_RESET
Felix Heldc07c7c92020-12-04 18:50:53 +010020 select HAVE_SMI_HANDLER
Marc Jones24484842017-05-04 21:17:45 -060021 select HAVE_USBDEBUG_OPTIONS
Marc Jones33eef132017-10-26 16:50:42 -060022 select PARALLEL_MP_AP_WORK
Marc Jones17e85ad2017-12-20 16:21:25 -070023 select RTC
Felix Heldc07c7c92020-12-04 18:50:53 +010024 select SOC_AMD_PI
25 select SOC_AMD_COMMON
26 select SOC_AMD_COMMON_BLOCK_ACPI
27 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Felix Held31364242021-07-23 19:18:02 +020028 select SOC_AMD_COMMON_BLOCK_ACPIMMIO_BIOSRAM
Felix Heldc07c7c92020-12-04 18:50:53 +010029 select SOC_AMD_COMMON_BLOCK_AOAC
30 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
31 select SOC_AMD_COMMON_BLOCK_CAR
32 select SOC_AMD_COMMON_BLOCK_HDA
Karthikeyan Ramasubramanian0dbea482021-03-08 23:23:50 -070033 select SOC_AMD_COMMON_BLOCK_I2C
Felix Heldc07c7c92020-12-04 18:50:53 +010034 select SOC_AMD_COMMON_BLOCK_IOMMU
35 select SOC_AMD_COMMON_BLOCK_LPC
Felix Held1e1d4902021-07-14 00:05:39 +020036 select SOC_AMD_COMMON_BLOCK_MCA
Felix Heldc07c7c92020-12-04 18:50:53 +010037 select SOC_AMD_COMMON_BLOCK_PCI
Felix Heldc0538d42021-04-13 19:56:10 +020038 select SOC_AMD_COMMON_BLOCK_PM
Felix Heldc07c7c92020-12-04 18:50:53 +010039 select SOC_AMD_COMMON_BLOCK_PSP_GEN1
Felix Heldc07c7c92020-12-04 18:50:53 +010040 select SOC_AMD_COMMON_BLOCK_SATA
41 select SOC_AMD_COMMON_BLOCK_SMBUS
42 select SOC_AMD_COMMON_BLOCK_SMI
Felix Heldbc134812021-02-10 02:26:10 +010043 select SOC_AMD_COMMON_BLOCK_SMM
Felix Heldc07c7c92020-12-04 18:50:53 +010044 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 Jones1587dc82017-05-15 18:55:11 -0600111config BOTTOMIO_POSITION
112 hex "Bottom of 32-bit IO space"
113 default 0xD0000000
114 help
115 If PCI peripherals with big BARs are connected to the system
116 the bottom of the IO must be decreased to allocate such
117 devices.
118
119 Declare the beginning of the 128MB-aligned MMIO region. This
120 option is useful when PCI peripherals requesting large address
121 ranges are present.
122
Shelley Chen4e9bb332021-10-20 15:43:45 -0700123config ECAM_MMCONF_BASE_ADDRESS
Marc Jones1587dc82017-05-15 18:55:11 -0600124 default 0xF8000000
125
Shelley Chen4e9bb332021-10-20 15:43:45 -0700126config ECAM_MMCONF_BUS_NUMBER
Marc Jones1587dc82017-05-15 18:55:11 -0600127 default 64
128
129config VGA_BIOS_ID
130 string
Marshall Dawson12294d02019-11-25 07:21:18 -0700131 default "1002,9874" if AMD_APU_MERLINFALCON
Marc Jones1587dc82017-05-15 18:55:11 -0600132 default "1002,98e4"
133 help
134 The default VGA BIOS PCI vendor/device ID should be set to the
135 result of the map_oprom_vendev() function in northbridge.c.
136
137config VGA_BIOS_FILE
138 string
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700139 default "3rdparty/amd_blobs/stoneyridge/CarrizoGenericVbios.bin" if AMD_APU_MERLINFALCON
Marshall Dawsone1988f52019-11-25 11:15:35 -0700140 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_PRAIRIEFALCON
141 default "3rdparty/amd_blobs/stoneyridge/StoneyGenericVbios.bin" if AMD_APU_STONEYRIDGE
Marc Jones1587dc82017-05-15 18:55:11 -0600142
Marshall Dawson668dea02017-11-29 09:57:15 -0700143config S3_VGA_ROM_RUN
144 bool
145 default n
146
Marc Jones1587dc82017-05-15 18:55:11 -0600147config HEAP_SIZE
148 hex
149 default 0xc0000
150
Marc Jones24484842017-05-04 21:17:45 -0600151config EHCI_BAR
152 hex
153 default 0xfef00000
154
155config STONEYRIDGE_XHCI_ENABLE
156 bool "Enable Stoney Ridge XHCI Controller"
157 default y
158 help
159 The XHCI controller must be enabled and the XHCI firmware
160 must be added in order to have USB 3.0 support configured
161 by coreboot. The OS will be responsible for enabling the XHCI
Jonathan Neuschäfer45e6c822018-12-11 17:53:07 +0100162 controller if the XHCI firmware is available but the
Marc Jones24484842017-05-04 21:17:45 -0600163 XHCI controller is not enabled by coreboot.
164
165config STONEYRIDGE_XHCI_FWM
166 bool "Add xhci firmware"
167 default y
168 help
169 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
170
Marc Jones24484842017-05-04 21:17:45 -0600171config STONEYRIDGE_GEC_FWM
172 bool
173 default n
174 help
175 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
176 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
177
178config STONEYRIDGE_XHCI_FWM_FILE
179 string "XHCI firmware path and filename"
Marshall Dawson7987c1c2019-11-25 08:29:28 -0700180 default "3rdparty/amd_blobs/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600181 depends on STONEYRIDGE_XHCI_FWM
182
Marc Jones24484842017-05-04 21:17:45 -0600183config STONEYRIDGE_GEC_FWM_FILE
184 string "GEC firmware path and filename"
185 depends on STONEYRIDGE_GEC_FWM
186
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800187config AMDFW_CONFIG_FILE
188 string
189 string "AMD PSP Firmware config file"
Zheng Baoc5e28ab2020-10-28 11:38:09 +0800190 default "src/soc/amd/stoneyridge/fw_cz.cfg" if AMD_APU_MERLINFALCON
191 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_PRAIRIEFALCON
192 default "src/soc/amd/stoneyridge/fw_st.cfg" if AMD_APU_STONEYRIDGE
Marc Jones24484842017-05-04 21:17:45 -0600193
194config STONEYRIDGE_SATA_MODE
195 int "SATA Mode"
196 default 0
197 range 0 6
198 help
199 Select the mode in which SATA should be driven.
200 The default is NATIVE.
201 0: NATIVE mode does not require a ROM.
202 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
203 For example, seabios does not require the AHCI ROM.
204 3: LEGACY IDE
205 4: IDE to AHCI
206 5: AHCI7804: ROM Required, and AMD driver required in the OS.
207 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
208
209comment "NATIVE"
210 depends on STONEYRIDGE_SATA_MODE = 0
211
212comment "AHCI"
213 depends on STONEYRIDGE_SATA_MODE = 2
214
215comment "LEGACY IDE"
216 depends on STONEYRIDGE_SATA_MODE = 3
217
218comment "IDE to AHCI"
219 depends on STONEYRIDGE_SATA_MODE = 4
220
221comment "AHCI7804"
222 depends on STONEYRIDGE_SATA_MODE = 5
223
224comment "IDE to AHCI7804"
225 depends on STONEYRIDGE_SATA_MODE = 6
226
227if STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
228
229config AHCI_ROM_ID
230 string "AHCI device PCI IDs"
231 default "1022,7801" if STONEYRIDGE_SATA_MODE = 2
232 default "1022,7804" if STONEYRIDGE_SATA_MODE = 5
233
234endif # STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
235
236config STONEYRIDGE_LEGACY_FREE
237 bool "System is legacy free"
238 help
239 Select y if there is no keyboard controller in the system.
240 This sets variables in AGESA and ACPI.
241
Marc Jones24484842017-05-04 21:17:45 -0600242config SERIRQ_CONTINUOUS_MODE
243 bool
244 default n
245 help
246 Set this option to y for serial IRQ in continuous mode.
247 Otherwise it is in quiet mode.
248
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100249config CONSOLE_UART_BASE_ADDRESS
250 depends on CONSOLE_SERIAL
251 hex
252 default 0xfedc6000
253
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600254config SMM_TSEG_SIZE
255 hex
Felix Helde22eef72021-02-10 22:22:07 +0100256 default 0x800000 if HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600257 default 0x0
258
Marshall Dawsonb6172112017-09-13 17:47:31 -0600259config SMM_RESERVED_SIZE
260 hex
Marshall Dawsonfceac7e2018-05-18 14:40:53 -0600261 default 0x150000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600262
Raul E Rangel846b4942018-06-12 10:43:09 -0600263config SMM_MODULE_STACK_SIZE
264 hex
265 default 0x800
266
Marc Jonese013df92017-08-23 16:28:02 -0600267config ACPI_CPU_STRING
268 string
Matt DeVillierc08d4c52020-06-20 23:45:30 -0500269 default "\\_SB.P%03d"
Marc Jonese013df92017-08-23 16:28:02 -0600270
Marshall Dawson9a32c412018-09-04 13:29:12 -0600271config ACPI_BERT
272 bool "Build ACPI BERT Table"
273 default y
274 depends on HAVE_ACPI_TABLES
275 help
276 Report Machine Check errors identified in POST to the OS in an
277 ACPI Boot Error Record Table. This option reserves an 8MB region
278 for building the error structures.
279
Marshall Dawson25eb2bc2019-03-14 12:42:46 -0600280config USE_PSPSECUREOS
Martin Rothb617e322017-09-07 13:23:55 -0600281 bool "Include PSP SecureOS blobs in AMD firmware"
282 default y
283 help
284 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
285 in the amdfw section.
286
287 If unsure, answer 'y'
288
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700289config SOC_AMD_PSP_SELECTABLE_SMU_FW
290 bool
Marshall Dawson12294d02019-11-25 07:21:18 -0700291 default y if AMD_APU_STONEYRIDGE
Richard Spiegel1bc578a2019-06-18 18:19:47 -0700292 help
293 Some ST implementations allow storing SMU firmware into cbfs and
294 calling the PSP to load the blobs at the proper time.
295
296 Merlin Falcon does not support it. If you are using 00670F00 SOC,
297 ask your AMD representative if it supports it or not.
298
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600299config SOC_AMD_SMU_FANLESS
300 bool
301 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
302 default n if SOC_AMD_SMU_NOTFANLESS
303 default y
304
305config SOC_AMD_SMU_FANNED
306 bool
307 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
308 default n
309 select SOC_AMD_SMU_NOTFANLESS
310
311config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
312 bool
313 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
314
Martin Roth30f9b952017-10-03 15:54:45 -0600315config AMDFW_OUTSIDE_CBFS
316 bool "The AMD firmware is outside CBFS"
317 default n
318 help
319 The AMDFW (PSP) is typically locatable in cbfs. Select this
320 option to manually attach the generated amdfw.rom outside of
321 cbfs. The location is selected by the FWM position.
322
Martin Roth6d8ef242017-09-08 14:39:35 -0600323config AMD_FWM_POSITION_INDEX
324 int "Firmware Directory Table location (0 to 5)"
325 range 0 5
326 default 0 if BOARD_ROMSIZE_KB_512
327 default 1 if BOARD_ROMSIZE_KB_1024
328 default 2 if BOARD_ROMSIZE_KB_2048
329 default 3 if BOARD_ROMSIZE_KB_4096
330 default 4 if BOARD_ROMSIZE_KB_8192
331 default 5 if BOARD_ROMSIZE_KB_16384
332 help
333 Typically this is calculated by the ROM size, but there may
334 be situations where you want to put the firmware directory
335 table in a different location.
336 0: 512 KB - 0xFFFA0000
337 1: 1 MB - 0xFFF20000
338 2: 2 MB - 0xFFE20000
339 3: 4 MB - 0xFFC20000
340 4: 8 MB - 0xFF820000
341 5: 16 MB - 0xFF020000
342
343comment "AMD Firmware Directory Table set to location for 512KB ROM"
344 depends on AMD_FWM_POSITION_INDEX = 0
345comment "AMD Firmware Directory Table set to location for 1MB ROM"
346 depends on AMD_FWM_POSITION_INDEX = 1
347comment "AMD Firmware Directory Table set to location for 2MB ROM"
348 depends on AMD_FWM_POSITION_INDEX = 2
349comment "AMD Firmware Directory Table set to location for 4MB ROM"
350 depends on AMD_FWM_POSITION_INDEX = 3
351comment "AMD Firmware Directory Table set to location for 8MB ROM"
352 depends on AMD_FWM_POSITION_INDEX = 4
353comment "AMD Firmware Directory Table set to location for 16MB ROM"
354 depends on AMD_FWM_POSITION_INDEX = 5
355
Marc Jones17431ab2017-11-16 15:26:00 -0700356config DIMM_SPD_SIZE
Marc Jones17431ab2017-11-16 15:26:00 -0700357 default 512 # DDR4
358
Marc Jones578a79d2017-12-06 16:27:04 -0700359config RO_REGION_ONLY
360 string
361 depends on CHROMEOS
362 default "apu/amdfw"
363
Chris Ching6fc39d42017-12-20 16:06:03 -0700364config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
365 int
366 default 133
367
Felix Held27b295b2021-03-25 01:20:41 +0100368config DISABLE_KEYBOARD_RESET_PIN
369 bool
370 help
371 Instruct the SoC to not use the state of GPIO_129 as keyboard reset
372 signal. When this pin is used as GPIO and the keyboard reset
373 functionality isn't disabled, configuring it as an output and driving
374 it as 0 will cause a reset.
375
Marshall Dawson68519222019-11-25 11:36:15 -0700376endif # SOC_AMD_STONEYRIDGE