/**********************************************************************************************************************
*  Copyright (C), 2022-2026, SMARTLOGIC TECHNOLOGY LTD.
*  File Name: ecpri_csu.h
*  Create Date: 23/07/31
*  Description: eCPRI CSU Module Header File
*  Change History:
*      <author>      <time>      <version>   <desc>
*    1. LiX         23/07/31        1.0       Build this module
**********************************************************************************************************************/

#ifndef _ECPRI_CSU_H_
#define _ECPRI_CSU_H_

#include "typedef.h"
#include "ucp_csu.h"
#include "ucp_utility.h"
#include "ape_csu.h"
#include "ecpri_que.h"


#ifndef NULL
#define NULL                                    ((void *)0)
#endif

#define ECPRI_CSU_REG_NUM                       32
#define ECPRI_CSU_RFM_REG_START                 0
#define ECPRI_CSU_RFM_REG_END                   11


typedef enum _tagEcpriChId
{
    ECPRI_U_PLANE = 0,
    ECPRI_C_PLANE
} EcpriChId;


int32_t ecpri_csu_init(void);

uint32_t ecpri_csu_get_free_channel(void);

uint32_t ecpri_csu_send(uint64_t dataAddr, uint32_t dataLen, uint8_t isWait);

int32_t ecpri_csu_task_lookup(uint8_t task_tag, uint8_t isWait);
#endif



