blob: 3a9b61903c09210b5121e7311ed828916442f57d [file] [log] [blame]
Simon Glass2cf3a5a2019-12-06 21:42:22 -07001/* SPDX-License-Identifier: GPL-2.0+ */
2/*
3 * Copyright 2019 Google LLC
4 */
5
6#ifndef __ASM_FSP_API_H
7#define __ASM_FSP_API_H
8
Simon Glass655306c2020-05-10 11:39:58 -06009#include <linux/linkage.h>
10
Simon Glass2cf3a5a2019-12-06 21:42:22 -070011enum fsp_phase {
12 /* Notification code for post PCI enuermation */
Simon Glass34a92622020-09-22 12:45:25 -060013 INIT_PHASE_PCI = 0x20,
14 /*
15 * Notification code before transferring control to the payload.
16 * This is issued at the end of init before starting main(), i.e.
17 * the command line / boot script.
18 */
19 INIT_PHASE_BOOT = 0x40,
20 /*
21 * Notification code before existing boot services. This is issued
22 * just before removing devices and booting the kernel.
23 */
24 INIT_PHASE_END_FIRMWARE = 0xf0,
Simon Glass2cf3a5a2019-12-06 21:42:22 -070025};
26
27struct fsp_notify_params {
28 /* Notification phase used for NotifyPhase API */
29 enum fsp_phase phase;
30};
31
32/* FspNotify API function prototype */
33typedef asmlinkage u32 (*fsp_notify_f)(struct fsp_notify_params *params);
34
35#endif