blob: 9dcdf34025cbf4ec5ea04d40a836113a22e8b718 [file] [log] [blame]
Stefan Reinauer55feadd2015-06-10 16:15:36 -07001#
2# Copyright (c) 2013 - 2014, Sage Electronic Engineering, LLC
Marc Jones21e5dd82016-09-20 20:32:47 -06003# Copyright (C) 2016 Advanced Micro Devices, Inc.
Stefan Reinauer55feadd2015-06-10 16:15:36 -07004# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are met:
8# * Redistributions of source code must retain the above copyright
9# notice, this list of conditions and the following disclaimer.
10# * Redistributions in binary form must reproduce the above copyright
11# notice, this list of conditions and the following disclaimer in the
12# documentation and/or other materials provided with the distribution.
13# * Neither the name of Advanced Micro Devices, Inc. nor the names of
14# its contributors may be used to endorse or promote products derived
15# from this software without specific prior written permission.
16#
17# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
18# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
19# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
20# DISCLAIMED. IN NO EVENT SHALL ADVANCED MICRO DEVICES, INC. BE LIABLE FOR ANY
21# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
22# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
23# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
24# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
26# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27#
28
Marshall Dawsond7868432019-11-25 11:47:32 -070029if CPU_AMD_PI_00630F01 || CPU_AMD_PI_00730F01 || CPU_AMD_PI_00660F01 || SOC_AMD_STONEYRIDGE
Stefan Reinauer55feadd2015-06-10 16:15:36 -070030
Marc Jones0b11bd02015-07-19 15:20:17 -060031config AGESA_BINARY_PI_VENDORCODE_PATH
Marc Jones74234eb2015-07-19 16:20:41 -060032 string "AGESA PI directory path"
Marc Jones0b11bd02015-07-19 15:20:17 -060033 default "src/vendorcode/amd/pi/00630F01" if CPU_AMD_PI_00630F01
34 default "src/vendorcode/amd/pi/00730F01" if CPU_AMD_PI_00730F01
Marshall Dawsond7868432019-11-25 11:47:32 -070035 default "src/vendorcode/amd/pi/00670F00" if AMD_APU_MERLINFALCON
36 default "src/vendorcode/amd/pi/00670F00" if AMD_APU_STONEYRIDGE || AMD_APU_PRAIRIEFALCON
Marc Jones0b11bd02015-07-19 15:20:17 -060037 default "src/vendorcode/amd/pi/00660F01" if CPU_AMD_PI_00660F01
Stefan Reinauer55feadd2015-06-10 16:15:36 -070038 help
Marc Jones0b11bd02015-07-19 15:20:17 -060039 Specify where to find the AGESA header files
Marc Jones74234eb2015-07-19 16:20:41 -060040 for AMD platform initialization.
Stefan Reinauer55feadd2015-06-10 16:15:36 -070041
Marc Jones74234eb2015-07-19 16:20:41 -060042config AGESA_BINARY_PI_FILE
43 string "AGESA PI binary file name"
Marc Jones0b11bd02015-07-19 15:20:17 -060044 default "3rdparty/blobs/pi/amd/00630F01/FP3/AGESA.bin" if CPU_AMD_PI_00630F01
45 default "3rdparty/blobs/pi/amd/00730F01/FT3b/AGESA.bin" if CPU_AMD_PI_00730F01
Marshall Dawsond7868432019-11-25 11:47:32 -070046 default "3rdparty/amd_blobs/stoneyridge/pi/CZ/$(CONFIG_AMD_SOC_PACKAGE)/AGESA.bin" if AMD_APU_MERLINFALCON && USE_AMD_BLOBS
47 default "3rdparty/amd_blobs/stoneyridge/pi/ST/$(CONFIG_AMD_SOC_PACKAGE)/AGESA.bin" if AMD_APU_PRAIRIEFALCON && USE_AMD_BLOBS
Marshall Dawson68519222019-11-25 11:36:15 -070048 default "3rdparty/amd_blobs/stoneyridge/pi/ST/$(CONFIG_AMD_SOC_PACKAGE)/AGESA.bin" if AMD_APU_STONEYRIDGE && USE_AMD_BLOBS
Marc Jones0b11bd02015-07-19 15:20:17 -060049 default "3rdparty/blobs/pi/amd/00660F01/FP4/AGESA.bin" if CPU_AMD_PI_00660F01
Stefan Reinauer55feadd2015-06-10 16:15:36 -070050 help
Marc Jones74234eb2015-07-19 16:20:41 -060051 Specify the binary file to use for AMD platform initialization.
Stefan Reinauer55feadd2015-06-10 16:15:36 -070052
Aaron Durbin02b43aa2017-12-12 14:56:41 -070053config AGESA_BINARY_PI_AS_STAGE
54 bool "AGESA Binary PI is added as stage to CBFS."
Marshall Dawson68519222019-11-25 11:36:15 -070055 depends on SOC_AMD_STONEYRIDGE
Aaron Durbin02b43aa2017-12-12 14:56:41 -070056 help
57 AGESA will be added as a stage utilizing --xip cbfstool options
58 as needed relocating the image to the proper location in memory-mapped
59 cpu address space. It's required that the file be in ELF format
60 containing the relocations necessary for relocating at runtime.
61
Justin TerAvest92261952017-12-22 15:15:02 -070062config AGESA_SPLIT_MEMORY_FILES
63 bool "Split AGESA Binary PI into pre- and post-memory files."
64 depends on AGESA_BINARY_PI_AS_STAGE
65 default n
66 help
67 Specifies that AGESA is split into two binaries for pre- and
68 post-memory.
69
70config AGESA_PRE_MEMORY_BINARY_PI_FILE
Raul E Rangel028570b2019-12-20 15:00:40 -070071 string "Pre memory Binary PI file name"
Justin TerAvest92261952017-12-22 15:15:02 -070072 depends on AGESA_SPLIT_MEMORY_FILES
Marshall Dawson68519222019-11-25 11:36:15 -070073 default "3rdparty/blobs/pi/amd/00670F00/FT4/AGESA_premem.elf" if SOC_AMD_STONEYRIDGE && USE_AMD_BLOBS
Justin TerAvest92261952017-12-22 15:15:02 -070074 help
75 Specify the binary file to use for pre-memory AMD platform
76 initialization.
77
78config AGESA_POST_MEMORY_BINARY_PI_FILE
Raul E Rangel028570b2019-12-20 15:00:40 -070079 string "Post memory Binary PI file name"
Justin TerAvest92261952017-12-22 15:15:02 -070080 depends on AGESA_SPLIT_MEMORY_FILES
Marshall Dawson68519222019-11-25 11:36:15 -070081 default "3rdparty/blobs/pi/amd/00670F00/FT4/AGESA_postmem.elf" if SOC_AMD_STONEYRIDGE && USE_AMD_BLOBS
Justin TerAvest92261952017-12-22 15:15:02 -070082 help
83 Specify the binary file to use for post-memory AMD platform
84 initialization.
85
Kyösti Mälkki7104fe22017-05-27 20:53:29 +030086config AGESA_CBFS_NAME
87 string
88 default "AGESA"
89
Justin TerAvest92261952017-12-22 15:15:02 -070090config AGESA_PRE_MEMORY_CBFS_NAME
91 string
92 default "AGESA_PRE_MEM"
93
94config AGESA_POST_MEMORY_CBFS_NAME
95 string
96 default "AGESA_POST_MEM"
97
Marc Jones74234eb2015-07-19 16:20:41 -060098config AGESA_BINARY_PI_LOCATION
Martin Rothc59cc222016-09-30 14:44:54 -060099 hex "AGESA PI binary address in ROM"
Marc Jones74234eb2015-07-19 16:20:41 -0600100 default 0xFFE00000
Aaron Durbin02b43aa2017-12-12 14:56:41 -0700101 depends on !AGESA_BINARY_PI_AS_STAGE
Stefan Reinauer55feadd2015-06-10 16:15:36 -0700102 help
Marc Jones74234eb2015-07-19 16:20:41 -0600103 Specify the ROM address at which to store the binary Platform
Stefan Reinauer55feadd2015-06-10 16:15:36 -0700104 Initialization code.
105
106endif