10 #include <soc/iomap.h>
13 #define PSP_MAILBOX_COMMAND_OFFSET 0x10570
14 #define PSP_MAILBOX_BUFFER_OFFSET 0x10574
85 if (tmp == expected.
val)
134 if (!
CONFIG(SOC_AMD_COMMON_BLOCK_PSP_FUSE_SPL))
static int wait_for_ready(u8 *base)
cb_err
coreboot error codes
@ CB_ERR
Generic error code.
@ CB_SUCCESS
Call completed successfully.
void psp_print_cmd_status(int cmd_status, struct mbox_buffer_header *header)
#define printk(level,...)
static __always_inline msr_t rdmsr(unsigned int index)
static __always_inline void write64p(const uintptr_t addr, const uint64_t value)
static __always_inline uint32_t read32p(const uintptr_t addr)
static __always_inline void write32p(const uintptr_t addr, const uint32_t value)
static int stopwatch_expired(struct stopwatch *sw)
static void stopwatch_init_msecs_expire(struct stopwatch *sw, long ms)
#define BIOS_DEBUG
BIOS_DEBUG - Verbose output.
#define BIOS_ERR
BIOS_ERR - System in incomplete state.
#define BIOS_WARNING
BIOS_WARNING - Bad configuration.
#define PSPSTS_CMD_TIMEOUT
#define PSPSTS_SEND_ERROR
#define CORE_2_PSP_MSG_38_FUSE_SPL
#define CORE_2_PSP_MSG_38_OFFSET
#define MBOX_BIOS_CMD_SET_SPL_FUSE
#define MBOX_BIOS_CMD_SX_INFO
#define PSP_MAILBOX_COMMAND_OFFSET
static int wait_command(uintptr_t psp_mmio, bool wait_for_ready)
enum cb_err soc_read_c2p38(uint32_t *msg_38_value)
static uintptr_t soc_get_psp_base_address(void)
int send_psp_command(u32 command, void *buffer)
static void wr_mbox_cmd(uintptr_t psp_mmio, u8 cmd)
static u16 rd_mbox_sts(uintptr_t psp_mmio)
static void wr_mbox_buffer_ptr(uintptr_t psp_mmio, void *buffer)
#define PSP_MAILBOX_BUFFER_OFFSET
BOOT_STATE_INIT_ENTRY(BS_PAYLOAD_BOOT, BS_ON_ENTRY, psp_set_spl_fuse, NULL)
static u8 rd_mbox_recovery(uintptr_t psp_mmio)
static void psp_set_spl_fuse(void *unused)
u8 buffer[C2P_BUFFER_MAXSIZE]
struct pspv2_mbox_command::pspv2_mbox_cmd_fields fields