/space/home/slher/rel/Beken/v6_4_5/macsw/plf/refip/src/driver/ipc/ipc_shared.h File Reference

Shared data between both IPC modules. More...

#include "co_int.h"
#include "tx_swdesc.h"

Go to the source code of this file.

Data Structures

struct  ipc_header
 IPC header structure. More...
struct  ipc_msg_elt
 Structure of a IPC message. More...
struct  ipc_e2a_msg
 Message structure for MSGs from Emb to App. More...
struct  ipc_dbg_msg
 Message structure for Debug messages from Emb to App. More...
struct  ipc_a2e_msg
 Message structure for MSGs from App to Emb. More...
struct  ipc_shared_rx_buf
 Information provided by host to indentify RX buffer. More...
struct  ipc_shared_rx_desc
 Information provided by host to indentify RX desc. More...
struct  compatibility_tag
 Structure containing FW characteristics for compatibility checking. More...
struct  ipc_shared_env_tag
 Structure describing the IPC data shared with the host CPU. More...

Defines

#define IPC_TXQUEUE_CNT   NX_TXQ_CNT
 Number of IPC TX queues.
#define IPC_RXBUF_CNT   128
 Number of Host buffers available for Data Rx handling (through DMA).
#define IPC_RXDESC_CNT   128
 Number of shared descriptors available for Data RX handling.
#define IPC_RADARBUF_CNT   16
 Number of Host buffers available for Radar events handling (through DMA).
#define IPC_UNSUPRXVECBUF_CNT   8
 Number of Host buffers available for unsupported rx vector handling (through DMA).
#define IPC_RXBUF_SIZE   4096
 RX Data buffers size (in bytes).
#define IPC_MSGE2A_BUF_CNT   64
 Number of Host buffers available for Emb->App MSGs sending (through DMA).
#define IPC_DBGBUF_CNT   32
 Number of Host buffers available for Debug Messages sending (through DMA).
#define IPC_A2E_MSG_BUF_SIZE   127
 Length used in APP2EMB MSGs structures.
#define IPC_E2A_MSG_SIZE_BASE   256
 Length required in EMB2APP MSGs structures, for non-TL4 case.
#define IPC_E2A_MSG_PARAM_SIZE   IPC_E2A_MSG_SIZE_BASE
 Length used in EMB2APP MSGs structures, including the potential overhead for TL4.
#define IPC_DBG_PARAM_SIZE   256
 Debug messages buffers size (in bytes).
#define RX_DMA_OVER_PATTERN   0xAAAAAA00
 Define used for Rx hostbuf validity.
#define IPC_MSGE2A_VALID_PATTERN   0xADDEDE2A
 Define used for MSG buffers validity.
#define IPC_DBG_VALID_PATTERN   0x000CACA0
 Define used for Debug messages buffers validity.
#define DMA_HDR_PHYVECT_LEN   36
 Length of the receive vectors, in bytes.
#define MSG_API_VER   17
 Message struct/ID API version.
APP2EMB IPC interrupt definitions



#define IPC_IRQ_A2E_USER_MSK   0x3
 Interrupts bits used for the TX descriptors of the AC queues.
#define IPC_IRQ_A2E_AC0_OFT   8
 Offset of the interrupts for AC0.
#define IPC_IRQ_A2E_AC0_MSK   (IPC_IRQ_A2E_USER_MSK << IPC_IRQ_A2E_AC0_OFT)
 Mask of the interrupts for AC0.
#define IPC_IRQ_A2E_AC1_OFT   (IPC_IRQ_A2E_AC0_OFT + RW_USER_MAX)
 Offset of the interrupts for AC1.
#define IPC_IRQ_A2E_AC1_MSK   (IPC_IRQ_A2E_USER_MSK << IPC_IRQ_A2E_AC1_OFT)
 Mask of the interrupts for AC1.
#define IPC_IRQ_A2E_AC2_OFT   (IPC_IRQ_A2E_AC1_OFT + RW_USER_MAX)
 Offset of the interrupts for AC2.
#define IPC_IRQ_A2E_AC2_MSK   (IPC_IRQ_A2E_USER_MSK << IPC_IRQ_A2E_AC2_OFT)
 Mask of the interrupts for AC2.
#define IPC_IRQ_A2E_AC3_OFT   (IPC_IRQ_A2E_AC2_OFT + RW_USER_MAX)
 Offset of the interrupts for AC3.
#define IPC_IRQ_A2E_AC3_MSK   (IPC_IRQ_A2E_USER_MSK << IPC_IRQ_A2E_AC3_OFT)
 Mask of the interrupts for AC3.
#define IPC_IRQ_A2E_BCN_OFT   (IPC_IRQ_A2E_AC3_OFT + RW_USER_MAX)
 Offset of the interrupts for BCN.
#define IPC_IRQ_A2E_BCN_MSK   CO_BIT(IPC_IRQ_A2E_BCN_OFT)
 Mask of the interrupts for BCN.
#define IPC_IRQ_A2E_AC_TXDESC
 Interrupts bits used for the TX descriptors of the AC queues.
#define IPC_IRQ_A2E_BCN_TXDESC   (0x01 << IPC_IRQ_A2E_BCN_OFT)
 Interrupts bits used for the TX descriptors of the BCN queue.
#define IPC_IRQ_A2E_TXDESC   (IPC_IRQ_A2E_AC_TXDESC | IPC_IRQ_A2E_BCN_TXDESC)
 IPC TX descriptor interrupt mask.
#define IPC_IRQ_A2E_TXDESC_FIRSTBIT   (8)
 First of the IPC TX descriptor interrupts.
#define IPC_IRQ_A2E_RXBUF_BACK   CO_BIT(5)
 IPC RX buffer allocation interrupt bit.
#define IPC_IRQ_A2E_RXDESC_BACK   CO_BIT(4)
 IPC RX buffer allocation interrupt bit.
#define IPC_IRQ_A2E_MSG   CO_BIT(1)
 IPC APP2EMB message interrupt bit.
#define IPC_IRQ_A2E_DBG   CO_BIT(0)
 IPC APP2EMB debug interrupt bit.
#define IPC_IRQ_A2E_ALL   (IPC_IRQ_A2E_TXDESC|IPC_IRQ_A2E_MSG|IPC_IRQ_A2E_DBG)
 IPC global interrupt mask.
EMB2APP IPC interrupt definitions



#define IPC_IRQ_E2A_TXCFM_POS   7
 IPC TX confirmation interrupt bit position.
#define IPC_IRQ_E2A_USER_MSK   0x3
 Interrupts bits used.
#define IPC_IRQ_E2A_AC0_OFT   7
 Offset of the interrupts for AC0.
#define IPC_IRQ_E2A_AC0_MSK   (IPC_IRQ_E2A_USER_MSK << IPC_IRQ_E2A_AC0_OFT)
 Mask of the interrupts for AC0.
#define IPC_IRQ_E2A_AC1_OFT   (IPC_IRQ_E2A_AC0_OFT + RW_USER_MAX)
 Offset of the interrupts for AC1.
#define IPC_IRQ_E2A_AC1_MSK   (IPC_IRQ_E2A_USER_MSK << IPC_IRQ_E2A_AC1_OFT)
 Mask of the interrupts for AC1.
#define IPC_IRQ_E2A_AC2_OFT   (IPC_IRQ_E2A_AC1_OFT + RW_USER_MAX)
 Offset of the interrupts for AC2.
#define IPC_IRQ_E2A_AC2_MSK   (IPC_IRQ_E2A_USER_MSK << IPC_IRQ_E2A_AC2_OFT)
 Mask of the interrupts for AC2.
#define IPC_IRQ_E2A_AC3_OFT   (IPC_IRQ_E2A_AC2_OFT + RW_USER_MAX)
 Offset of the interrupts for AC3.
#define IPC_IRQ_E2A_AC3_MSK   (IPC_IRQ_E2A_USER_MSK << IPC_IRQ_E2A_AC3_OFT)
 Mask of the interrupts for AC3.
#define IPC_IRQ_E2A_BCN_OFT   (IPC_IRQ_E2A_AC3_OFT + RW_USER_MAX)
 Offset of the interrupts for BCN.
#define IPC_IRQ_E2A_BCN_MSK   CO_BIT(IPC_IRQ_E2A_BCN_OFT)
 Mask of the interrupts for BCN.
#define IPC_IRQ_E2A_AC_TXCFM
 IPC TX confirmation interrupt bit position.
#define IPC_IRQ_E2A_BCN_TXCFM   (0x01 << IPC_IRQ_E2A_BCN_OFT)
 Interrupts bits used for the TX descriptors of the BCN queue.
#define IPC_IRQ_E2A_TXCFM   (IPC_IRQ_E2A_AC_TXCFM | IPC_IRQ_E2A_BCN_TXCFM)
 IPC TX descriptor interrupt mask.
#define IPC_IRQ_E2A_UNSUP_RX_VEC   CO_BIT(7)
 IPC unsupported rx vector interrupt.
#define IPC_IRQ_E2A_RADAR   CO_BIT(6)
 IPC radar interrupt.
#define IPC_IRQ_E2A_TBTT_SEC   CO_BIT(5)
 IPC secondary TBTT interrupt.
#define IPC_IRQ_E2A_TBTT_PRIM   CO_BIT(4)
 IPC primary TBTT interrupt.
#define IPC_IRQ_E2A_RXDESC   CO_BIT(3)
 IPC RX descriptor interrupt.
#define IPC_IRQ_E2A_MSG_ACK   CO_BIT(2)
 IPC APP2EMB message acknowledgment interrupt.
#define IPC_IRQ_E2A_MSG   CO_BIT(1)
 IPC EMB2APP message interrupt.
#define IPC_IRQ_E2A_DBG   CO_BIT(0)
 IPC EMB2APP debug interrupt.
#define IPC_IRQ_E2A_ALL
 IPC EMB2APP global interrupt mask.

Variables

struct ipc_shared_env_tag ipc_shared_env
 IPC Shared environment.

Detailed Description

Shared data between both IPC modules.

Copyright (C) RivieraWaves 2011-2019

Definition in file ipc_shared.h.


Generated on 14 Jan 2020 for Ceva-RW WLAN FullMAC SW documentation by  doxygen 1.6.1