/* SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later * Copyright 2022 IBM Corp. */ #ifndef __PLDM_H__ #define __PLDM_H__ #include #include /** * Handle PLDM messages received from MCTP */ int pldm_mctp_message_rx(uint8_t eid, bool tag_owner, uint8_t msg_tag, const uint8_t *buf, int len); /** * PLDM over MCTP initialization */ int pldm_mctp_init(void); /** * PLDM over MCTP stop */ void pldm_mctp_exit(void); /** * Send a system chassis Off-Soft Graceful request */ int pldm_platform_power_off(void); /** * Send a system firmware Graceful Restart request */ int pldm_platform_restart(void); /** * Send a system firmware Graceful Shutdown request */ int pldm_platform_initiate_shutdown(void); /** * Update the firmware version device-tree field */ int pldm_fru_dt_add_bmc_version(void); /** * Convert lid ids data to pnor structure */ int pldm_lid_files_init(struct blocklevel_device **bl); /** * Remove lid ids data */ bool pldm_lid_files_exit(struct blocklevel_device *bl); /** * Initialize and reset the watchdog */ int pldm_watchdog_init(void); /** * Update boot progress state */ int pldm_platform_send_progress_state_change( enum pldm_state_set_boot_progress_state_values state); /** * Configure real-time clock */ void pldm_rtc_init(void); /** * Register ipmi host interface access callbacks */ void pldm_opal_init(void); #endif /* __PLDM_H__ */