| ## SPDX-License-Identifier: GPL-2.0-only |
| |
| config SOC_AMD_COMMON_BLOCK_PSP |
| bool |
| help |
| This option builds in the Platform Security Processor initialization |
| functions. Do not select this directly in SoC code, select |
| SOC_AMD_COMMON_BLOCK_PSP_GENx instead. |
| |
| config SOC_AMD_COMMON_BLOCK_PSP_GEN1 |
| bool |
| select SOC_AMD_COMMON_BLOCK_PSP |
| help |
| Used by the PSP in AMD systems before family 17h, e.g. stoneyridge. |
| |
| config SOC_AMD_COMMON_BLOCK_PSP_GEN2 |
| bool |
| select SOC_AMD_COMMON_BLOCK_PSP |
| select SOC_AMD_COMMON_BLOCK_SMN |
| help |
| Used by the PSP in AMD family 17h, 19h and possibly newer CPUs. |
| |
| config SOC_AMD_PSP_SELECTABLE_SMU_FW |
| bool |
| help |
| Some PSP implementations allow storing SMU firmware into cbfs and |
| calling the PSP to load the blobs at the proper time. |
| |
| The soc/<codename> should select this if its PSP supports the feature |
| and each mainboard can choose to select an appropriate fanless or |
| fanned set of blobs. Ask your AMD representative whether your APU |
| is considered fanless. |
| |
| config SOC_AMD_COMMON_BLOCK_PSP_SPL |
| bool |
| help |
| Select this option in the SoC's Kconfig to include the Security Patch |
| Level (SPL) support code. This code will only send the actual SPL |
| fuse update command to the PSP if the PERFORM_SPL_FUSING option is |
| also selected. |
| |
| config PERFORM_SPL_FUSING |
| bool "Send SPL fusing command to PSP" |
| default n |
| depends on SOC_AMD_COMMON_BLOCK_PSP_SPL |
| help |
| Send the Security Patch Level (SPL) fusing command to the PSP in |
| order to update the minimum SPL version to be written to the SoC's |
| fuse bits. This will prevent using any embedded firmware components |
| with lower SPL version. |
| |
| If unsure, answer 'n' |
| |
| config SPL_TABLE_FILE |
| string "SPL table file override" |
| depends on SOC_AMD_COMMON_BLOCK_PSP_SPL |
| help |
| Provide a mainboard-specific Security Patch Level (SPL) table file |
| override. The SPL file is required to support PSP FW anti-rollback |
| and needs to be created by AMD. The default SPL file specified in the |
| SoC's fw.cfg is in the corresponding folder of the amd_blobs submodule |
| and applies to all boards that use the SoC without verstage on PSP. |
| In the verstage on PSP case, a different SPL file is specific as an |
| override via this Kconfig option. |
| |
| config HAVE_SPL_RW_AB_FILE |
| bool "Have a separate mainboard-specific SPL file in RW A/B partitions" |
| default n |
| depends on SOC_AMD_COMMON_BLOCK_PSP_SPL |
| depends on VBOOT_SLOTS_RW_AB |
| help |
| Have separate mainboard-specific Security Patch Level (SPL) table |
| file for the RW A/B FMAP partitions. |
| |
| config SPL_RW_AB_TABLE_FILE |
| string "Separate SPL table file override for RW A/B partitions" |
| depends on HAVE_SPL_RW_AB_FILE |
| |
| config PSP_PLATFORM_SECURE_BOOT |
| bool "Platform secure boot enable" |
| depends on SOC_AMD_COMMON_BLOCK_PSP_GEN2 |
| default n |
| help |
| Select this config to enable PSP Platform Secure Boot. |
| |
| Platform Secure Boot will automatically be fused on boot if the |
| coreboot ROM is properly signed and can not be disabled once fused. |
| Refer AMD PSB user guide doc# 56654, Revision# 1.00, this document is |
| only available with NDA customers. |
| |
| config PSP_INCLUDES_HSP |
| bool |
| depends on SOC_AMD_COMMON_BLOCK_PSP |
| default n |
| help |
| Select this config to indicate SoC includes Hardware Security Processor(HSP). |
| |
| config AMD_FWM_POSITION_20000_DEFAULT |
| bool |
| |
| config AMD_FWM_POSITION_420000_DEFAULT |
| bool |
| |
| config AMD_FWM_POSITION_820000_DEFAULT |
| bool |
| |
| config AMD_FWM_POSITION_C20000_DEFAULT |
| bool |
| |
| config AMD_FWM_POSITION_E20000_DEFAULT |
| bool |
| |
| config AMD_FWM_POSITION_F20000_DEFAULT |
| bool |
| |
| config AMD_FWM_POSITION_FA0000_DEFAULT |
| bool |
| |
| choice |
| prompt "AMD FW position" |
| default AMD_FWM_POSITION_420000 if AMD_FWM_POSITION_420000_DEFAULT |
| default AMD_FWM_POSITION_820000 if AMD_FWM_POSITION_820000_DEFAULT |
| default AMD_FWM_POSITION_C20000 if AMD_FWM_POSITION_C20000_DEFAULT |
| default AMD_FWM_POSITION_E20000 if AMD_FWM_POSITION_E20000_DEFAULT |
| default AMD_FWM_POSITION_F20000 if AMD_FWM_POSITION_F20000_DEFAULT |
| default AMD_FWM_POSITION_FA0000 if AMD_FWM_POSITION_FA0000_DEFAULT |
| default AMD_FWM_POSITION_20000 |
| help |
| Set the position on flash offset where the AMD FW needs to be. |
| This position is relative to a 16MB flash window. If the flash |
| size is smaller than 16MB it gets mapped at the top of that window. |
| |
| config AMD_FWM_POSITION_20000 |
| bool "0x20000" |
| |
| config AMD_FWM_POSITION_420000 |
| bool "0x420000" |
| |
| config AMD_FWM_POSITION_820000 |
| bool "0x820000" |
| |
| config AMD_FWM_POSITION_C20000 |
| bool "0xC20000" |
| |
| config AMD_FWM_POSITION_E20000 |
| bool "0xE20000" |
| |
| config AMD_FWM_POSITION_F20000 |
| bool "0xF20000" |
| |
| config AMD_FWM_POSITION_FA0000 |
| bool "0xFA0000" |
| |
| endchoice |
| |
| config AMD_FWM_POSITION |
| hex |
| default 0x20000 if AMD_FWM_POSITION_20000 |
| default 0x420000 if AMD_FWM_POSITION_420000 |
| default 0x820000 if AMD_FWM_POSITION_820000 |
| default 0xc20000 if AMD_FWM_POSITION_C20000 |
| default 0xe20000 if AMD_FWM_POSITION_E20000 |
| default 0xf20000 if AMD_FWM_POSITION_F20000 |
| default 0xfa0000 if AMD_FWM_POSITION_FA0000 |