blob: 5e4800f1211dbd754843f3f8120e380cc0c859cf [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 Dawsona7bfbbe2017-09-13 17:24:53 -060059 select RELOCATABLE_MODULES
Marshall Dawsonf3c57a7c2018-01-29 18:08:16 -070060 select CACHE_RELOCATED_RAMSTAGE_OUTSIDE_CBMEM
Marshall Dawsona7bfbbe2017-09-13 17:24:53 -060061 select PARALLEL_MP
Marc Jones33eef132017-10-26 16:50:42 -060062 select PARALLEL_MP_AP_WORK
Marshall Dawsonb6172112017-09-13 17:47:31 -060063 select HAVE_SMI_HANDLER
64 select SMM_TSEG
Marshall Dawson18b477e2017-09-21 12:27:12 -060065 select RELOCATABLE_RAMSTAGE
66 select POSTCAR_STAGE
67 select POSTCAR_CONSOLE
Martin Roth37b8bde2017-09-26 09:41:10 -060068 select SSE
69 select SSE2
Marc Jones17e85ad2017-12-20 16:21:25 -070070 select RTC
Marc Jones24484842017-05-04 21:17:45 -060071
Marshall Dawsone7557de2017-06-09 16:35:14 -060072config VBOOT
Marshall Dawsone7557de2017-06-09 16:35:14 -060073 select VBOOT_SEPARATE_VERSTAGE
74 select VBOOT_STARTS_IN_BOOTBLOCK
75 select VBOOT_SAVE_RECOVERY_REASON_ON_REBOOT
Marc Jones4c887ea2018-04-25 16:43:18 -060076 select VBOOT_VBNV_CMOS
77 select VBOOT_VBNV_CMOS_BACKUP_TO_FLASH
Marshall Dawsone7557de2017-06-09 16:35:14 -060078
Marc Jones21cde8b2017-05-07 16:47:36 -060079config UDELAY_LAPIC_FIXED_FSB
80 int
81 default 200
82
83# TODO: Sync these with definitions in PI vendorcode.
84# DCACHE_RAM_BASE must equal BSP_STACK_BASE_ADDR.
85# DCACHE_RAM_SIZE must equal BSP_STACK_SIZE.
86
87config DCACHE_RAM_BASE
88 hex
89 default 0x30000
90
91config DCACHE_RAM_SIZE
92 hex
93 default 0x10000
94
Marshall Dawson9df969a2017-07-25 18:46:46 -060095config DCACHE_BSP_STACK_SIZE
96 depends on C_ENVIRONMENT_BOOTBLOCK
97 hex
98 default 0x4000
99 help
100 The amount of anticipated stack usage in CAR by bootblock and
101 other stages.
102
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600103config PRERAM_CBMEM_CONSOLE_SIZE
104 hex
Marshall Dawson1df6bc62017-12-19 20:41:29 -0700105 default 0x1600
Marshall Dawson7c3f1e72017-08-24 09:59:10 -0600106 help
107 Increase this value if preram cbmem console is getting truncated
108
Marc Jones21cde8b2017-05-07 16:47:36 -0600109config CPU_ADDR_BITS
110 int
111 default 48
112
Marc Jones1587dc82017-05-15 18:55:11 -0600113config BOTTOMIO_POSITION
114 hex "Bottom of 32-bit IO space"
115 default 0xD0000000
116 help
117 If PCI peripherals with big BARs are connected to the system
118 the bottom of the IO must be decreased to allocate such
119 devices.
120
121 Declare the beginning of the 128MB-aligned MMIO region. This
122 option is useful when PCI peripherals requesting large address
123 ranges are present.
124
Marc Jones1587dc82017-05-15 18:55:11 -0600125config MMCONF_BASE_ADDRESS
126 hex
127 default 0xF8000000
128
129config MMCONF_BUS_NUMBER
130 int
131 default 64
132
133config VGA_BIOS_ID
134 string
135 default "1002,98e4"
136 help
137 The default VGA BIOS PCI vendor/device ID should be set to the
138 result of the map_oprom_vendev() function in northbridge.c.
139
140config VGA_BIOS_FILE
141 string
Richard Spiegel4eaf0fa2018-01-23 15:51:57 -0700142 default "3rdparty/blobs/soc/amd/stoneyridge/VBIOS.bin"
Marc Jones1587dc82017-05-15 18:55:11 -0600143
Marshall Dawson668dea02017-11-29 09:57:15 -0700144config S3_VGA_ROM_RUN
145 bool
146 default n
147
Marc Jones1587dc82017-05-15 18:55:11 -0600148config RAMTOP
149 hex
150 default 0x1000000
151
152config HEAP_SIZE
153 hex
154 default 0xc0000
155
156config RAMBASE
157 hex
158 default 0x200000
159
Marc Jones24484842017-05-04 21:17:45 -0600160config SOUTHBRIDGE_AMD_STONEYRIDGE_SKIP_ISA_DMA_INIT
161 bool
162 default n
163
164config EHCI_BAR
165 hex
166 default 0xfef00000
167
168config STONEYRIDGE_XHCI_ENABLE
169 bool "Enable Stoney Ridge XHCI Controller"
170 default y
171 help
172 The XHCI controller must be enabled and the XHCI firmware
173 must be added in order to have USB 3.0 support configured
174 by coreboot. The OS will be responsible for enabling the XHCI
175 controller if the the XHCI firmware is available but the
176 XHCI controller is not enabled by coreboot.
177
178config STONEYRIDGE_XHCI_FWM
179 bool "Add xhci firmware"
180 default y
181 help
182 Add Stoney Ridge XHCI Firmware to support the onboard USB 3.0
183
184config STONEYRIDGE_IMC_FWM
185 bool "Add IMC firmware"
186 default n
187 help
188 Add Stoney Ridge IMC Firmware to support the onboard fan control
189
190config STONEYRIDGE_GEC_FWM
191 bool
192 default n
193 help
194 Add Stoney Ridge GEC Firmware to support the onboard gigabit Ethernet MAC.
195 Must be connected to a Broadcom B50610 or B50610M PHY on the motherboard.
196
197config STONEYRIDGE_XHCI_FWM_FILE
198 string "XHCI firmware path and filename"
Richard Spiegela9872782018-01-04 17:26:54 -0700199 default "3rdparty/blobs/soc/amd/stoneyridge/xhci.bin"
Marc Jones24484842017-05-04 21:17:45 -0600200 depends on STONEYRIDGE_XHCI_FWM
201
202config STONEYRIDGE_IMC_FWM_FILE
203 string "IMC firmware path and filename"
Richard Spiegela9872782018-01-04 17:26:54 -0700204 default "3rdparty/blobs/soc/amd/stoneyridge/imc.bin"
Marc Jones24484842017-05-04 21:17:45 -0600205 depends on STONEYRIDGE_IMC_FWM
206
207config STONEYRIDGE_GEC_FWM_FILE
208 string "GEC firmware path and filename"
209 depends on STONEYRIDGE_GEC_FWM
210
211config AMD_PUBKEY_FILE
212 string "AMD public Key"
Richard Spiegela9872782018-01-04 17:26:54 -0700213 default "3rdparty/blobs/soc/amd/stoneyridge/PSP/AmdPubKeyST.bin"
Marc Jones24484842017-05-04 21:17:45 -0600214
215config STONEYRIDGE_SATA_MODE
216 int "SATA Mode"
217 default 0
218 range 0 6
219 help
220 Select the mode in which SATA should be driven.
221 The default is NATIVE.
222 0: NATIVE mode does not require a ROM.
223 2: AHCI may work with or without AHCI ROM. It depends on the payload support.
224 For example, seabios does not require the AHCI ROM.
225 3: LEGACY IDE
226 4: IDE to AHCI
227 5: AHCI7804: ROM Required, and AMD driver required in the OS.
228 6: IDE to AHCI7804: ROM Required, and AMD driver required in the OS.
229
230comment "NATIVE"
231 depends on STONEYRIDGE_SATA_MODE = 0
232
233comment "AHCI"
234 depends on STONEYRIDGE_SATA_MODE = 2
235
236comment "LEGACY IDE"
237 depends on STONEYRIDGE_SATA_MODE = 3
238
239comment "IDE to AHCI"
240 depends on STONEYRIDGE_SATA_MODE = 4
241
242comment "AHCI7804"
243 depends on STONEYRIDGE_SATA_MODE = 5
244
245comment "IDE to AHCI7804"
246 depends on STONEYRIDGE_SATA_MODE = 6
247
248if STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
249
250config AHCI_ROM_ID
251 string "AHCI device PCI IDs"
252 default "1022,7801" if STONEYRIDGE_SATA_MODE = 2
253 default "1022,7804" if STONEYRIDGE_SATA_MODE = 5
254
255endif # STONEYRIDGE_SATA_MODE = 2 || STONEYRIDGE_SATA_MODE = 5
256
257config STONEYRIDGE_LEGACY_FREE
258 bool "System is legacy free"
259 help
260 Select y if there is no keyboard controller in the system.
261 This sets variables in AGESA and ACPI.
262
Marc Jones24484842017-05-04 21:17:45 -0600263config SERIRQ_CONTINUOUS_MODE
264 bool
265 default n
266 help
267 Set this option to y for serial IRQ in continuous mode.
268 Otherwise it is in quiet mode.
269
270config STONEYRIDGE_ACPI_IO_BASE
271 hex
272 default 0x400
273 help
274 Base address for the ACPI registers.
275 This value must match the hardcoded value of AGESA.
276
277config STONEYRIDGE_UART
278 bool "UART controller on Stoney Ridge"
279 default n
280 select DRIVERS_UART_8250MEM
281 select DRIVERS_UART_8250MEM_32
282 select NO_UART_ON_SUPERIO
283 select UART_OVERRIDE_REFCLK
284 help
285 There are two UART controllers in Stoney Ridge.
286 The UART registers are memory-mapped. UART
287 controller 0 registers range from FEDC_6000h
288 to FEDC_6FFFh. UART controller 1 registers
289 range from FEDC_8000h to FEDC_8FFFh.
290
Arthur Heymansb5e72b62018-01-02 23:41:24 +0100291config CONSOLE_UART_BASE_ADDRESS
292 depends on CONSOLE_SERIAL
293 hex
294 default 0xfedc6000
295
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600296config SMM_TSEG_SIZE
297 hex
Marshall Dawson0801b332017-08-25 15:29:45 -0600298 default 0x800000 if SMM_TSEG && HAVE_SMI_HANDLER
Marshall Dawsonc6ef9db2017-05-14 14:16:56 -0600299 default 0x0
300
Marshall Dawsonb6172112017-09-13 17:47:31 -0600301config SMM_RESERVED_SIZE
302 hex
Marshall Dawsonf3c57a7c2018-01-29 18:08:16 -0700303 default 0x140000
Marshall Dawsonb6172112017-09-13 17:47:31 -0600304
Marc Jonese013df92017-08-23 16:28:02 -0600305config ACPI_CPU_STRING
306 string
307 default "\\_PR.P%03d"
308
Martin Rothb617e322017-09-07 13:23:55 -0600309config USE_PSPSCUREOS
310 bool "Include PSP SecureOS blobs in AMD firmware"
311 default y
312 help
313 Include the PspSecureOs, PspTrustlet and TrustletKey binaries
314 in the amdfw section.
315
316 If unsure, answer 'y'
317
Marshall Dawson5f0520a2017-10-30 16:11:45 -0600318config SOC_AMD_SMU_FANLESS
319 bool
320 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
321 default n if SOC_AMD_SMU_NOTFANLESS
322 default y
323
324config SOC_AMD_SMU_FANNED
325 bool
326 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
327 default n
328 select SOC_AMD_SMU_NOTFANLESS
329
330config SOC_AMD_SMU_NOTFANLESS # helper symbol - do not use
331 bool
332 depends on SOC_AMD_PSP_SELECTABLE_SMU_FW
333
Martin Roth30f9b952017-10-03 15:54:45 -0600334config AMDFW_OUTSIDE_CBFS
335 bool "The AMD firmware is outside CBFS"
336 default n
337 help
338 The AMDFW (PSP) is typically locatable in cbfs. Select this
339 option to manually attach the generated amdfw.rom outside of
340 cbfs. The location is selected by the FWM position.
341
Martin Roth6d8ef242017-09-08 14:39:35 -0600342config AMD_FWM_POSITION_INDEX
343 int "Firmware Directory Table location (0 to 5)"
344 range 0 5
345 default 0 if BOARD_ROMSIZE_KB_512
346 default 1 if BOARD_ROMSIZE_KB_1024
347 default 2 if BOARD_ROMSIZE_KB_2048
348 default 3 if BOARD_ROMSIZE_KB_4096
349 default 4 if BOARD_ROMSIZE_KB_8192
350 default 5 if BOARD_ROMSIZE_KB_16384
351 help
352 Typically this is calculated by the ROM size, but there may
353 be situations where you want to put the firmware directory
354 table in a different location.
355 0: 512 KB - 0xFFFA0000
356 1: 1 MB - 0xFFF20000
357 2: 2 MB - 0xFFE20000
358 3: 4 MB - 0xFFC20000
359 4: 8 MB - 0xFF820000
360 5: 16 MB - 0xFF020000
361
362comment "AMD Firmware Directory Table set to location for 512KB ROM"
363 depends on AMD_FWM_POSITION_INDEX = 0
364comment "AMD Firmware Directory Table set to location for 1MB ROM"
365 depends on AMD_FWM_POSITION_INDEX = 1
366comment "AMD Firmware Directory Table set to location for 2MB ROM"
367 depends on AMD_FWM_POSITION_INDEX = 2
368comment "AMD Firmware Directory Table set to location for 4MB ROM"
369 depends on AMD_FWM_POSITION_INDEX = 3
370comment "AMD Firmware Directory Table set to location for 8MB ROM"
371 depends on AMD_FWM_POSITION_INDEX = 4
372comment "AMD Firmware Directory Table set to location for 16MB ROM"
373 depends on AMD_FWM_POSITION_INDEX = 5
374
Marc Jones17431ab2017-11-16 15:26:00 -0700375config DIMM_SPD_SIZE
376 int
377 default 512 # DDR4
378
Marc Jones578a79d2017-12-06 16:27:04 -0700379config RO_REGION_ONLY
380 string
381 depends on CHROMEOS
382 default "apu/amdfw"
383
Chris Ching6fc39d42017-12-20 16:06:03 -0700384config DRIVERS_I2C_DESIGNWARE_CLOCK_MHZ
385 int
386 default 133
387
Richard Spiegel6a389142018-03-05 14:28:10 -0700388config MAINBOARD_POWER_RESTORE
389 def_bool n
390 help
391 This option determines what state to go to once power is restored
392 after having been lost in S0. Select this option to automatically
393 return to S0. Otherwise the system will remain in S5 once power
394 is restored.
395
Richard Spiegel4bb70652018-05-07 07:53:42 -0700396config VENDORCODE_FULL_SUPPORT
397 def_bool n
398 help
399 This option determines if all files under
400 vendorcode/amd/pi/00670F00/ will be compiled or only
401 selected procedures of source files (minimum required).
402
Marc Jones21cde8b2017-05-07 16:47:36 -0600403endif # SOC_AMD_STONEYRIDGE_FP4 || SOC_AMD_STONEYRIDGE_FT4