1 /* 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 9 #include <linux/linkage.h> 10 11 enum fsp_phase { 12 /* Notification code for post PCI enuermation */ 13 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, 25 }; 26 27 struct fsp_notify_params { 28 /* Notification phase used for NotifyPhase API */ 29 enum fsp_phase phase; 30 }; 31 32 /* FspNotify API function prototype */ 33 typedef asmlinkage u32 (*fsp_notify_f)(struct fsp_notify_params *params); 34 35 #endif 36