Files
AC707N/SDK/interface/driver/cpu/br35/asm/dcache.h
T
2025-12-03 11:12:34 +08:00

151 lines
5.3 KiB
C

#ifndef __Q32DSP_DCACHE__
#define __Q32DSP_DCACHE__
//*********************************************************************************//
// Module name : dcache.h //
// Description : q32DSP dcache control head file //
// By Designer : zequan_liu //
// Dat changed : //
//*********************************************************************************//
#define INCLUDE_DCU_RPT 0
#define INCLUDE_DCU_EMU 0
#define INCLUDE_L1D 0
#define INCLUDE_L2D 0
//------------------------------------------------------//
// peripheral level 1 function
//------------------------------------------------------//
#if (INCLUDE_L1D)
void L1pEnable(void);
void L1pDisable(void);
void L1pInitial(void);
void L1pSetWayNum(unsigned int way);
void L1pInvalidAll(void);
void L1pInvalidRegion(unsigned int *beg, unsigned int len); // note len!=0
void L1pFlushAll(void);
void L1pFlushRegion(unsigned int *beg, unsigned int len); // note len!=0
void L1pFlushinvAll(void);
void L1pFlushinvRegion(unsigned int *beg, unsigned int len); // note len!=0
void L1pPfetchRegion(unsigned int *beg, unsigned int len); // note len!=0
void L1pReportEnable(void);
void L1pReportDisable(void);
void L1pReportClear(void);
void L1pReportPrintf(void);
void L1pEmuEnable(void);
void L1pEmuDisable(void);
void L1pEmuMessage(void);
void L1pWrThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
void L1pRwThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
void L1pPrivateRegion(unsigned int num, unsigned int *beg, unsigned int len);
#else
#define L1pEnable DcuEnable
#define L1pDisable DcuDisable
#define L1pInitial DcuInitial
#define L1pWaitIdle DcuWaitIdle
#define L1pSetWayNum DcuSetWayNum
#define L1pInvalidAll DcuInvalidAll
#define L1pInvalidRegion DcuInvalidRegion
#define L1pFlushAll DcuFlushAll
#define L1pFlushRegion DcuFlushRegion
#define L1pFlushinvAll DcuFlushinvAll
#define L1pFlushinvRegion DcuFlushinvRegion
#define L1pPfetchRegion DcuPfetchRegion
#define L1pReportEnable DcuReportEnable
#define L1pReportDisable DcuReportDisable
#define L1pReportClear DcuReportClear
#define L1pReportPrintf DcuReportPrintf
#define L1pEmuEnable DcuEmuEnable
#define L1pEmuDisable DcuEmuDisable
#define L1pEmuMessage DcuEmuMessage
#define L1pWrThroughRegion DcuWrThroughRegion
#define L1pRwThroughRegion DcuRwThroughRegion
#define L1pPrivateRegion DcuPrivateRegion
#endif
//------------------------------------------------------//
// dcache level 1 function
//------------------------------------------------------//
void DcuEnable(void);
void DcuDisable(void);
void DcuInitial(void);
void DcuWaitIdle(void);
void DcuSetWayNum(unsigned int way);
void DcuInvalidAll(void);
void DcuInvalidRegion(unsigned int *beg, unsigned int len); // note len!=0
void DcuFlushAll(void);
void DcuFlushRegion(unsigned int *beg, unsigned int len); // note len!=0
void DcuFlushinvAll(void);
void DcuFlushinvRegion(unsigned int *beg, unsigned int len); // note len!=0
void DcuPfetchRegion(unsigned int *beg, unsigned int len); // note len!=0
void DcuReportEnable(void);
void DcuReportDisable(void);
void DcuReportClear(void);
void DcuReportPrintf(void);
void DcuEmuEnable(void);
void DcuEmuDisable(void);
void DcuEmuMessage(void);
void DcuWrThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
void DcuRwThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
void DcuPrivateRegion(unsigned int num, unsigned int *beg, unsigned int len);
//------------------------------------------------------//
// dcache level 2 function
//------------------------------------------------------//
#if (INCLUDE_L2D)
void L2dEnable(void);
void L2dDisable(void);
void L2dInitial(void);
void L2dSetWayNum(unsigned int way);
void L2dInvalidAll(void);
void L2dInvalidRegion(unsigned int *beg, unsigned int len); // note len!=0
void L2dFlushAll(void);
void L2dFlushRegion(unsigned int *beg, unsigned int len); // note len!=0
void L2dFlushinvAll(void);
void L2dFlushinvRegion(unsigned int *beg, unsigned int len); // note len!=0
void L2dPfetchRegion(unsigned int *beg, unsigned int len); // note len!=0
void L2dReportEnable(void);
void L2dReportDisable(void);
void L2dReportClear(void);
void L2dReportPrintf(void);
void L2dEmuEnable(void);
void L2dEmuDisable(void);
void L2dEmuMessage(void);
void L2dWrThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
void L2dRwThroughRegion(unsigned int num, unsigned int *beg, unsigned int len);
void L2dPrivateRegion(unsigned int num, unsigned int *beg, unsigned int len);
#endif
//*********************************************************************************//
// //
// end of this module //
// //
//*********************************************************************************//
#endif