rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1 | #ifndef __CDIF_PUBLIC_H__ |
| 2 | #define __CDIF_PUBLIC_H__ |
| 3 | |
| 4 | /***************************************************************************** |
| 5 | * Value Definition * |
| 6 | *****************************************************************************/ |
| 7 | typedef enum { |
| 8 | CDIF_CONTROL_CHANNEL_MASTER_TX = 0, |
| 9 | CDIF_CONTROL_CHANNEL_MASTER_RX, |
| 10 | CDIF_IPC_MASTER_TX, |
| 11 | CDIF_IPC_MASTER_RX, |
| 12 | CDIF_EVG_MASTER_TX, |
| 13 | CDIF_EVG_MASTER_RX, |
| 14 | CDIF_MUTEX_MASTER_TX, |
| 15 | CDIF_MUTEX_MASTER_RX, |
| 16 | CDIF_EXCEP_MASTER_TX, |
| 17 | CDIF_EXCEP_MASTER_RX, |
| 18 | #if defined(CDIF_IT) |
| 19 | CDIF_CCIF_IT_MASTER_TX, |
| 20 | CDIF_CCIF_IT_MASTER_RX, |
| 21 | #endif |
| 22 | CDIF_MAX_CHANNEL, |
| 23 | } CDIF_CHANNEL_T; |
| 24 | |
| 25 | typedef enum { |
| 26 | CDIF_SUCCESS = 0, |
| 27 | CDIF_NO_PHY_CHANNEL = -1001, |
| 28 | CDIF_INVALID_PARAM = -1002, |
| 29 | CDIF_IN_USE = -1003, |
| 30 | CDIF_IN_LISR = -1004, |
| 31 | CDIF_NOT_OWNER = -1005, |
| 32 | } CDIF_RET_VALUE_T; |
| 33 | |
| 34 | |
| 35 | /***************************************************************************** |
| 36 | * Data Type Definition * |
| 37 | *****************************************************************************/ |
| 38 | typedef struct { |
| 39 | kal_uint32 data[2]; |
| 40 | kal_uint32 channel; |
| 41 | kal_uint32 reserved; |
| 42 | } CDIF_BUFF_T; |
| 43 | |
| 44 | typedef void (*CDIF_CALLBACK)(CDIF_BUFF_T *buff); |
| 45 | |
| 46 | typedef struct { |
| 47 | kal_uint32 state; |
| 48 | kal_uint32 owner; |
| 49 | CDIF_CALLBACK funp; |
| 50 | } CDIF_CTRL_T; |
| 51 | |
| 52 | |
| 53 | /***************************************************************************** |
| 54 | * public API * |
| 55 | *****************************************************************************/ |
| 56 | extern void cdif_init(); |
| 57 | extern void cdif_init_handshake(); |
| 58 | extern kal_int32 cdif_channel_init(kal_uint32 channel, CDIF_CALLBACK funp); |
| 59 | extern kal_int32 cdif_channel_deinit(kal_uint32 channel); |
| 60 | extern kal_int32 cdif_mailbox_write(kal_uint32 channel, kal_uint32 message_id, kal_uint32 reseerved); |
| 61 | extern kal_int32 cdif_mailbox_write_with_polling(kal_uint32 channel, kal_uint32 message_id, kal_uint32 reserved); |
| 62 | extern kal_uint32 cdif_chk_recentry_in_queue(kal_uint32 query_channel, kal_bool ack_if_found); |
| 63 | extern kal_uint32 cdif_init_ready(); |
| 64 | |
| 65 | #endif /* __U3G_CCCI_H__ */ |