?? csl_mcasp.h
字號:
MCASP_Dsprep rdsprep; /* DSP representation :Q31/Integer */ Uint32 rslotsize; /* 8-32bits RXSSZ */ Uint32 rwordsize; /* rotation right */ Uint32 ralign; /* Left/Right Aligned */ Uint32 rpad; /* Pad value for extra bits */ Uint32 rpbit; /* which bit to pad the extra bits */ Uint32 rorder; /* MSB/LSB XRVRS field - XFMT reg */ Uint32 rdelay; /* FSXDLY Bit delay - XFMT reg */ } MCASP_SetupFormat; /******************************************************************************\* global variable declarations\******************************************************************************//******************************************************************************\* global function declarations\******************************************************************************/CSLAPI void MCASP_reset(MCASP_Handle hMcasp);CSLAPI void MCASP_resetAll();CSLAPI MCASP_Handle MCASP_open(int devNum, Uint32 flags);CSLAPI void MCASP_close(MCASP_Handle hMcasp);CSLAPI MCASP_Handle MCASP_getHandle(int devNum);CSLAPI Uint32 MCASP_getPins(MCASP_Handle hMcasp);CSLAPI void MCASP_setPins(MCASP_Handle hMcasp, Uint32 pins);CSLAPI void MCASP_clearPins(MCASP_Handle hMcasp, Uint32 pins);/* direction = (transmitter only) MCASP_XMT - (receiver only) MCASP_RCV - (both) MCASP_RCVXMT *//* active state machine step 8*/CSLAPI void MCASP_enableSm(MCASP_Handle hMcasp, Uint32 direction);/* enable data serializer step 5*/CSLAPI void MCASP_enableSers(MCASP_Handle hMcasp, Uint32 direction);/* enable clocks step 4 */CSLAPI void MCASP_enableClk(MCASP_Handle hMcasp, Uint32 direction);CSLAPI void MCASP_enableHclk(MCASP_Handle hMcasp, Uint32 direction);/* enable frame sync if receiver with internal frame sync */CSLAPI void MCASP_enableFsync(MCASP_Handle hMcasp, Uint32 direction);CSLAPI void MCASP_setupClk(MCASP_Handle hMcasp,MCASP_SetupClk *setupclk, Uint32 direction);CSLAPI void MCASP_setupHclk(MCASP_Handle hMcasp,MCASP_SetupHclk *setuphclk, Uint32 direction);CSLAPI void MCASP_setupFsync(MCASP_Handle hMcasp,MCASP_SetupFsync *setupfsync, Uint32 direction);CSLAPI void MCASP_setupFormat(MCASP_Handle hMcasp,MCASP_SetupFormat *setupFormat, Uint32 direction);/* Configuration of DIT mode */CSLAPI void MCASP_configDit(MCASP_Handle hMcasp,MCASP_Dsprep dsprep, Uint32 datalen); /******************************************************************************\* inline function declarations\******************************************************************************/IDECL Uint32 MCASP_getXbufAddrCfg(MCASP_Handle hMcasp, Uint32 xbufNum); IDECL Uint32 MCASP_getXbufAddr(MCASP_Handle hMcasp);IDECL Uint32 MCASP_getRbufAddrCfg(MCASP_Handle hMcasp, Uint32 rbufNum); IDECL Uint32 MCASP_getRbufAddr(MCASP_Handle hMcasp);IDECL Uint32 MCASP_getXmtEventId(MCASP_Handle hMcasp);IDECL Uint32 MCASP_getRcvEventId(MCASP_Handle hMcasp);IDECL Uint32 MCASP_read32Cfg(MCASP_Handle hMcasp, Uint32 rbufNum);IDECL void MCASP_write32Cfg(MCASP_Handle hMcasp, Uint32 xbufNum, Uint32 val);/* uses EDMA addresses */IDECL Uint32 MCASP_read32(MCASP_Handle hMcasp);IDECL void MCASP_write32(MCASP_Handle hMcasp,Uint32 val);IDECL Uint32 MCASP_rstat(MCASP_Handle hMcasp);/******* Not documented ************************/IDECL Uint32 MCASP_rovrn(MCASP_Handle hMcasp);IDECL Uint32 MCASP_rsyncerr(MCASP_Handle hMcasp);IDECL Uint32 MCASP_rckfail(MCASP_Handle hMcasp);IDECL Uint32 MCASP_revenslot(MCASP_Handle hMcasp);IDECL Uint32 MCASP_rlast(MCASP_Handle hMcasp);IDECL Uint32 MCASP_rdata(MCASP_Handle hMcasp);IDECL Uint32 MCASP_rstafrm(MCASP_Handle hMcasp);IDECL Uint32 MCASP_rerr(MCASP_Handle hMcasp);IDECL Uint32 MCASP_xstat(MCASP_Handle hMcasp);/******* Not documented ************************/IDECL Uint32 MCASP_xundrn(MCASP_Handle hMcasp);IDECL Uint32 MCASP_xsyncerr(MCASP_Handle hMcasp);IDECL Uint32 MCASP_xckfail(MCASP_Handle hMcasp);IDECL Uint32 MCASP_xevenslot(MCASP_Handle hMcasp);IDECL Uint32 MCASP_xlast(MCASP_Handle hMcasp);IDECL Uint32 MCASP_xdata(MCASP_Handle hMcasp);IDECL Uint32 MCASP_xstafrm(MCASP_Handle hMcasp);IDECL Uint32 MCASP_xerr(MCASP_Handle hMcasp);IDECL Uint32 MCASP_getRslotcnt(MCASP_Handle hMcasp);IDECL Uint32 MCASP_getXslotcnt(MCASP_Handle hMcasp);IDECL Uint32 MCASP_getRclkcnt(MCASP_Handle hMcasp);IDECL Uint32 MCASP_getXclkcnt(MCASP_Handle hMcasp);IDECL Uint32 MCASP_getMutin(MCASP_Handle hMcasp);/*****************************************************/IDECL void MCASP_clearRcvStat(MCASP_Handle hMcasp,Uint32 fieldnum);IDECL void MCASP_clearXmtStat(MCASP_Handle hMcasp,Uint32 fieldnum);IDECL Uint32 MCASP_getChanStatusAddr(MCASP_Handle hMcasp, Uint32 chSide, Uint32 chNum);IDECL Uint32 MCASP_getUserDataAddr(MCASP_Handle hMcasp, Uint32 chSide, Uint32 chNum);IDECL void MCASP_config(MCASP_Handle hMcasp, MCASP_Config *config);IDECL void MCASP_configGbl(MCASP_Handle hMcasp, MCASP_ConfigGbl *config);IDECL void MCASP_configRcv(MCASP_Handle hMcasp, MCASP_ConfigRcv *config);IDECL void MCASP_configXmt(MCASP_Handle hMcasp, MCASP_ConfigXmt *config);IDECL void MCASP_configSrctl(MCASP_Handle hMcasp, MCASP_ConfigSrctl *config);/************** Not documented ****************************************/#if (_MCASP_CHANNEL_CNT == 16)IDECL void MCASP_configArgs(MCASP_Handle hMcasp, Uint32 pfunc, Uint32 pdir, Uint32 amute, Uint32 dlbctl, Uint32 ditctl, Uint32 rmask, Uint32 rfmt, Uint32 afsrctl, Uint32 aclkrctl, Uint32 ahclkrctl, Uint32 rtdm, Uint32 rintctl, Uint32 rclkchk, Uint32 xmask, Uint32 xfmt, Uint32 afsxctl, Uint32 aclkxctl, Uint32 ahclkxctl, Uint32 xtdm, Uint32 xintctl, Uint32 xclkchk, Uint32 srctl0, Uint32 srctl1, Uint32 srctl2, Uint32 srctl3, Uint32 srctl4, Uint32 srctl5, Uint32 srctl6, Uint32 srctl7, Uint32 srctl8, Uint32 srctl9, Uint32 srctl10, Uint32 srctl11, Uint32 srctl12, Uint32 srctl13, Uint32 srctl14, Uint32 srctl15 );#elseIDECL void MCASP_configArgs(MCASP_Handle hMcasp, Uint32 pfunc, Uint32 pdir, Uint32 amute, Uint32 dlbctl, Uint32 ditctl, Uint32 rmask, Uint32 rfmt, Uint32 afsrctl, Uint32 aclkrctl, Uint32 ahclkrctl, Uint32 rtdm, Uint32 rintctl, Uint32 rclkchk, Uint32 xmask, Uint32 xfmt, Uint32 afsxctl, Uint32 aclkxctl, Uint32 ahclkxctl, Uint32 xtdm, Uint32 xintctl, Uint32 xclkchk, Uint32 srctl0, Uint32 srctl1, Uint32 srctl2, Uint32 srctl3, Uint32 srctl4, Uint32 srctl5, Uint32 srctl6, Uint32 srctl7);#endif /* _MCASP_CHANNEL_CNT == 16 *//**********************************************************************/IDECL void MCASP_getConfig(MCASP_Handle hMcasp, MCASP_Config *config);IDECL void MCASP_resetXmt(MCASP_Handle hMcasp);IDECL void MCASP_resetRcv(MCASP_Handle hMcasp);/** read GBLCTL register with the right value **/IDECL Uint32 MCASP_getGblctl(MCASP_Handle hMcasp, Uint32 direction);/******************************************************************************\* inline function definitions\******************************************************************************/#ifdef USEDEFS/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getXbufAddr(MCASP_Handle hMcasp) { return (Uint32)(hMcasp->xbufAddr);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getXbufAddrCfg(MCASP_Handle hMcasp, Uint32 xbufNum) { return (Uint32)(hMcasp->xbufAddrCfg + (xbufNum*MCASP_XBUF_BUFSIZE));}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getRbufAddr(MCASP_Handle hMcasp) { return (Uint32)(hMcasp->rbufAddr);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getRbufAddrCfg(MCASP_Handle hMcasp, Uint32 rbufNum) { return (Uint32)(hMcasp->rbufAddrCfg + (rbufNum*MCASP_RBUF_BUFSIZE));}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getGblctl(MCASP_Handle hMcasp,Uint32 direction) { if (direction == MCASP_XMT) { return (MCASP_RGETH(hMcasp,XGBLCTL)& 0x0001F00); } else { if (direction == MCASP_RCV) { return (MCASP_RGETH(hMcasp,RGBLCTL)& 0x000001F); } else { return (MCASP_RGETH(hMcasp,GBLCTL)); } }}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getXmtEventId(MCASP_Handle hMcasp) { return (hMcasp->xmtEventId);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getRcvEventId(MCASP_Handle hMcasp) { return (hMcasp->rcvEventId);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_read32Cfg(MCASP_Handle hMcasp, Uint32 rbufNum) { return (*(volatile Uint32 *)(hMcasp->rbufAddrCfg + (rbufNum*MCASP_RBUF_BUFSIZE)));}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_read32(MCASP_Handle hMcasp) { return (*(volatile Uint32 *)(hMcasp->rbufAddr));}/*----------------------------------------------------------------------------*/IDEF void MCASP_write32Cfg(MCASP_Handle hMcasp, Uint32 xbufNum, Uint32 val) { (*(volatile Uint32 *)(hMcasp->xbufAddrCfg + (xbufNum*MCASP_XBUF_BUFSIZE))) = val;}/*----------------------------------------------------------------------------*/IDEF void MCASP_write32(MCASP_Handle hMcasp, Uint32 val) { (*(volatile Uint32 *)(hMcasp->xbufAddr)) = val;}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_rstat(MCASP_Handle hMcasp) { return MCASP_RGETH(hMcasp,RSTAT);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_rovrn(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RSTAT,ROVRN);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_rsyncerr(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RSTAT,RSYNCERR);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_rckfail(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RSTAT,RCKFAIL);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_revenslot(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RSTAT,RTDMSLOT);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_rlast(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RSTAT,RLAST);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_rdata(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RSTAT,RDATA);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_rstafrm(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RSTAT,RSTAFRM);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_rerr(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RSTAT,RERR);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_xstat(MCASP_Handle hMcasp) { return MCASP_RGETH(hMcasp,XSTAT);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_xundrn(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XSTAT,XUNDRN);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_xsyncerr(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XSTAT,XSYNCERR);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_xckfail(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XSTAT,XCKFAIL);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_xevenslot(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XSTAT,XTDMSLOT);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_xlast(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XSTAT,XLAST);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_xdata(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XSTAT,XDATA);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_xstafrm(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XSTAT,XSTAFRM);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_xerr(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XSTAT,XERR);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getRslotcnt(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RSLOT,RSLOTCNT);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getXslotcnt(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XSLOT,XSLOTCNT);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getRclkcnt(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,RCLKCHK,RCNT);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getXclkcnt(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,XCLKCHK,XCNT);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getMutin(MCASP_Handle hMcasp) { return MCASP_FGETH(hMcasp,AMUTE,INSTAT);}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getChanStatusAddr(MCASP_Handle hMcasp, Uint32 chSide, Uint32 chNum) { return (Uint32)(hMcasp->ditcsrAddr + (chSide*MCASP_DITCSR_RIGHT_OFFSET)+ (chNum*MCASP_DITCSR_BUFSIZE));}/*----------------------------------------------------------------------------*/IDEF Uint32 MCASP_getUserDataAddr(MCASP_Handle hMcasp, Uint32 chSide, Uint32 chNum) { return (Uint32)(hMcasp->ditudrAddr + (chSide*MCASP_DITUDR_RIGHT_OFFSET)+ (chNum*MCASP_DITUDR_BUFSIZE));}/*----------------------------------------------------------------------------*/IDEF void MCASP_clearXmtStat(MCASP_Handle hMcasp, Uint32 fieldnum){ MCASP_RSETH(hMcasp,XSTAT,1<<fieldnum);}/*----------------------------------------------------------------------------*/IDEF void MCASP_clearRcvStat(MCASP_Handle hMcasp, Uint32 fieldnum){ MCASP_RSETH(hMcasp,RSTAT,1<<fieldnum);}/*----------------------------------------------------------------------------*/IDEF void MCASP_resetRcv(MCASP_Handle hMcasp) {/* reset State Machine = clear serial buffer = reset frame sync generator reset Clock */ MCASP_RSETH(hMcasp,GBLCTL, MCASP_RGETH(hMcasp,RGBLCTL) &\ MCASP_FMKS(GBLCTL,RSRCLR,CLEAR) \ | MCASP_FMKS(GBLCTL,RSMRST,RESET) \ | MCASP_FMKS(GBLCTL,RFRST,RESET) \
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -