blob: 5333f5933aa1fbe3ee4fcaeb3741759e758a0c71 [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
Marshall Dawson786bd5d2017-06-16 10:10:17 -060042 select HAVE_MONOTONIC_TIMER
Marc Jones21cde8b2017-05-07 16:47:36 -060043 select SPI_FLASH if HAVE_ACPI_RESUME
44 select TSC_SYNC_LFENCE
Marshall Dawson9df969a2017-07-25 18:46:46 -060045 select COLLECT_TIMESTAMPS
Marc Jones1587dc82017-05-15 18:55:11 -060046 select SOC_AMD_PI
Marshall Dawson68243a52017-06-15 16:59:20 -060047 select SOC_AMD_COMMON
48 select SOC_AMD_COMMON_BLOCK
Marshall Dawson69486ca2019-05-02 12:03:45 -060049 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Marshall Dawson251d3052019-05-02 17:27:57 -060050 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
Richard Spiegel2bbc3dc2017-12-06 16:14:58 -070051 select SOC_AMD_COMMON_BLOCK_PCI
Richard Spiegel19f67a32017-12-08 18:16:02 -070052 select SOC_AMD_COMMON_BLOCK_PI
Marshall Dawson68243a52017-06-15 16:59:20 -060053 select SOC_AMD_COMMON_BLOCK_PSP
Marshall Dawson9df969a2017-07-25 18:46:46 -060054 select SOC_AMD_COMMON_BLOCK_CAR
Kyösti Mälkkia8eb4772018-06-28 17:23:27 +030055 select SOC_AMD_COMMON_BLOCK_S3
Marshall Dawson9df969a2017-07-25 18:46:46 -060056 select C_ENVIRONMENT_BOOTBLOCK
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 SSE2
Marc Jones17e85ad2017-12-20 16:21:25 -070067 select RTC
Richard Spiegel3870dd92018-08-03 10:36:13 -070068 select SOC_AMD_PSP_SELECTABLE_SMU_FW
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 EHCI_BAR
151 hex
152 default 0xfef00000
153
154config STONEYRIDGE_XHCI_ENABLE
155 bool "Enable Stoney Ridge XHCI Controller"
156 default y
157 help
158 The XHCI controller must be enabled and the XHCI firmware
159 must be added in order to have USB 3.0 support configured
160 by coreboot. The OS will be responsible for enabling the XHCI
Jonathan Neuschäfer45e6c822018-12-11 17:53:07 +0100161 controller if the XHCI firmware is available but the
Marc Jones24484842017-05-04 21:17:45 -0600162 XHCI controller is not enabled by coreboot.
163
164config STONEYRIDGE_XHCI_FWM
165 bool "Add xhci firmware"
166 default y
167 help
168 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
169
Marc Jones24484842017-05-04 21:17:45 -0600170config STONEYRIDGE_GEC_FWM
171 bool
172 default n
173 help
174 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
175 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
176
177config STONEYRIDGE_XHCI_FWM_FILE
178 string "XHCI firmware path and filename"
Richard Spiegela9872782018-01-04 17:26:54 -0700179 default "3rdparty/blobs/soc/amd/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600180 depends on STONEYRIDGE_XHCI_FWM
181
Marc Jones24484842017-05-04 21:17:45 -0600182config STONEYRIDGE_GEC_FWM_FILE
183 string "GEC firmware path and filename"
184 depends on STONEYRIDGE_GEC_FWM
185
186config AMD_PUBKEY_FILE
187 string "AMD public Key"
Richard Spiegela9872782018-01-04 17:26:54 -0700188 default "3rdparty/blobs/soc/amd/stoneyridge/PSP/AmdPubKeyST.bin"
Marc Jones24484842017-05-04 21:17:45 -0600189
190config STONEYRIDGE_SATA_MODE
191 int "SATA Mode"
192 default 0
193 range 0 6
194 help
195 Select the mode in which SATA should be driven.
196 The default is NATIVE.
197 0: NATIVE mode does not require a ROM.
198 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
199 For example, seabios does not require the AHCI ROM.
200 3: LEGACY IDE
201 4: IDE to AHCI
202 5: AHCI7804: ROM Required, and AMD driver required in the OS.
203 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
204
205comment "NATIVE"
206 depends on STONEYRIDGE_SATA_MODE = 0
207
208comment "AHCI"
209 depends on STONEYRIDGE_SATA_MODE = 2
210
211comment "LEGACY IDE"
212 depends on STONEYRIDGE_SATA_MODE = 3
213
214comment "IDE to AHCI"
215 depends on STONEYRIDGE_SATA_MODE = 4
216
217comment "AHCI7804"
218 depends on STONEYRIDGE_SATA_MODE = 5
219
220comment "IDE to AHCI7804"
221 depends on STONEYRIDGE_SATA_MODE = 6
222
223if STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
224
225config AHCI_ROM_ID
226 string "AHCI device PCI IDs"
227 default "1022,7801" if STONEYRIDGE_SATA_MODE = 2
228 default "1022,7804" if STONEYRIDGE_SATA_MODE = 5
229
230endif # STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
231
232config STONEYRIDGE_LEGACY_FREE
233 bool "System is legacy free"
234 help
235 Select y if there is no keyboard controller in the system.
236 This sets variables in AGESA and ACPI.
237
Marc Jones24484842017-05-04 21:17:45 -0600238config SERIRQ_CONTINUOUS_MODE
239 bool
240 default n
241 help
242 Set this option to y for serial IRQ in continuous mode.
243 Otherwise it is in quiet mode.
244
245config STONEYRIDGE_ACPI_IO_BASE
246 hex
247 default 0x400
248 help
249 Base address for the ACPI registers.
250 This value must match the hardcoded value of AGESA.
251
252config STONEYRIDGE_UART
253 bool "UART controller on Stoney Ridge"
254 default n
255 select DRIVERS_UART_8250MEM
256 select DRIVERS_UART_8250MEM_32
257 select NO_UART_ON_SUPERIO
258 select UART_OVERRIDE_REFCLK
259 help
260 There are two UART controllers in Stoney Ridge.
261 The UART registers are memory-mapped. UART
262 controller 0 registers range from FEDC_6000h
263 to FEDC_6FFFh. UART controller 1 registers
264 range from FEDC_8000h to FEDC_8FFFh.
265
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100266config CONSOLE_UART_BASE_ADDRESS
267 depends on CONSOLE_SERIAL
268 hex
269 default 0xfedc6000
270
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600271config SMM_TSEG_SIZE
272 hex
Marshall Dawson0801b332017-08-25 15:29:45 -0600273 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600274 default 0x0
275
Marshall Dawsonb6172112017-09-13 17:47:31 -0600276config SMM_RESERVED_SIZE
277 hex
Marshall Dawsonfceac7e2018-05-18 14:40:53 -0600278 default 0x150000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600279
Raul E Rangel846b4942018-06-12 10:43:09 -0600280config SMM_MODULE_STACK_SIZE
281 hex
282 default 0x800
283
Marc Jonese013df92017-08-23 16:28:02 -0600284config ACPI_CPU_STRING
285 string
286 default "\\_PR.P%03d"
287
Marshall Dawson9a32c412018-09-04 13:29:12 -0600288config ACPI_BERT
289 bool "Build ACPI BERT Table"
290 default y
291 depends on HAVE_ACPI_TABLES
292 help
293 Report Machine Check errors identified in POST to the OS in an
294 ACPI Boot Error Record Table. This option reserves an 8MB region
295 for building the error structures.
296
Marshall Dawson25eb2bc2019-03-14 12:42:46 -0600297config USE_PSPSECUREOS
Martin Rothb617e322017-09-07 13:23:55 -0600298 bool "Include PSP SecureOS blobs in AMD firmware"
299 default y
300 help
301 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
302 in the amdfw section.
303
304 If unsure, answer 'y'
305
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600306config SOC_AMD_SMU_FANLESS
307 bool
308 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
309 default n if SOC_AMD_SMU_NOTFANLESS
310 default y
311
312config SOC_AMD_SMU_FANNED
313 bool
314 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
315 default n
316 select SOC_AMD_SMU_NOTFANLESS
317
318config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
319 bool
320 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
321
Martin Roth30f9b952017-10-03 15:54:45 -0600322config AMDFW_OUTSIDE_CBFS
323 bool "The AMD firmware is outside CBFS"
324 default n
325 help
326 The AMDFW (PSP) is typically locatable in cbfs. Select this
327 option to manually attach the generated amdfw.rom outside of
328 cbfs. The location is selected by the FWM position.
329
Martin Roth6d8ef242017-09-08 14:39:35 -0600330config AMD_FWM_POSITION_INDEX
331 int "Firmware Directory Table location (0 to 5)"
332 range 0 5
333 default 0 if BOARD_ROMSIZE_KB_512
334 default 1 if BOARD_ROMSIZE_KB_1024
335 default 2 if BOARD_ROMSIZE_KB_2048
336 default 3 if BOARD_ROMSIZE_KB_4096
337 default 4 if BOARD_ROMSIZE_KB_8192
338 default 5 if BOARD_ROMSIZE_KB_16384
339 help
340 Typically this is calculated by the ROM size, but there may
341 be situations where you want to put the firmware directory
342 table in a different location.
343 0: 512 KB - 0xFFFA0000
344 1: 1 MB - 0xFFF20000
345 2: 2 MB - 0xFFE20000
346 3: 4 MB - 0xFFC20000
347 4: 8 MB - 0xFF820000
348 5: 16 MB - 0xFF020000
349
350comment "AMD Firmware Directory Table set to location for 512KB ROM"
351 depends on AMD_FWM_POSITION_INDEX = 0
352comment "AMD Firmware Directory Table set to location for 1MB ROM"
353 depends on AMD_FWM_POSITION_INDEX = 1
354comment "AMD Firmware Directory Table set to location for 2MB ROM"
355 depends on AMD_FWM_POSITION_INDEX = 2
356comment "AMD Firmware Directory Table set to location for 4MB ROM"
357 depends on AMD_FWM_POSITION_INDEX = 3
358comment "AMD Firmware Directory Table set to location for 8MB ROM"
359 depends on AMD_FWM_POSITION_INDEX = 4
360comment "AMD Firmware Directory Table set to location for 16MB ROM"
361 depends on AMD_FWM_POSITION_INDEX = 5
362
Marc Jones17431ab2017-11-16 15:26:00 -0700363config DIMM_SPD_SIZE
364 int
365 default 512 # DDR4
366
Marc Jones578a79d2017-12-06 16:27:04 -0700367config RO_REGION_ONLY
368 string
369 depends on CHROMEOS
370 default "apu/amdfw"
371
Chris Ching6fc39d42017-12-20 16:06:03 -0700372config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
373 int
374 default 133
375
Richard Spiegel6a389142018-03-05 14:28:10 -0700376config MAINBOARD_POWER_RESTORE
377 def_bool n
378 help
379 This option determines what state to go to once power is restored
380 after having been lost in S0. Select this option to automatically
381 return to S0. Otherwise the system will remain in S5 once power
382 is restored.
383
Marc Jones21cde8b2017-05-07 16:47:36 -0600384endif # SOC_AMD_STONEYRIDGE_FP4 || SOC_AMD_STONEYRIDGE_FT4