blob: 1f2331a07dd3ba9666b4bf52b4a1d04fa6f8c0a9 [file] [log] [blame]
Marc Jones24484842017-05-04 21:17:45 -06001##
2## This file is part of the coreboot project.
3##
4## Copyright (C) 2017 Advanced Micro Devices, Inc.
5##
6## This program is free software; you can redistribute it and/or modify
7## it under the terms of the GNU General Public License as published by
8## the Free Software Foundation; version 2 of the License.
9##
10## This program is distributed in the hope that it will be useful,
11## but WITHOUT ANY WARRANTY; without even the implied warranty of
12## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13## GNU General Public License for more details.
14##
15
Marc Jones21cde8b2017-05-07 16:47:36 -060016config SOC_AMD_STONEYRIDGE_FP4
Marc Jones24484842017-05-04 21:17:45 -060017 bool
Marc Jones21cde8b2017-05-07 16:47:36 -060018 help
19 AMD Stoney Ridge FP4 support
20
21config SOC_AMD_STONEYRIDGE_FT4
22 bool
23 help
24 AMD Stoney Ridge FT4 support
25
26if SOC_AMD_STONEYRIDGE_FP4 || SOC_AMD_STONEYRIDGE_FT4
27
28config CPU_SPECIFIC_OPTIONS
29 def_bool y
30 select ARCH_BOOTBLOCK_X86_32
31 select ARCH_VERSTAGE_X86_32
32 select ARCH_ROMSTAGE_X86_32
33 select ARCH_RAMSTAGE_X86_32
Marshall Dawson82145a12017-10-20 12:36:35 -060034 select X86_AMD_FIXED_MTRRS
Marshall Dawson68592c32017-11-06 10:56:52 -070035 select ACPI_AMD_HARDWARE_SLEEP_VALUES
Aaron Durbin51e4c1a2018-01-24 17:42:51 -070036 select COLLECT_TIMESTAMPS_NO_TSC
Chris Ching6fc39d42017-12-20 16:06:03 -070037 select DRIVERS_I2C_DESIGNWARE
Marc Jones9156cac2017-07-12 11:05:38 -060038 select GENERIC_GPIO_LIB
Aaron Durbin51e4c1a2018-01-24 17:42:51 -070039 select GENERIC_UDELAY
Marc Jones24484842017-05-04 21:17:45 -060040 select IOAPIC
41 select HAVE_USBDEBUG_OPTIONS
42 select HAVE_HARD_RESET
Marshall Dawson786bd5d2017-06-16 10:10:17 -060043 select HAVE_MONOTONIC_TIMER
Marc Jones21cde8b2017-05-07 16:47:36 -060044 select SPI_FLASH if HAVE_ACPI_RESUME
45 select TSC_SYNC_LFENCE
Marshall Dawson9df969a2017-07-25 18:46:46 -060046 select COLLECT_TIMESTAMPS
Marc Jones1587dc82017-05-15 18:55:11 -060047 select SOC_AMD_PI
Marshall Dawson68243a52017-06-15 16:59:20 -060048 select SOC_AMD_COMMON
49 select SOC_AMD_COMMON_BLOCK
Richard Spiegel2bbc3dc2017-12-06 16:14:58 -070050 select SOC_AMD_COMMON_BLOCK_PCI
Richard Spiegel19f67a32017-12-08 18:16:02 -070051 select SOC_AMD_COMMON_BLOCK_PI
Marshall Dawson68243a52017-06-15 16:59:20 -060052 select SOC_AMD_COMMON_BLOCK_PSP
Marshall Dawson9df969a2017-07-25 18:46:46 -060053 select SOC_AMD_COMMON_BLOCK_CAR
Marshall Dawson8f2a7e02017-11-01 11:44:48 -060054 select SOC_AMD_COMMON_BLOCK_S3 if HAVE_ACPI_RESUME
Marshall Dawson9df969a2017-07-25 18:46:46 -060055 select C_ENVIRONMENT_BOOTBLOCK
56 select BOOTBLOCK_CONSOLE
John E. Kabat Jraf327702017-11-29 18:49:37 -070057 select BOOT_DEVICE_SUPPORTS_WRITES if BOOT_DEVICE_SPI_FLASH
Marc Jones4c887ea2018-04-25 16:43:18 -060058 select BOOT_DEVICE_SPI_FLASH_RW_NOMMAP_EARLY if BOOT_DEVICE_SPI_FLASH
Marshall Dawsonf3c57a7c2018-01-29 18:08:16 -070059 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
Marshall Dawsona7bfbbe2017-09-13 17:24:53 -060060 select PARALLEL_MP
Marc Jones33eef132017-10-26 16:50:42 -060061 select PARALLEL_MP_AP_WORK
Marshall Dawsonb6172112017-09-13 17:47:31 -060062 select HAVE_SMI_HANDLER
63 select SMM_TSEG
Marshall Dawson18b477e2017-09-21 12:27:12 -060064 select POSTCAR_STAGE
65 select POSTCAR_CONSOLE
Martin Roth37b8bde2017-09-26 09:41:10 -060066 select SSE
67 select SSE2
Marc Jones17e85ad2017-12-20 16:21:25 -070068 select RTC
Richard Spiegel3870dd92018-08-03 10:36:13 -070069 select SOC_AMD_PSP_SELECTABLE_SMU_FW
Marc Jones24484842017-05-04 21:17:45 -060070
Marshall Dawsone7557de2017-06-09 16:35:14 -060071config VBOOT
Marshall Dawsone7557de2017-06-09 16:35:14 -060072 select VBOOT_SEPARATE_VERSTAGE
73 select VBOOT_STARTS_IN_BOOTBLOCK
74 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
Marc Jones4c887ea2018-04-25 16:43:18 -060075 select VBOOT_VBNV_CMOS
76 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Marshall Dawsone7557de2017-06-09 16:35:14 -060077
Marc Jones21cde8b2017-05-07 16:47:36 -060078config UDELAY_LAPIC_FIXED_FSB
79 int
80 default 200
81
82# TODO: Sync these with definitions in PI vendorcode.
83# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
84# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
85
86config DCACHE_RAM_BASE
87 hex
88 default 0x30000
89
90config DCACHE_RAM_SIZE
91 hex
92 default 0x10000
93
Marshall Dawson9df969a2017-07-25 18:46:46 -060094config DCACHE_BSP_STACK_SIZE
95 depends on C_ENVIRONMENT_BOOTBLOCK
96 hex
97 default 0x4000
98 help
99 The amount of anticipated stack usage in CAR by bootblock and
100 other stages.
101
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600102config PRERAM_CBMEM_CONSOLE_SIZE
103 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700104 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600105 help
106 Increase this value if preram cbmem console is getting truncated
107
Marc Jones21cde8b2017-05-07 16:47:36 -0600108config CPU_ADDR_BITS
109 int
110 default 48
111
Marc Jones1587dc82017-05-15 18:55:11 -0600112config BOTTOMIO_POSITION
113 hex "Bottom of 32-bit IO space"
114 default 0xD0000000
115 help
116 If PCI peripherals with big BARs are connected to the system
117 the bottom of the IO must be decreased to allocate such
118 devices.
119
120 Declare the beginning of the 128MB-aligned MMIO region. This
121 option is useful when PCI peripherals requesting large address
122 ranges are present.
123
Marc Jones1587dc82017-05-15 18:55:11 -0600124config MMCONF_BASE_ADDRESS
125 hex
126 default 0xF8000000
127
128config MMCONF_BUS_NUMBER
129 int
130 default 64
131
132config VGA_BIOS_ID
133 string
134 default "1002,98e4"
135 help
136 The default VGA BIOS PCI vendor/device ID should be set to the
137 result of the map_oprom_vendev() function in northbridge.c.
138
139config VGA_BIOS_FILE
140 string
Richard Spiegel4eaf0fa2018-01-23 15:51:57 -0700141 default "3rdparty/blobs/soc/amd/stoneyridge/VBIOS.bin"
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 SOUTHBRIDGE_AMD_STONEYRIDGE_SKIP_ISA_DMA_INIT
152 bool
153 default n
154
155config 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
166 controller if the the XHCI firmware is available but the
167 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"
Richard Spiegela9872782018-01-04 17:26:54 -0700184 default "3rdparty/blobs/soc/amd/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
191config AMD_PUBKEY_FILE
192 string "AMD public Key"
Richard Spiegela9872782018-01-04 17:26:54 -0700193 default "3rdparty/blobs/soc/amd/stoneyridge/PSP/AmdPubKeyST.bin"
Marc Jones24484842017-05-04 21:17:45 -0600194
195config STONEYRIDGE_SATA_MODE
196 int "SATA Mode"
197 default 0
198 range 0 6
199 help
200 Select the mode in which SATA should be driven.
201 The default is NATIVE.
202 0: NATIVE mode does not require a ROM.
203 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
204 For example, seabios does not require the AHCI ROM.
205 3: LEGACY IDE
206 4: IDE to AHCI
207 5: AHCI7804: ROM Required, and AMD driver required in the OS.
208 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
209
210comment "NATIVE"
211 depends on STONEYRIDGE_SATA_MODE = 0
212
213comment "AHCI"
214 depends on STONEYRIDGE_SATA_MODE = 2
215
216comment "LEGACY IDE"
217 depends on STONEYRIDGE_SATA_MODE = 3
218
219comment "IDE to AHCI"
220 depends on STONEYRIDGE_SATA_MODE = 4
221
222comment "AHCI7804"
223 depends on STONEYRIDGE_SATA_MODE = 5
224
225comment "IDE to AHCI7804"
226 depends on STONEYRIDGE_SATA_MODE = 6
227
228if STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
229
230config AHCI_ROM_ID
231 string "AHCI device PCI IDs"
232 default "1022,7801" if STONEYRIDGE_SATA_MODE = 2
233 default "1022,7804" if STONEYRIDGE_SATA_MODE = 5
234
235endif # STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
236
237config STONEYRIDGE_LEGACY_FREE
238 bool "System is legacy free"
239 help
240 Select y if there is no keyboard controller in the system.
241 This sets variables in AGESA and ACPI.
242
Marc Jones24484842017-05-04 21:17:45 -0600243config SERIRQ_CONTINUOUS_MODE
244 bool
245 default n
246 help
247 Set this option to y for serial IRQ in continuous mode.
248 Otherwise it is in quiet mode.
249
250config STONEYRIDGE_ACPI_IO_BASE
251 hex
252 default 0x400
253 help
254 Base address for the ACPI registers.
255 This value must match the hardcoded value of AGESA.
256
257config STONEYRIDGE_UART
258 bool "UART controller on Stoney Ridge"
259 default n
260 select DRIVERS_UART_8250MEM
261 select DRIVERS_UART_8250MEM_32
262 select NO_UART_ON_SUPERIO
263 select UART_OVERRIDE_REFCLK
264 help
265 There are two UART controllers in Stoney Ridge.
266 The UART registers are memory-mapped. UART
267 controller 0 registers range from FEDC_6000h
268 to FEDC_6FFFh. UART controller 1 registers
269 range from FEDC_8000h to FEDC_8FFFh.
270
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100271config CONSOLE_UART_BASE_ADDRESS
272 depends on CONSOLE_SERIAL
273 hex
274 default 0xfedc6000
275
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600276config SMM_TSEG_SIZE
277 hex
Marshall Dawson0801b332017-08-25 15:29:45 -0600278 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600279 default 0x0
280
Marshall Dawsonb6172112017-09-13 17:47:31 -0600281config SMM_RESERVED_SIZE
282 hex
Marshall Dawsonfceac7e2018-05-18 14:40:53 -0600283 default 0x150000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600284
Raul E Rangel846b4942018-06-12 10:43:09 -0600285config SMM_MODULE_STACK_SIZE
286 hex
287 default 0x800
288
Marc Jonese013df92017-08-23 16:28:02 -0600289config ACPI_CPU_STRING
290 string
291 default "\\_PR.P%03d"
292
Marshall Dawson9a32c412018-09-04 13:29:12 -0600293config ACPI_BERT
294 bool "Build ACPI BERT Table"
295 default y
296 depends on HAVE_ACPI_TABLES
297 help
298 Report Machine Check errors identified in POST to the OS in an
299 ACPI Boot Error Record Table. This option reserves an 8MB region
300 for building the error structures.
301
Martin Rothb617e322017-09-07 13:23:55 -0600302config USE_PSPSCUREOS
303 bool "Include PSP SecureOS blobs in AMD firmware"
304 default y
305 help
306 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
307 in the amdfw section.
308
309 If unsure, answer 'y'
310
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600311config SOC_AMD_SMU_FANLESS
312 bool
313 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
314 default n if SOC_AMD_SMU_NOTFANLESS
315 default y
316
317config SOC_AMD_SMU_FANNED
318 bool
319 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
320 default n
321 select SOC_AMD_SMU_NOTFANLESS
322
323config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
324 bool
325 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
326
Martin Roth30f9b952017-10-03 15:54:45 -0600327config AMDFW_OUTSIDE_CBFS
328 bool "The AMD firmware is outside CBFS"
329 default n
330 help
331 The AMDFW (PSP) is typically locatable in cbfs. Select this
332 option to manually attach the generated amdfw.rom outside of
333 cbfs. The location is selected by the FWM position.
334
Martin Roth6d8ef242017-09-08 14:39:35 -0600335config AMD_FWM_POSITION_INDEX
336 int "Firmware Directory Table location (0 to 5)"
337 range 0 5
338 default 0 if BOARD_ROMSIZE_KB_512
339 default 1 if BOARD_ROMSIZE_KB_1024
340 default 2 if BOARD_ROMSIZE_KB_2048
341 default 3 if BOARD_ROMSIZE_KB_4096
342 default 4 if BOARD_ROMSIZE_KB_8192
343 default 5 if BOARD_ROMSIZE_KB_16384
344 help
345 Typically this is calculated by the ROM size, but there may
346 be situations where you want to put the firmware directory
347 table in a different location.
348 0: 512 KB - 0xFFFA0000
349 1: 1 MB - 0xFFF20000
350 2: 2 MB - 0xFFE20000
351 3: 4 MB - 0xFFC20000
352 4: 8 MB - 0xFF820000
353 5: 16 MB - 0xFF020000
354
355comment "AMD Firmware Directory Table set to location for 512KB ROM"
356 depends on AMD_FWM_POSITION_INDEX = 0
357comment "AMD Firmware Directory Table set to location for 1MB ROM"
358 depends on AMD_FWM_POSITION_INDEX = 1
359comment "AMD Firmware Directory Table set to location for 2MB ROM"
360 depends on AMD_FWM_POSITION_INDEX = 2
361comment "AMD Firmware Directory Table set to location for 4MB ROM"
362 depends on AMD_FWM_POSITION_INDEX = 3
363comment "AMD Firmware Directory Table set to location for 8MB ROM"
364 depends on AMD_FWM_POSITION_INDEX = 4
365comment "AMD Firmware Directory Table set to location for 16MB ROM"
366 depends on AMD_FWM_POSITION_INDEX = 5
367
Marc Jones17431ab2017-11-16 15:26:00 -0700368config DIMM_SPD_SIZE
369 int
370 default 512 # DDR4
371
Marc Jones578a79d2017-12-06 16:27:04 -0700372config RO_REGION_ONLY
373 string
374 depends on CHROMEOS
375 default "apu/amdfw"
376
Chris Ching6fc39d42017-12-20 16:06:03 -0700377config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
378 int
379 default 133
380
Richard Spiegel6a389142018-03-05 14:28:10 -0700381config MAINBOARD_POWER_RESTORE
382 def_bool n
383 help
384 This option determines what state to go to once power is restored
385 after having been lost in S0. Select this option to automatically
386 return to S0. Otherwise the system will remain in S5 once power
387 is restored.
388
Marc Jones21cde8b2017-05-07 16:47:36 -0600389endif # SOC_AMD_STONEYRIDGE_FP4 || SOC_AMD_STONEYRIDGE_FT4