1 ## SPDX-License-Identifier: GPL-2.0-only
3 config SOC_AMD_COMMON_BLOCK_CAR
6 This option allows the SOC to use a standard AMD cache-as-ram (CAR)
7 implementation. CAR setup is built into bootblock and teardown is
8 in postcar. The teardown procedure does not preserve the stack so
9 it may not be appropriate for a romstage implementation without
10 additional consideration. If this option is not used, the SOC must
11 implement these functions separately.
12 This is only used for AMD CPU before family 17h. From family 17h on
13 the RAM is already initialized by the PSP before the x86 cores are
16 config SOC_AMD_COMMON_BLOCK_NONCAR
18 select RESERVED_PHYSICAL_ADDRESS_BITS_SUPPORT
20 From family 17h on AMD CPUs/APUs don't use cache as RAM (CAR) any
21 more, since the RAM initialization is already done by the PSP when
22 the x86 cores are released from reset.
24 if SOC_AMD_COMMON_BLOCK_NONCAR
26 config BOOTBLOCK_IN_CBFS
30 config MEMLAYOUT_LD_FILE
32 default "src/soc/amd/common/block/cpu/noncar/memlayout.ld"
34 config CBFS_CACHE_SIZE
37 The size of the cbfs_cache region.
39 config ACPI_CPU_STRING
43 config SOC_AMD_COMMON_ROMSTAGE_LEGACY_DMA_FIXUP
46 Disable the legacy DMA decodes again after the call into the
47 reference code in romstage to fix up things.
49 endif # SOC_AMD_COMMON_BLOCK_NONCAR
51 config SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM15H_16H
54 Select this option to include code to calculate the CPU frequency
55 from the P state MSR values on AMD CPU families 15h and 16h.
57 config SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM17H_19H
60 Select this option to include code to calculate the CPU frequency
61 from the P state MSR values on AMD CPU families 17h and 19h.
63 config SOC_AMD_COMMON_BLOCK_CPUFREQ_FAM1AH
66 Select this option to include code to calculate the CPU frequency
67 from the P state MSR values on AMD CPU family 1Ah.
69 config SOC_AMD_COMMON_BLOCK_MCA_COMMON
72 Add common machine check architecture support. Do not select this
73 in the SoC's Kconfig; select either SOC_AMD_COMMON_BLOCK_MCA or
74 SOC_AMD_COMMON_BLOCK_MCAX which will select this one.
76 config SOC_AMD_COMMON_BLOCK_MCA
78 select SOC_AMD_COMMON_BLOCK_MCA_COMMON
80 Add IA32 machine check architecture (MCA) support for pre-Zen CPUs.
82 config SOC_AMD_COMMON_BLOCK_MCAX
84 select SOC_AMD_COMMON_BLOCK_MCA_COMMON
86 Add extended machine check architecture (MCAX) support for AMD family
87 17h, 19h and possibly newer CPUs.
89 config SOC_AMD_COMMON_BLOCK_SMM
91 select X86_SMM_SKIP_RELOCATION_HANDLER if HAVE_SMI_HANDLER
93 Add common SMM relocation, finalization and handler functionality to
96 config SOC_AMD_COMMON_LATE_SMM_LOCKING
98 depends on SOC_AMD_COMMON_BLOCK_SMM
100 Select this option to perform SMM locking late in soc_finalize(), rather than earlier
101 in smm_relocation_handler(). This is required for pre-Zen SoCs like Stoneyridge which
102 call into an AGESA binary as part of S3 resume, and require SMM to still be unlocked
105 config SOC_AMD_COMMON_BLOCK_SVI2
108 Select this option is the SoC uses the serial VID 2 standard for
109 encoding the voltage it requests from the VRM.
111 config SOC_AMD_COMMON_BLOCK_SVI3
114 Select this option is the SoC uses the serial VID 3 standard for
115 encoding the voltage it requests from the VRM.
117 config SOC_AMD_COMMON_BLOCK_TSC
119 select TSC_SYNC_LFENCE
121 select TSC_MONOTONIC_TIMER
123 Select this option to add the common functions for getting the TSC
124 frequency of AMD family 17h, 19h and 1Ah CPUs/APUs and to provide
125 TSC-based monotonic timer functionality to the build.
127 config SOC_AMD_COMMON_BLOCK_CPU_SYNC_PSP_ADDR_MSR
130 Select this option to have coreboot sync the PSP_ADDR_MSR from
133 config SOC_AMD_COMMON_BLOCK_UCODE
136 Builds in support for loading uCode.