From 84439c26d8afd0079ce9cbaddf11c911974c3b1b Mon Sep 17 00:00:00 2001 From: Felix Held Date: Fri, 29 Jan 2021 22:59:42 +0100 Subject: soc/amd/picasso/psp: move soc_get_mbox_address to common PSP gen2 code The function to get the PSP mailbox address is the same on Picasso and Cezanne, so move it to the common PSP generation 2 code. The function is only used in the same compilation unit, but it can't be marked as static due to the function prototype in amdblocks/psp.h that is still needed for Stoneyridge. Signed-off-by: Felix Held Change-Id: Ieea91ef76523d303f948d29ef48e3b2e56293f26 Reviewed-on: https://review.coreboot.org/c/coreboot/+/50151 Tested-by: build bot (Jenkins) Reviewed-by: Raul Rangel Reviewed-by: Angel Pons --- src/soc/amd/common/block/psp/psp_gen2.c | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'src/soc/amd/common/block') diff --git a/src/soc/amd/common/block/psp/psp_gen2.c b/src/soc/amd/common/block/psp/psp_gen2.c index 59e62551c1..ef71d5b42a 100644 --- a/src/soc/amd/common/block/psp/psp_gen2.c +++ b/src/soc/amd/common/block/psp/psp_gen2.c @@ -1,11 +1,28 @@ /* SPDX-License-Identifier: GPL-2.0-only */ +#include +#include #include #include #include #include #include "psp_def.h" +#define PSP_MAILBOX_OFFSET 0x10570 + +void *soc_get_mbox_address(void) +{ + uintptr_t psp_mmio; + + psp_mmio = rdmsr(MSR_PSP_ADDR).lo; + if (!psp_mmio) { + printk(BIOS_WARNING, "PSP: MSR_PSP_ADDR uninitialized\n"); + return 0; + } + + return (void *)(psp_mmio + PSP_MAILBOX_OFFSET); +} + static u16 rd_mbox_sts(struct pspv2_mbox *mbox) { union { -- cgit v1.2.3