blob: a371d218db96d78e6c20083d6469111815a7e662 [file] [log] [blame]
Arthur Heymans6d3682e2023-07-13 12:34:04 +02001config SOC_AMD_GENOA
2 bool
3
4if SOC_AMD_GENOA
5
6config SOC_SPECIFIC_OPTIONS
7 def_bool y
8 select ARCH_X86
9 select HAVE_EXP_X86_64_SUPPORT
Arthur Heymans6d3682e2023-07-13 12:34:04 +020010 select RESET_VECTOR_IN_RAM
11 select SOC_AMD_COMMON
12 select SOC_AMD_COMMON_BLOCK_ACPIMMIO
Arthur Heymans4da9d6b42023-07-13 14:19:09 +020013 select SOC_AMD_COMMON_BLOCK_AOAC
Varshit Pandya95d78d92023-10-04 19:30:21 +053014 select SOC_AMD_COMMON_BLOCK_BANKED_GPIOS
Arthur Heymans48167b12023-07-13 14:07:54 +020015 select SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM17H_19H
Arthur Heymansc666a912023-07-13 14:34:10 +020016 select SOC_AMD_COMMON_BLOCK_HAS_ESPI
17 select SOC_AMD_COMMON_BLOCK_LPC
Arthur Heymans6d3682e2023-07-13 12:34:04 +020018 select SOC_AMD_COMMON_BLOCK_NONCAR
19 select SOC_AMD_COMMON_BLOCK_PCI_MMCONF
Varshit Pandyac0f19832023-10-04 19:26:21 +053020 select SOC_AMD_COMMON_BLOCK_SMI
Varshit Pandya0a2d2a92023-10-16 17:26:35 +053021 select SOC_AMD_COMMON_BLOCK_SMU
22 select SOC_AMD_COMMON_BLOCK_SMU_SX_ENTRY
Arthur Heymans48167b12023-07-13 14:07:54 +020023 select SOC_AMD_COMMON_BLOCK_TSC
Varshit Pandya970d7702023-10-06 18:14:02 +053024 select SOC_AMD_COMMON_BLOCK_UART
Arthur Heymansc666a912023-07-13 14:34:10 +020025 select SOC_AMD_COMMON_BLOCK_USE_ESPI
Arthur Heymanse4eba132023-07-13 14:02:42 +020026 select X86_CUSTOM_BOOTMEDIA
Arthur Heymans6d3682e2023-07-13 12:34:04 +020027
28config USE_EXP_X86_64_SUPPORT
29 default y
30
vbpandya87d8b8c2023-09-22 20:49:37 +053031config CHIPSET_DEVICETREE
32 string
33 default "soc/amd/genoa/chipset.cb"
34
Arthur Heymans6d3682e2023-07-13 12:34:04 +020035config EARLY_RESERVED_DRAM_BASE
36 hex
37 default 0x7000000
38 help
39 This variable defines the base address of the DRAM which is reserved
40 for usage by coreboot in early stages (i.e. before ramstage is up).
41 This memory gets reserved in BIOS tables to ensure that the OS does
42 not use it, thus preventing corruption of OS memory in case of S3
43 resume.
44
45config EARLYRAM_BSP_STACK_SIZE
46 hex
47 default 0x1000
48
Varshit Pandyaa7759582023-10-17 21:59:39 +053049config MAX_CPUS
50 int
51 default 384
52
Arthur Heymans6d3682e2023-07-13 12:34:04 +020053config PSP_APOB_DRAM_ADDRESS
54 hex
55 default 0x7001000
56 help
57 Location in DRAM where the PSP will copy the AGESA PSP Output
58 Block.
59
60config PSP_APOB_DRAM_SIZE
61 hex
62 default 0x20000
63
64config PRERAM_CBMEM_CONSOLE_SIZE
65 hex
66 default 0x1600
67 help
68 Increase this value if preram cbmem console is getting truncated
69
70config C_ENV_BOOTBLOCK_SIZE
71 hex
72 default 0x10000
73 help
74 Sets the size of the bootblock stage that should be loaded in DRAM.
75 This variable controls the DRAM allocation size in linker script
76 for bootblock stage.
77
78config ROMSTAGE_ADDR
79 hex
80 default 0x7040000
81 help
82 Sets the address in DRAM where romstage should be loaded.
83
84config ROMSTAGE_SIZE
85 hex
86 default 0x80000
87 help
88 Sets the size of DRAM allocation for romstage in linker script.
89
Arthur Heymans901f0402023-07-13 14:14:55 +020090config ECAM_MMCONF_BASE_ADDRESS
91 hex
92 default 0xE0000000
93
94config ECAM_MMCONF_BUS_NUMBER
95 int
96 default 256
97
Arthur Heymans8f1c7072023-07-13 12:52:49 +020098menu "PSP Configuration Options"
99
100config AMDFW_CONFIG_FILE
101 string
102 default "src/soc/amd/genoa/fw.cfg"
103
104config PSP_DISABLE_POSTCODES
105 bool "Disable PSP post codes"
106 help
107 Disables the output of port80 post codes from PSP.
108
109config PSP_INIT_ESPI
110 bool "Initialize eSPI in PSP Stage 2 Boot Loader"
111 help
112 Select to initialize the eSPI controller in the PSP Stage 2 Boot
113 Loader.
114
115config PSP_UNLOCK_SECURE_DEBUG
116 bool
117 default y
118
119config HAVE_PSP_WHITELIST_FILE
120 bool "Include a debug whitelist file in PSP build"
121 default n
122 help
123 Support secured unlock prior to reset using a whitelisted
124 serial number. This feature requires a signed whitelist image
125 and bootloader from AMD.
126
127 If unsure, answer 'n'
128
129config PSP_WHITELIST_FILE
130 string "Debug whitelist file path"
131 depends on HAVE_PSP_WHITELIST_FILE
132
Felix Held4ab1db82023-09-28 19:54:55 +0200133config PERFORM_SPL_FUSING
134 bool "Send SPL fuse command to PSP"
135 default n
136 help
137 Send the Security Patch Level (SPL) fusing command to the PSP in
138 order to update the minimum SPL version to be written to the SoC's
139 fuse bits. This will prevent using any embedded firmware components
140 with lower SPL version.
141
142 If unsure, answer 'n'
Arthur Heymans8f1c7072023-07-13 12:52:49 +0200143
144config SPL_TABLE_FILE
Felix Held4ab1db82023-09-28 19:54:55 +0200145 string "SPL table file override"
146 help
147 Provide a mainboard-specific Security Patch Level (SPL) table file
148 override. The SPL file is required to support PSP FW anti-rollback
149 and needs to be created by AMD. The default SPL file specified in the
150 SoC's fw.cfg is in the corresponding folder of the amd_blobs submodule
151 and applies to all boards that use the SoC without verstage on PSP.
152 In the verstage on PSP case, a different SPL file is specific as an
153 override via this Kconfig option.
Arthur Heymans8f1c7072023-07-13 12:52:49 +0200154
155config PSP_SOFTFUSE_BITS
156 string "PSP Soft Fuse bits to enable"
157 default ""
158 help
159 Space separated list of Soft Fuse bits to enable.
160 Bit 0: Enable secure debug (Set by PSP_UNLOCK_SECURE_DEBUG)
161 Bit 7: Disable PSP postcodes on Renoir and newer chips only
162 (Set by PSP_DISABLE_PORT80)
163 Bit 15: PSP debug output destination:
164 0=SoC MMIO UART, 1=IO port 0x3F8
165
166 See #57299 (NDA) for additional bit definitions.
167endmenu
168
169
170endif # SOC_AMD_GENOA