u-boot/arch/x86/include/asm/arch-queensbay/fsp/fsp_api.h
Bin Meng 752a0b085b x86: Initial import from Intel FSP release for Queensbay platform
This is the initial import from Intel FSP release for Queensbay
platform (Tunnel Creek processor and Topcliff Platform Controller
Hub), which can be downloaded from Intel website.

For more details, check http://www.intel.com/fsp.

Note: U-Boot coding convention was applied to these codes, so it
looks completely different from the original Intel release.
Also update FSP support codes license header to use SPDX ID.

Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
2014-12-13 22:32:05 -07:00

59 lines
1.4 KiB
C

/*
* Copyright (C) 2013, Intel Corporation
* Copyright (C) 2014, Bin Meng <bmeng.cn@gmail.com>
*
* SPDX-License-Identifier: Intel
*/
#ifndef __FSP_API_H__
#define __FSP_API_H__
/*
* FspInit continuation function prototype.
* Control will be returned to this callback function after FspInit API call.
*/
typedef void (*fsp_continuation_f)(u32 status, void *hob_list);
#pragma pack(1)
struct fsp_init_params_t {
/* Non-volatile storage buffer pointer */
void *nvs_buf;
/* Runtime buffer pointer */
void *rt_buf;
/* Continuation function address */
fsp_continuation_f continuation;
};
struct common_buf_t {
/*
* Stack top pointer used by the bootloader. The new stack frame will be
* set up at this location after FspInit API call.
*/
u32 *stack_top;
u32 boot_mode; /* Current system boot mode */
void *upd_data; /* User platform configuraiton data region */
u32 reserved[7]; /* Reserved */
};
enum fsp_phase_t {
/* Notification code for post PCI enuermation */
INIT_PHASE_PCI = 0x20,
/* Notification code before transfering control to the payload */
INIT_PHASE_BOOT = 0x40
};
struct fsp_notify_params_t {
/* Notification phase used for NotifyPhase API */
enum fsp_phase_t phase;
};
#pragma pack()
/* FspInit API function prototype */
typedef u32 (*fsp_init_f)(struct fsp_init_params_t *param);
/* FspNotify API function prototype */
typedef u32 (*fsp_notify_f)(struct fsp_notify_params_t *param);
#endif