blob: 9596dc81f23ddb0fd422da677f8f1ddd25e39552 [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
Marc Jones24484842017-05-04 21:17:45 -060069
Marshall Dawsone7557de2017-06-09 16:35:14 -060070config VBOOT
Marshall Dawsone7557de2017-06-09 16:35:14 -060071 select VBOOT_SEPARATE_VERSTAGE
72 select VBOOT_STARTS_IN_BOOTBLOCK
73 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
Marc Jones4c887ea2018-04-25 16:43:18 -060074 select VBOOT_VBNV_CMOS
75 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Marshall Dawsone7557de2017-06-09 16:35:14 -060076
Marc Jones21cde8b2017-05-07 16:47:36 -060077config UDELAY_LAPIC_FIXED_FSB
78 int
79 default 200
80
81# TODO: Sync these with definitions in PI vendorcode.
82# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
83# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
84
85config DCACHE_RAM_BASE
86 hex
87 default 0x30000
88
89config DCACHE_RAM_SIZE
90 hex
91 default 0x10000
92
Marshall Dawson9df969a2017-07-25 18:46:46 -060093config DCACHE_BSP_STACK_SIZE
94 depends on C_ENVIRONMENT_BOOTBLOCK
95 hex
96 default 0x4000
97 help
98 The amount of anticipated stack usage in CAR by bootblock and
99 other stages.
100
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600101config PRERAM_CBMEM_CONSOLE_SIZE
102 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700103 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600104 help
105 Increase this value if preram cbmem console is getting truncated
106
Marc Jones21cde8b2017-05-07 16:47:36 -0600107config CPU_ADDR_BITS
108 int
109 default 48
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
Marc Jones1587dc82017-05-15 18:55:11 -0600123config MMCONF_BASE_ADDRESS
124 hex
125 default 0xF8000000
126
127config MMCONF_BUS_NUMBER
128 int
129 default 64
130
131config VGA_BIOS_ID
132 string
133 default "1002,98e4"
134 help
135 The default VGA BIOS PCI vendor/device ID should be set to the
136 result of the map_oprom_vendev() function in northbridge.c.
137
138config VGA_BIOS_FILE
139 string
Richard Spiegel4eaf0fa2018-01-23 15:51:57 -0700140 default "3rdparty/blobs/soc/amd/stoneyridge/VBIOS.bin"
Marc Jones1587dc82017-05-15 18:55:11 -0600141
Marshall Dawson668dea02017-11-29 09:57:15 -0700142config S3_VGA_ROM_RUN
143 bool
144 default n
145
Marc Jones1587dc82017-05-15 18:55:11 -0600146config HEAP_SIZE
147 hex
148 default 0xc0000
149
Marc Jones24484842017-05-04 21:17:45 -0600150config SOUTHBRIDGE_AMD_STONEYRIDGE_SKIP_ISA_DMA_INIT
151 bool
152 default n
153
154config EHCI_BAR
155 hex
156 default 0xfef00000
157
158config STONEYRIDGE_XHCI_ENABLE
159 bool "Enable Stoney Ridge XHCI Controller"
160 default y
161 help
162 The XHCI controller must be enabled and the XHCI firmware
163 must be added in order to have USB 3.0 support configured
164 by coreboot. The OS will be responsible for enabling the XHCI
165 controller if the the XHCI firmware is available but the
166 XHCI controller is not enabled by coreboot.
167
168config STONEYRIDGE_XHCI_FWM
169 bool "Add xhci firmware"
170 default y
171 help
172 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
173
174config STONEYRIDGE_IMC_FWM
175 bool "Add IMC firmware"
176 default n
177 help
178 Add Stoney Ridge IMC Firmware to support the onboard fan control
179
180config STONEYRIDGE_GEC_FWM
181 bool
182 default n
183 help
184 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
185 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
186
187config STONEYRIDGE_XHCI_FWM_FILE
188 string "XHCI firmware path and filename"
Richard Spiegela9872782018-01-04 17:26:54 -0700189 default "3rdparty/blobs/soc/amd/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600190 depends on STONEYRIDGE_XHCI_FWM
191
192config STONEYRIDGE_IMC_FWM_FILE
193 string "IMC firmware path and filename"
Richard Spiegela9872782018-01-04 17:26:54 -0700194 default "3rdparty/blobs/soc/amd/stoneyridge/imc.bin"
Marc Jones24484842017-05-04 21:17:45 -0600195 depends on STONEYRIDGE_IMC_FWM
196
197config STONEYRIDGE_GEC_FWM_FILE
198 string "GEC firmware path and filename"
199 depends on STONEYRIDGE_GEC_FWM
200
201config AMD_PUBKEY_FILE
202 string "AMD public Key"
Richard Spiegela9872782018-01-04 17:26:54 -0700203 default "3rdparty/blobs/soc/amd/stoneyridge/PSP/AmdPubKeyST.bin"
Marc Jones24484842017-05-04 21:17:45 -0600204
205config STONEYRIDGE_SATA_MODE
206 int "SATA Mode"
207 default 0
208 range 0 6
209 help
210 Select the mode in which SATA should be driven.
211 The default is NATIVE.
212 0: NATIVE mode does not require a ROM.
213 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
214 For example, seabios does not require the AHCI ROM.
215 3: LEGACY IDE
216 4: IDE to AHCI
217 5: AHCI7804: ROM Required, and AMD driver required in the OS.
218 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
219
220comment "NATIVE"
221 depends on STONEYRIDGE_SATA_MODE = 0
222
223comment "AHCI"
224 depends on STONEYRIDGE_SATA_MODE = 2
225
226comment "LEGACY IDE"
227 depends on STONEYRIDGE_SATA_MODE = 3
228
229comment "IDE to AHCI"
230 depends on STONEYRIDGE_SATA_MODE = 4
231
232comment "AHCI7804"
233 depends on STONEYRIDGE_SATA_MODE = 5
234
235comment "IDE to AHCI7804"
236 depends on STONEYRIDGE_SATA_MODE = 6
237
238if STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
239
240config AHCI_ROM_ID
241 string "AHCI device PCI IDs"
242 default "1022,7801" if STONEYRIDGE_SATA_MODE = 2
243 default "1022,7804" if STONEYRIDGE_SATA_MODE = 5
244
245endif # STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
246
247config STONEYRIDGE_LEGACY_FREE
248 bool "System is legacy free"
249 help
250 Select y if there is no keyboard controller in the system.
251 This sets variables in AGESA and ACPI.
252
Marc Jones24484842017-05-04 21:17:45 -0600253config SERIRQ_CONTINUOUS_MODE
254 bool
255 default n
256 help
257 Set this option to y for serial IRQ in continuous mode.
258 Otherwise it is in quiet mode.
259
260config STONEYRIDGE_ACPI_IO_BASE
261 hex
262 default 0x400
263 help
264 Base address for the ACPI registers.
265 This value must match the hardcoded value of AGESA.
266
267config STONEYRIDGE_UART
268 bool "UART controller on Stoney Ridge"
269 default n
270 select DRIVERS_UART_8250MEM
271 select DRIVERS_UART_8250MEM_32
272 select NO_UART_ON_SUPERIO
273 select UART_OVERRIDE_REFCLK
274 help
275 There are two UART controllers in Stoney Ridge.
276 The UART registers are memory-mapped. UART
277 controller 0 registers range from FEDC_6000h
278 to FEDC_6FFFh. UART controller 1 registers
279 range from FEDC_8000h to FEDC_8FFFh.
280
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100281config CONSOLE_UART_BASE_ADDRESS
282 depends on CONSOLE_SERIAL
283 hex
284 default 0xfedc6000
285
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600286config SMM_TSEG_SIZE
287 hex
Marshall Dawson0801b332017-08-25 15:29:45 -0600288 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600289 default 0x0
290
Marshall Dawsonb6172112017-09-13 17:47:31 -0600291config SMM_RESERVED_SIZE
292 hex
Marshall Dawsonfceac7e2018-05-18 14:40:53 -0600293 default 0x150000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600294
Marc Jonese013df92017-08-23 16:28:02 -0600295config ACPI_CPU_STRING
296 string
297 default "\\_PR.P%03d"
298
Martin Rothb617e322017-09-07 13:23:55 -0600299config USE_PSPSCUREOS
300 bool "Include PSP SecureOS blobs in AMD firmware"
301 default y
302 help
303 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
304 in the amdfw section.
305
306 If unsure, answer 'y'
307
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600308config SOC_AMD_SMU_FANLESS
309 bool
310 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
311 default n if SOC_AMD_SMU_NOTFANLESS
312 default y
313
314config SOC_AMD_SMU_FANNED
315 bool
316 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
317 default n
318 select SOC_AMD_SMU_NOTFANLESS
319
320config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
321 bool
322 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
323
Martin Roth30f9b952017-10-03 15:54:45 -0600324config AMDFW_OUTSIDE_CBFS
325 bool "The AMD firmware is outside CBFS"
326 default n
327 help
328 The AMDFW (PSP) is typically locatable in cbfs. Select this
329 option to manually attach the generated amdfw.rom outside of
330 cbfs. The location is selected by the FWM position.
331
Martin Roth6d8ef242017-09-08 14:39:35 -0600332config AMD_FWM_POSITION_INDEX
333 int "Firmware Directory Table location (0 to 5)"
334 range 0 5
335 default 0 if BOARD_ROMSIZE_KB_512
336 default 1 if BOARD_ROMSIZE_KB_1024
337 default 2 if BOARD_ROMSIZE_KB_2048
338 default 3 if BOARD_ROMSIZE_KB_4096
339 default 4 if BOARD_ROMSIZE_KB_8192
340 default 5 if BOARD_ROMSIZE_KB_16384
341 help
342 Typically this is calculated by the ROM size, but there may
343 be situations where you want to put the firmware directory
344 table in a different location.
345 0: 512 KB - 0xFFFA0000
346 1: 1 MB - 0xFFF20000
347 2: 2 MB - 0xFFE20000
348 3: 4 MB - 0xFFC20000
349 4: 8 MB - 0xFF820000
350 5: 16 MB - 0xFF020000
351
352comment "AMD Firmware Directory Table set to location for 512KB ROM"
353 depends on AMD_FWM_POSITION_INDEX = 0
354comment "AMD Firmware Directory Table set to location for 1MB ROM"
355 depends on AMD_FWM_POSITION_INDEX = 1
356comment "AMD Firmware Directory Table set to location for 2MB ROM"
357 depends on AMD_FWM_POSITION_INDEX = 2
358comment "AMD Firmware Directory Table set to location for 4MB ROM"
359 depends on AMD_FWM_POSITION_INDEX = 3
360comment "AMD Firmware Directory Table set to location for 8MB ROM"
361 depends on AMD_FWM_POSITION_INDEX = 4
362comment "AMD Firmware Directory Table set to location for 16MB ROM"
363 depends on AMD_FWM_POSITION_INDEX = 5
364
Marc Jones17431ab2017-11-16 15:26:00 -0700365config DIMM_SPD_SIZE
366 int
367 default 512 # DDR4
368
Marc Jones578a79d2017-12-06 16:27:04 -0700369config RO_REGION_ONLY
370 string
371 depends on CHROMEOS
372 default "apu/amdfw"
373
Chris Ching6fc39d42017-12-20 16:06:03 -0700374config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
375 int
376 default 133
377
Richard Spiegel6a389142018-03-05 14:28:10 -0700378config MAINBOARD_POWER_RESTORE
379 def_bool n
380 help
381 This option determines what state to go to once power is restored
382 after having been lost in S0. Select this option to automatically
383 return to S0. Otherwise the system will remain in S5 once power
384 is restored.
385
Richard Spiegel4bb70652018-05-07 07:53:42 -0700386config VENDORCODE_FULL_SUPPORT
387 def_bool n
388 help
389 This option determines if all files under
390 vendorcode/amd/pi/00670F00/ will be compiled or only
391 selected procedures of source files (minimum required).
392
Marc Jones21cde8b2017-05-07 16:47:36 -0600393endif # SOC_AMD_STONEYRIDGE_FP4 || SOC_AMD_STONEYRIDGE_FT4