common/pal.c (342 lines of code) (raw):

#include <stdio.h> #include <stdbool.h> #include "cmsis_os2.h" #include "ipmi.h" #include "pal.h" /*********************************************************** * * Create weak function here * All weak functions should be define in project for usage * * *********************************************************/ // USB __weak void pal_usb_handler(uint8_t *rx_buff, int rx_len) { return; } // IPMI __weak bool pal_is_to_ipmi_handler(uint8_t netfn, uint8_t cmd) { return 0; } __weak bool pal_ME_is_to_ipmi_handler(uint8_t netfn, uint8_t cmd) { return 0; } __weak bool pal_is_not_return_cmd(uint8_t netfn, uint8_t cmd) { return 0; } // IPMI CHASSIS __weak void pal_CHASSIS_GET_CHASSIS_STATUS(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } // IPMI SENSOR __weak void pal_SENSOR_GET_SENSOR_READING(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } // IPMI APP __weak void pal_APP_GET_DEVICE_ID(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_APP_COLD_RESET(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_APP_WARM_RESET(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_APP_GET_SELFTEST_RESULTS(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_APP_GET_SYSTEM_GUID(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_APP_MASTER_WRITE_READ(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } // IPMI STORAGE __weak void pal_STORAGE_GET_FRUID_INFO(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_STORAGE_READ_FRUID_DATA(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_STORAGE_WRITE_FRUID_DATA(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_STORAGE_RSV_SDR(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_STORAGE_GET_SDR(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } // IPMI OEM __weak void pal_OEM_SENSOR_READ(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_SET_SYSTEM_GUID(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_GET_MB_INDEX(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_SET_FAN_DUTY_MANUAL(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_GET_SET_FAN_CTRL_MODE(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } // IPMI OEM 1S __weak void pal_OEM_1S_MSG_OUT(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_GET_GPIO(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_SET_GPIO(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_SEND_INTERRUPT_TO_BMC(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_SENSOR_POLL_EN(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_FW_UPDATE(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_GET_POST_CODE(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_SET_VR_MONITOR_STATUS(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_GET_VR_MONITOR_STATUS(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_GET_FW_VERSION(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_RESET_BMC(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_SET_JTAG_TAP_STA(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_JTAG_DATA_SHIFT(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_ASD_INIT(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_ACCURACY_SENSOR_READING(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_PECIaccess(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_GET_SET_GPIO(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_I2C_DEV_SCAN(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_GET_BIC_STATUS(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_RESET_BIC(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_12V_CYCLE_SLOT(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_READ_BIC_REGISTER(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_WRITE_BIC_REGISTER(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_SET_FAN_DUTY_AUTO(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_GET_FAN_DUTY(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } __weak void pal_OEM_1S_GET_FAN_RPM(ipmi_msg *msg) { msg->completion_code = CC_UNSPECIFIED_ERROR; return; } // init __weak void pal_I2C_init(void) { return; } __weak void pal_BIC_init(void) { return; } __weak bool pal_load_IPMB_config(void) { return 0; } // sensor __weak void pal_set_sensor_poll_interval(int *interval_ms) { *interval_ms = 1000; return; } // sensor accessible __weak uint8_t pal_load_sdr_table(void) { return 0; } __weak bool pal_load_sensor_config(void) { return 0; } __weak void pal_fix_fullSDR_table(void) { return; } __weak void pal_fix_Sensorconfig(void) { return; } // fru __weak void pal_load_fru_config(void) { return; } // sensor read __weak bool pal_tmp75_read(uint8_t sensor_num, int *reading) { return 0; } __weak bool pal_adc_read(uint8_t sensor_num, int *reading) { return 0; } __weak bool pal_peci_read(uint8_t sensor_num, int *reading) { return 0; } __weak bool pal_vr_read(uint8_t sensor_num, int *reading) { return 0; } __weak bool pal_pch_read(uint8_t sensor_num, int *reading) { return 0; } __weak bool pal_hsc_read(uint8_t sensor_num, int *reading) { return 0; } __weak bool pal_nvme_read(uint8_t sensor_num, int *reading) { return 0; } // gpio __weak bool pal_load_gpio_config(void) { return 0; } __weak void gpio_AD_callback_handler(uint32_t pins) { return; } __weak void gpio_EH_callback_handler(uint32_t pins) { return; } __weak void gpio_IL_callback_handler(uint32_t pins) { return; } __weak void gpio_MP_callback_handler(uint32_t pins) { return; } __weak void gpio_QT_callback_handler(uint32_t pins) { return; } __weak void gpio_UV_callback_handler(uint32_t pins) { return; } // platform __weak void pal_warm_reset_prepare() { return; } __weak void pal_cold_reset_prepare() { return; }