blob: e723296ae4e1d766e25f4ec17ca1763c6c978615 [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
Marshall Dawsona7bfbbe2017-09-13 17:24:53 -060058 select RELOCATABLE_MODULES
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 RELOCATABLE_RAMSTAGE
65 select POSTCAR_STAGE
66 select POSTCAR_CONSOLE
Martin Roth37b8bde2017-09-26 09:41:10 -060067 select SSE
68 select SSE2
Marc Jones17e85ad2017-12-20 16:21:25 -070069 select RTC
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
75
Marc Jones21cde8b2017-05-07 16:47:36 -060076config UDELAY_LAPIC_FIXED_FSB
77 int
78 default 200
79
80# TODO: Sync these with definitions in PI vendorcode.
81# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
82# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
83
84config DCACHE_RAM_BASE
85 hex
86 default 0x30000
87
88config DCACHE_RAM_SIZE
89 hex
90 default 0x10000
91
Marshall Dawson9df969a2017-07-25 18:46:46 -060092config DCACHE_BSP_STACK_SIZE
93 depends on C_ENVIRONMENT_BOOTBLOCK
94 hex
95 default 0x4000
96 help
97 The amount of anticipated stack usage in CAR by bootblock and
98 other stages.
99
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600100config PRERAM_CBMEM_CONSOLE_SIZE
101 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700102 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600103 help
104 Increase this value if preram cbmem console is getting truncated
105
Marc Jones21cde8b2017-05-07 16:47:36 -0600106config CPU_ADDR_BITS
107 int
108 default 48
109
Marc Jones1587dc82017-05-15 18:55:11 -0600110config BOTTOMIO_POSITION
111 hex "Bottom of 32-bit IO space"
112 default 0xD0000000
113 help
114 If PCI peripherals with big BARs are connected to the system
115 the bottom of the IO must be decreased to allocate such
116 devices.
117
118 Declare the beginning of the 128MB-aligned MMIO region. This
119 option is useful when PCI peripherals requesting large address
120 ranges are present.
121
Marc Jones1587dc82017-05-15 18:55:11 -0600122config MMCONF_BASE_ADDRESS
123 hex
124 default 0xF8000000
125
126config MMCONF_BUS_NUMBER
127 int
128 default 64
129
130config VGA_BIOS_ID
131 string
132 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
Richard Spiegel4eaf0fa2018-01-23 15:51:57 -0700139 default "3rdparty/blobs/soc/amd/stoneyridge/VBIOS.bin"
Marc Jones1587dc82017-05-15 18:55:11 -0600140
Marshall Dawson668dea02017-11-29 09:57:15 -0700141config S3_VGA_ROM_RUN
142 bool
143 default n
144
Marc Jones1587dc82017-05-15 18:55:11 -0600145config RAMTOP
146 hex
147 default 0x1000000
148
149config HEAP_SIZE
150 hex
151 default 0xc0000
152
153config RAMBASE
154 hex
155 default 0x200000
156
Marc Jones24484842017-05-04 21:17:45 -0600157config SOUTHBRIDGE_AMD_STONEYRIDGE_SKIP_ISA_DMA_INIT
158 bool
159 default n
160
161config EHCI_BAR
162 hex
163 default 0xfef00000
164
165config STONEYRIDGE_XHCI_ENABLE
166 bool "Enable Stoney Ridge XHCI Controller"
167 default y
168 help
169 The XHCI controller must be enabled and the XHCI firmware
170 must be added in order to have USB 3.0 support configured
171 by coreboot. The OS will be responsible for enabling the XHCI
172 controller if the the XHCI firmware is available but the
173 XHCI controller is not enabled by coreboot.
174
175config STONEYRIDGE_XHCI_FWM
176 bool "Add xhci firmware"
177 default y
178 help
179 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
180
181config STONEYRIDGE_IMC_FWM
182 bool "Add IMC firmware"
183 default n
184 help
185 Add Stoney Ridge IMC Firmware to support the onboard fan control
186
187config STONEYRIDGE_GEC_FWM
188 bool
189 default n
190 help
191 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
192 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
193
194config STONEYRIDGE_XHCI_FWM_FILE
195 string "XHCI firmware path and filename"
Richard Spiegela9872782018-01-04 17:26:54 -0700196 default "3rdparty/blobs/soc/amd/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600197 depends on STONEYRIDGE_XHCI_FWM
198
199config STONEYRIDGE_IMC_FWM_FILE
200 string "IMC firmware path and filename"
Richard Spiegela9872782018-01-04 17:26:54 -0700201 default "3rdparty/blobs/soc/amd/stoneyridge/imc.bin"
Marc Jones24484842017-05-04 21:17:45 -0600202 depends on STONEYRIDGE_IMC_FWM
203
204config STONEYRIDGE_GEC_FWM_FILE
205 string "GEC firmware path and filename"
206 depends on STONEYRIDGE_GEC_FWM
207
208config AMD_PUBKEY_FILE
209 string "AMD public Key"
Richard Spiegela9872782018-01-04 17:26:54 -0700210 default "3rdparty/blobs/soc/amd/stoneyridge/PSP/AmdPubKeyST.bin"
Marc Jones24484842017-05-04 21:17:45 -0600211
212config STONEYRIDGE_SATA_MODE
213 int "SATA Mode"
214 default 0
215 range 0 6
216 help
217 Select the mode in which SATA should be driven.
218 The default is NATIVE.
219 0: NATIVE mode does not require a ROM.
220 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
221 For example, seabios does not require the AHCI ROM.
222 3: LEGACY IDE
223 4: IDE to AHCI
224 5: AHCI7804: ROM Required, and AMD driver required in the OS.
225 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
226
227comment "NATIVE"
228 depends on STONEYRIDGE_SATA_MODE = 0
229
230comment "AHCI"
231 depends on STONEYRIDGE_SATA_MODE = 2
232
233comment "LEGACY IDE"
234 depends on STONEYRIDGE_SATA_MODE = 3
235
236comment "IDE to AHCI"
237 depends on STONEYRIDGE_SATA_MODE = 4
238
239comment "AHCI7804"
240 depends on STONEYRIDGE_SATA_MODE = 5
241
242comment "IDE to AHCI7804"
243 depends on STONEYRIDGE_SATA_MODE = 6
244
245if STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
246
247config AHCI_ROM_ID
248 string "AHCI device PCI IDs"
249 default "1022,7801" if STONEYRIDGE_SATA_MODE = 2
250 default "1022,7804" if STONEYRIDGE_SATA_MODE = 5
251
252endif # STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
253
254config STONEYRIDGE_LEGACY_FREE
255 bool "System is legacy free"
256 help
257 Select y if there is no keyboard controller in the system.
258 This sets variables in AGESA and ACPI.
259
Marc Jones24484842017-05-04 21:17:45 -0600260config SERIRQ_CONTINUOUS_MODE
261 bool
262 default n
263 help
264 Set this option to y for serial IRQ in continuous mode.
265 Otherwise it is in quiet mode.
266
267config STONEYRIDGE_ACPI_IO_BASE
268 hex
269 default 0x400
270 help
271 Base address for the ACPI registers.
272 This value must match the hardcoded value of AGESA.
273
274config STONEYRIDGE_UART
275 bool "UART controller on Stoney Ridge"
276 default n
277 select DRIVERS_UART_8250MEM
278 select DRIVERS_UART_8250MEM_32
279 select NO_UART_ON_SUPERIO
280 select UART_OVERRIDE_REFCLK
281 help
282 There are two UART controllers in Stoney Ridge.
283 The UART registers are memory-mapped. UART
284 controller 0 registers range from FEDC_6000h
285 to FEDC_6FFFh. UART controller 1 registers
286 range from FEDC_8000h to FEDC_8FFFh.
287
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100288config CONSOLE_UART_BASE_ADDRESS
289 depends on CONSOLE_SERIAL
290 hex
291 default 0xfedc6000
292
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600293config SMM_TSEG_SIZE
294 hex
Marshall Dawson0801b332017-08-25 15:29:45 -0600295 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600296 default 0x0
297
Marshall Dawsonb6172112017-09-13 17:47:31 -0600298config SMM_RESERVED_SIZE
299 hex
Marshall Dawsonf3c57a7c2018-01-29 18:08:16 -0700300 default 0x140000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600301
Marc Jonese013df92017-08-23 16:28:02 -0600302config ACPI_CPU_STRING
303 string
304 default "\\_PR.P%03d"
305
Martin Rothb617e322017-09-07 13:23:55 -0600306config USE_PSPSCUREOS
307 bool "Include PSP SecureOS blobs in AMD firmware"
308 default y
309 help
310 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
311 in the amdfw section.
312
313 If unsure, answer 'y'
314
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600315config SOC_AMD_SMU_FANLESS
316 bool
317 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
318 default n if SOC_AMD_SMU_NOTFANLESS
319 default y
320
321config SOC_AMD_SMU_FANNED
322 bool
323 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
324 default n
325 select SOC_AMD_SMU_NOTFANLESS
326
327config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
328 bool
329 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
330
Martin Roth30f9b952017-10-03 15:54:45 -0600331config AMDFW_OUTSIDE_CBFS
332 bool "The AMD firmware is outside CBFS"
333 default n
334 help
335 The AMDFW (PSP) is typically locatable in cbfs. Select this
336 option to manually attach the generated amdfw.rom outside of
337 cbfs. The location is selected by the FWM position.
338
Martin Roth6d8ef242017-09-08 14:39:35 -0600339config AMD_FWM_POSITION_INDEX
340 int "Firmware Directory Table location (0 to 5)"
341 range 0 5
342 default 0 if BOARD_ROMSIZE_KB_512
343 default 1 if BOARD_ROMSIZE_KB_1024
344 default 2 if BOARD_ROMSIZE_KB_2048
345 default 3 if BOARD_ROMSIZE_KB_4096
346 default 4 if BOARD_ROMSIZE_KB_8192
347 default 5 if BOARD_ROMSIZE_KB_16384
348 help
349 Typically this is calculated by the ROM size, but there may
350 be situations where you want to put the firmware directory
351 table in a different location.
352 0: 512 KB - 0xFFFA0000
353 1: 1 MB - 0xFFF20000
354 2: 2 MB - 0xFFE20000
355 3: 4 MB - 0xFFC20000
356 4: 8 MB - 0xFF820000
357 5: 16 MB - 0xFF020000
358
359comment "AMD Firmware Directory Table set to location for 512KB ROM"
360 depends on AMD_FWM_POSITION_INDEX = 0
361comment "AMD Firmware Directory Table set to location for 1MB ROM"
362 depends on AMD_FWM_POSITION_INDEX = 1
363comment "AMD Firmware Directory Table set to location for 2MB ROM"
364 depends on AMD_FWM_POSITION_INDEX = 2
365comment "AMD Firmware Directory Table set to location for 4MB ROM"
366 depends on AMD_FWM_POSITION_INDEX = 3
367comment "AMD Firmware Directory Table set to location for 8MB ROM"
368 depends on AMD_FWM_POSITION_INDEX = 4
369comment "AMD Firmware Directory Table set to location for 16MB ROM"
370 depends on AMD_FWM_POSITION_INDEX = 5
371
Marc Jones17431ab2017-11-16 15:26:00 -0700372config DIMM_SPD_SIZE
373 int
374 default 512 # DDR4
375
Marc Jones578a79d2017-12-06 16:27:04 -0700376config RO_REGION_ONLY
377 string
378 depends on CHROMEOS
379 default "apu/amdfw"
380
Chris Ching6fc39d42017-12-20 16:06:03 -0700381config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
382 int
383 default 133
384
Richard Spiegel6a389142018-03-05 14:28:10 -0700385config MAINBOARD_POWER_RESTORE
386 def_bool n
387 help
388 This option determines what state to go to once power is restored
389 after having been lost in S0. Select this option to automatically
390 return to S0. Otherwise the system will remain in S5 once power
391 is restored.
392
Marc Jones21cde8b2017-05-07 16:47:36 -0600393endif # SOC_AMD_STONEYRIDGE_FP4 || SOC_AMD_STONEYRIDGE_FT4