soc/amd/cezanne, vc/amd/fsp/*: Add support for CCP DMA SVC call

Add support to access the boot device from PSP through Crypto
Co-Processor (CCP) DMA. Implement a SVC call to use CCP DMA on SoCs
where it is supported and a stub on SoCs where it is not supported. This
provides an improved performance while accessing the boot device and
reduces the boot time by ~45 ms.

BUG=b:194990811
TEST=Build and boot to OS in guybrush. Perform cold and warm reboot
cycling for 250 iterations.

Change-Id: I02b94a842190ac4dcf45ff2d846b8665f06a9c75
Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/57562
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
This commit is contained in:
Karthikeyan Ramasubramanian
2021-09-10 11:36:21 -06:00
committed by Felix Held
parent 4012388736
commit b3ffff87dd
3 changed files with 36 additions and 0 deletions

View File

@@ -126,3 +126,10 @@ uint32_t svc_modexp(struct mod_exp_params *mod_exp_param)
SVC_CALL1(SVC_MODEXP, mod_exp_param, retval);
return retval;
}
uint32_t svc_ccp_dma(uint32_t spi_rom_offset, void *dest, uint32_t size)
{
uint32_t retval = 0;
SVC_CALL3(SVC_CCP_DMA, spi_rom_offset, dest, size, retval);
return retval;
}