115bd4a67SDaniele Ceraolo Spurio /* SPDX-License-Identifier: MIT */
215bd4a67SDaniele Ceraolo Spurio /*
315bd4a67SDaniele Ceraolo Spurio  * Copyright © 2022 Intel Corporation
415bd4a67SDaniele Ceraolo Spurio  */
515bd4a67SDaniele Ceraolo Spurio 
615bd4a67SDaniele Ceraolo Spurio #ifndef _INTEL_GSC_FW_H_
715bd4a67SDaniele Ceraolo Spurio #define _INTEL_GSC_FW_H_
815bd4a67SDaniele Ceraolo Spurio 
915bd4a67SDaniele Ceraolo Spurio #include <linux/types.h>
1015bd4a67SDaniele Ceraolo Spurio 
1115bd4a67SDaniele Ceraolo Spurio struct intel_gsc_uc;
1256fafa56SDaniele Ceraolo Spurio struct intel_uc_fw;
13b7d70b8bSDaniele Ceraolo Spurio struct intel_uncore;
1415bd4a67SDaniele Ceraolo Spurio 
1556fafa56SDaniele Ceraolo Spurio int intel_gsc_fw_get_binary_info(struct intel_uc_fw *gsc_fw, const void *data, size_t size);
1615bd4a67SDaniele Ceraolo Spurio int intel_gsc_uc_fw_upload(struct intel_gsc_uc *gsc);
1715bd4a67SDaniele Ceraolo Spurio bool intel_gsc_uc_fw_init_done(struct intel_gsc_uc *gsc);
18aee90e92SAlan Previn bool intel_gsc_uc_fw_proxy_init_done(struct intel_gsc_uc *gsc, bool needs_wakeref);
19*b1cef13eSAlan Previn int intel_gsc_uc_fw_proxy_get_status(struct intel_gsc_uc *gsc);
20b7d70b8bSDaniele Ceraolo Spurio 
2115bd4a67SDaniele Ceraolo Spurio #endif
22