1 /* 2 * Copyright (C) 2015-2020 Alibaba Group Holding Limited 3 */ 4 #ifndef __HAL_MCU2CP_H__ 5 #define __HAL_MCU2CP_H__ 6 7 #ifdef __cplusplus 8 extern "C" { 9 #endif 10 11 #include "stdbool.h" 12 13 enum HAL_MCU2CP_ID_T { 14 HAL_MCU2CP_ID_0, 15 HAL_MCU2CP_ID_1, 16 17 HAL_MCU2CP_ID_QTY 18 }; 19 20 enum HAL_MCU2CP_MSG_TYPE_T { 21 HAL_MCU2CP_MSG_TYPE_0, 22 HAL_MCU2CP_MSG_TYPE_1, 23 24 HAL_MCU2CP_MSG_TYPE_QTY 25 }; 26 27 typedef unsigned int (*HAL_MCU2CP_RX_IRQ_HANDLER)(const unsigned char *data, unsigned int len); 28 typedef void (*HAL_MCU2CP_TX_IRQ_HANDLER)(const unsigned char *data, unsigned int len); 29 30 int hal_mcu2cp_open_mcu(enum HAL_MCU2CP_ID_T id, enum HAL_MCU2CP_MSG_TYPE_T type, 31 HAL_MCU2CP_RX_IRQ_HANDLER rxhandler, HAL_MCU2CP_TX_IRQ_HANDLER txhandler, bool rx_flowctrl); 32 int hal_mcu2cp_open_cp (enum HAL_MCU2CP_ID_T id, enum HAL_MCU2CP_MSG_TYPE_T type, 33 HAL_MCU2CP_RX_IRQ_HANDLER rxhandler, HAL_MCU2CP_TX_IRQ_HANDLER txhandler, bool rx_flowctrl); 34 35 int hal_mcu2cp_close_mcu(enum HAL_MCU2CP_ID_T id,enum HAL_MCU2CP_MSG_TYPE_T type); 36 int hal_mcu2cp_close_cp (enum HAL_MCU2CP_ID_T id,enum HAL_MCU2CP_MSG_TYPE_T type); 37 38 int hal_mcu2cp_start_recv_mcu(enum HAL_MCU2CP_ID_T id); 39 int hal_mcu2cp_start_recv_cp (enum HAL_MCU2CP_ID_T id); 40 41 int hal_mcu2cp_stop_recv_mcu(enum HAL_MCU2CP_ID_T id); 42 int hal_mcu2cp_stop_recv_cp (enum HAL_MCU2CP_ID_T id); 43 44 int hal_mcu2cp_send_mcu(enum HAL_MCU2CP_ID_T id, enum HAL_MCU2CP_MSG_TYPE_T type, 45 const unsigned char *data, unsigned int len); 46 int hal_mcu2cp_send_cp (enum HAL_MCU2CP_ID_T id, enum HAL_MCU2CP_MSG_TYPE_T type, 47 const unsigned char *data, unsigned int len); 48 49 void hal_mcu2cp_rx_done_mcu(enum HAL_MCU2CP_ID_T id); 50 void hal_mcu2cp_rx_done_cp (enum HAL_MCU2CP_ID_T id); 51 52 int hal_mcu2cp_opened_mcu(enum HAL_MCU2CP_ID_T id); 53 int hal_mcu2cp_opened_cp(enum HAL_MCU2CP_ID_T id); 54 55 int hal_mcu2cp_local_irq_pending_mcu(enum HAL_MCU2CP_ID_T id); 56 int hal_mcu2cp_local_irq_pending_cp(enum HAL_MCU2CP_ID_T id); 57 58 #ifdef __cplusplus 59 } 60 #endif 61 62 #endif 63 64