NULTI-CORE MAILBOX API

[English]

  • mailbox logic channel is used for multi-core information interaction

Header File

Functions

bk_err_t mb_chnl_init(void)
bk_err_t mb_chnl_open(u8 log_chnl, void *callback_param)
bk_err_t mb_chnl_close(u8 log_chnl)
bk_err_t mb_chnl_read(u8 log_chnl, mb_chnl_cmd_t *read_buf)
bk_err_t mb_chnl_write(u8 log_chnl, mb_chnl_cmd_t *cmd_buf)
bk_err_t mb_chnl_ctrl(u8 log_chnl, u8 cmd, void *param)
void mb_chnl_get_statis(u8 dst_cpu, u32 *rx_cnt, u32 *tx_cnt)

Unions

union mb_chnl_hdr_t

Public Members

u32 cmd
u32 state
u32 Reserved
struct mb_chnl_hdr_t::[anonymous] [anonymous]
u32 data

Structures

struct mb_chnl_cmd_t
struct mb_chnl_ack_t

Macros

SYSTEM_CPU_NUM
DST_CPU_ID_MASK
DST_CPU_ID_POS
SRC_CPU_ID_MASK
SRC_CPU_ID_POS
LOG_CHNL_ID_MASK
GET_SRC_CPU_ID(log_chnl)
GET_DST_CPU_ID(log_chnl)
CPX_LOG_CHNL_START(src_cpu, dst_cpu)
GET_LOG_CHNL_ID(log_chnl)
SRC_CPU
CHNL_STATE_MASK
CHNL_STATE_COM_FAIL

Type Definitions

typedef void (*chnl_tx_cmpl_isr_t)(void *param, mb_chnl_ack_t *ack_buf)
typedef void (*chnl_tx_isr_t)(void *param)
typedef void (*chnl_rx_isr_t)(void *param, mb_chnl_cmd_t *cmd_buf)

Enumerations

enum [anonymous]

Values:

enumerator ACK_STATE_PENDING
enumerator ACK_STATE_COMPLETE
enumerator ACK_STATE_FAIL
enum [anonymous]

Values:

enumerator MB_CHNL_GET_STATUS
enumerator MB_CHNL_SET_RX_ISR
enumerator MB_CHNL_SET_TX_ISR
enumerator MB_CHNL_SET_TX_CMPL_ISR
enumerator MB_CHNL_WRITE_SYNC
enumerator MB_CHNL_TX_RESET