#ifndef __Q32DSP_ICACHE__ #define __Q32DSP_ICACHE__ //*********************************************************************************// // Module name : icache.h // // Description : q32DSP icache control head file // // By Designer : zequan_liu // // Dat changed : // //*********************************************************************************// // ------ ------ ------ ------ ------ ------ // | c0 | | c1 | | c0 | | c1 | | c0 | | c1 | // ------ ------ ------ ------ ------ ------ // | | | | | | // ------ ------ ------ ------ ------ ------ // | L1 | | L1 | | L1 | | L1 | | L1 | | L1 | // ------ ------ ------ ------ ------ ------ // |_______| |_______| |_______| // | | | // --------- --------- --------- // | flash | | L2i | | L2c | // --------- --------- --------- // | | // --------- --------- // | flash | | flash | // --------- --------- // // INCLUDE_L2I==0 INCLUDE_L2I==1 INCLUDE_L2I==0 // INCLUDE_L2C==0 INCLUDE_L2C==0 INCLUDE_L2C==1 #define INCLUDE_ICU_RPT 0 #define INCLUDE_ICU_EMU 0 #define INCLUDE_L2I 0 // L2i & L2d separate #define INCLUDE_L2C 0 // L2i & L2d together //------------------------------------------------------// // icache level 1 function //------------------------------------------------------// void IcuEnable(void); void IcuDisable(void); void IcuInitial(void); void IcuWaitIdle(void); void IcuSetWayNum(unsigned int way); void IcuFlushinvAll(void); void IcuFlushinvRegion(unsigned int *beg, unsigned int len); // note len!=0 void IcuUnlockAll(void); void IcuUnlockRegion(unsigned int *beg, unsigned int len); // note len!=0 void IcuLockRegion(unsigned int *beg, unsigned int len); // note len!=0 void IcuPfetchRegion(unsigned int *beg, unsigned int len); // note len!=0 void IcuReportEnable(void); void IcuReportDisable(void); void IcuReportPrintf(void); void IcuReportClear(void); void IcuEmuEnable(void); void IcuEmuDisable(void); void IcuEmuMessage(void); //------------------------------------------------------// // icache level 2 function //------------------------------------------------------// #if (INCLUDE_L2I) void L2iEnable(void); void L2iDisable(void); void L2iInitial(void); void L2iSetWayNum(unsigned int way); void L2iFlushinvAll(void); void L2iFlushinvRegion(unsigned int *beg, unsigned int len); // note len!=0 void L2iUnlockAll(void); void L2iUnlockRegion(unsigned int *beg, unsigned int len); // note len!=0 void L2iLockRegion(unsigned int *beg, unsigned int len); // note len!=0 void L2iPfetchRegion(unsigned int *beg, unsigned int len); // note len!=0 void L2iReportEnable(void); void L2iReportDisable(void); void L2iReportPrintf(void); void L2iReportClear(void); void L2iEmuEnable(void); void L2iEmuDisable(void); void L2iEmuMessage(void); #endif //*********************************************************************************// // // // end of this module // // // //*********************************************************************************// #endif