⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csl_mcasp.h

📁 SEED的VPM642测试程序-板级支持库
💻 H
📖 第 1 页 / 共 4 页
字号:
	| MCASP_FMKS(GBLCTL,RCLKRST,RESET) \
	| MCASP_FMKS(GBLCTL,RHCLKRST,RESET) \
	);
}
/*----------------------------------------------------------------------------*/
IDEF void MCASP_resetXmt(MCASP_Handle hMcasp) {
/* reset State Machine = clear serial buffer = reset frame sync generator 
   reset Clock */
  MCASP_RSETH(hMcasp,GBLCTL, MCASP_RGETH(hMcasp,XGBLCTL) &\
	  MCASP_FMKS(GBLCTL,XSRCLR,CLEAR) \
	| MCASP_FMKS(GBLCTL,XSMRST,RESET) \
	| MCASP_FMKS(GBLCTL,XFRST,RESET) \
	| MCASP_FMKS(GBLCTL,XCLKRST,RESET) \
	| MCASP_FMKS(GBLCTL,XHCLKRST,RESET) 
	);
}
/*----------------------------------------------------------------------------*/
#if (_MCASP_CHANNEL_CNT == 16)
IDEF void MCASP_config(MCASP_Handle hMcasp, MCASP_Config *config) {

  Uint32 gie;
  volatile Uint32 *base = (volatile Uint32 *)(hMcasp->baseAddr);
  register int x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19;
  register int x20,x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36;

  gie = IRQ_globalDisable();

  /* the compiler generates more efficient code if the loads */
  /* and stores are grouped together rather than intermixed  */
  x0 = config->global->pfunc;
  x1 = config->global->pdir;
  x2 = config->global->amute;
  x3 = config->global->dlbctl;
  x4 = config->global->ditctl;
  x5 = config->receive->rmask;
  x6 = config->receive->rfmt;
  x7 = config->receive->afsrctl;
  x8 = config->receive->aclkrctl;
  x9 = config->receive->ahclkrctl;
  x10 = config->receive->rtdm;
  x11 = config->receive->rintctl;
  x12 = config->receive->rclkchk;
  x13 = config->transmit->xmask;
  x14 = config->transmit->xfmt;
  x15 = config->transmit->afsxctl;
  x16 = config->transmit->aclkxctl;
  x17 = config->transmit->ahclkxctl;
  x18 = config->transmit->xtdm;
  x19 = config->transmit->xintctl;
  x20 = config->transmit->xclkchk;
  x21 = config->srctl->srctl0;
  x22 = config->srctl->srctl1;
  x23 = config->srctl->srctl2;
  x24 = config->srctl->srctl3;
  x25 = config->srctl->srctl4;
  x26 = config->srctl->srctl5;
  x27 = config->srctl->srctl6;
  x28 = config->srctl->srctl7;
  x29 = config->srctl->srctl8;
  x30 = config->srctl->srctl9;
  x31 = config->srctl->srctl10;
  x32 = config->srctl->srctl11;
  x33 = config->srctl->srctl12;
  x34 = config->srctl->srctl13;
  x35 = config->srctl->srctl14;
  x36 = config->srctl->srctl15;

  base[_MCASP_RMASK_OFFSET] = 	x5;
  base[_MCASP_RFMT_OFFSET] = 	x6;
  base[_MCASP_AFSRCTL_OFFSET] = x7;
  base[_MCASP_ACLKRCTL_OFFSET]= x8;
  base[_MCASP_AHCLKRCTL_OFFSET]= x9;
  base[_MCASP_RTDM_OFFSET] = 	x10;
  base[_MCASP_RINTCTL_OFFSET] = x11;
  base[_MCASP_RCLKCHK_OFFSET] = x12;
  base[_MCASP_XMASK_OFFSET] = 	x13;
  base[_MCASP_XFMT_OFFSET] = 	x14;
  base[_MCASP_AFSXCTL_OFFSET] = x15;
  base[_MCASP_ACLKXCTL_OFFSET]= x16;
  base[_MCASP_AHCLKXCTL_OFFSET]= x17;
  base[_MCASP_XTDM_OFFSET] = 	x18;
  base[_MCASP_XINTCTL_OFFSET] = x19;
  base[_MCASP_XCLKCHK_OFFSET] = x20;
  base[_MCASP_SRCTL0_OFFSET] = 	x21;
  base[_MCASP_SRCTL1_OFFSET] = 	x22;
  base[_MCASP_SRCTL2_OFFSET] = 	x23;
  base[_MCASP_SRCTL3_OFFSET] = 	x24;
  base[_MCASP_SRCTL4_OFFSET] = 	x25;
  base[_MCASP_SRCTL5_OFFSET] = 	x26;
  base[_MCASP_SRCTL6_OFFSET] = 	x27;
  base[_MCASP_SRCTL7_OFFSET] = 	x28;
  base[_MCASP_SRCTL8_OFFSET] = 	x29;
  base[_MCASP_SRCTL9_OFFSET] = 	x30;
  base[_MCASP_SRCTL10_OFFSET] = x31;
  base[_MCASP_SRCTL11_OFFSET] = x32;
  base[_MCASP_SRCTL12_OFFSET] = x33;
  base[_MCASP_SRCTL13_OFFSET] = x34;
  base[_MCASP_SRCTL14_OFFSET] = x35;
  base[_MCASP_SRCTL15_OFFSET] = x36;
  base[_MCASP_AMUTE_OFFSET]  = 	x2;
  base[_MCASP_DLBCTL_OFFSET] = 	x3;
  base[_MCASP_DITCTL_OFFSET] =  x4;
  base[_MCASP_PFUNC_OFFSET] = 	x0;
  base[_MCASP_PDIR_OFFSET]  = 	x1;

  IRQ_globalRestore(gie);
}
#else
IDEF void MCASP_config(MCASP_Handle hMcasp, MCASP_Config *config) {

  Uint32 gie;
  volatile Uint32 *base = (volatile Uint32 *)(hMcasp->baseAddr);
  register int x0,x1,x2,x3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16,x17,x18,x19;
  register int x20,x21,x22,x23,x24,x25,x26,x27,x28;

  gie = IRQ_globalDisable();

  /* the compiler generates more efficient code if the loads */
  /* and stores are grouped together rather than intermixed  */
  x0 = config->global->pfunc;
  x1 = config->global->pdir;
  x2 = config->global->amute;
  x3 = config->global->dlbctl;
  x4 = config->global->ditctl;
  x5 = config->receive->rmask;
  x6 = config->receive->rfmt;
  x7 = config->receive->afsrctl;
  x8 = config->receive->aclkrctl;
  x9 = config->receive->ahclkrctl;
  x10 = config->receive->rtdm;
  x11 = config->receive->rintctl;
  x12 = config->receive->rclkchk;
  x13 = config->transmit->xmask;
  x14 = config->transmit->xfmt;
  x15 = config->transmit->afsxctl;
  x16 = config->transmit->aclkxctl;
  x17 = config->transmit->ahclkxctl;
  x18 = config->transmit->xtdm;
  x19 = config->transmit->xintctl;
  x20 = config->transmit->xclkchk;
  x21 = config->srctl->srctl0;
  x22 = config->srctl->srctl1;
  x23 = config->srctl->srctl2;
  x24 = config->srctl->srctl3;
  x25 = config->srctl->srctl4;
  x26 = config->srctl->srctl5;
  x27 = config->srctl->srctl6;
  x28 = config->srctl->srctl7;

  base[_MCASP_RMASK_OFFSET] = 	x5;
  base[_MCASP_RFMT_OFFSET] = 	x6;
  base[_MCASP_AFSRCTL_OFFSET] = x7;
  base[_MCASP_ACLKRCTL_OFFSET]= x8;
  base[_MCASP_AHCLKRCTL_OFFSET]= x9;
  base[_MCASP_RTDM_OFFSET] = 	x10;
  base[_MCASP_RINTCTL_OFFSET] = x11;
  base[_MCASP_RCLKCHK_OFFSET] = x12;
  base[_MCASP_XMASK_OFFSET] = 	x13;
  base[_MCASP_XFMT_OFFSET] = 	x14;
  base[_MCASP_AFSXCTL_OFFSET] = x15;
  base[_MCASP_ACLKXCTL_OFFSET]= x16;
  base[_MCASP_AHCLKXCTL_OFFSET]= x17;
  base[_MCASP_XTDM_OFFSET] = 	x18;
  base[_MCASP_XINTCTL_OFFSET] = x19;
  base[_MCASP_XCLKCHK_OFFSET] = x20;
  base[_MCASP_SRCTL0_OFFSET] = 	x21;
  base[_MCASP_SRCTL1_OFFSET] = 	x22;
  base[_MCASP_SRCTL2_OFFSET] = 	x23;
  base[_MCASP_SRCTL3_OFFSET] = 	x24;
  base[_MCASP_SRCTL4_OFFSET] = 	x25;
  base[_MCASP_SRCTL5_OFFSET] = 	x26;
  base[_MCASP_SRCTL6_OFFSET] = 	x27;
  base[_MCASP_SRCTL7_OFFSET] = 	x28;
  base[_MCASP_AMUTE_OFFSET]  = 	x2;
  base[_MCASP_DLBCTL_OFFSET] = 	x3;
  base[_MCASP_DITCTL_OFFSET] =  x4;
  base[_MCASP_PFUNC_OFFSET] = 	x0;
  base[_MCASP_PDIR_OFFSET]  = 	x1;

  IRQ_globalRestore(gie);
}
#endif /* _MCASP_CHANNEL_CNT == 16 */

/*----------------------------------------------------------------------------*/
IDEF void MCASP_configGbl(MCASP_Handle hMcasp, MCASP_ConfigGbl *config) {

  Uint32 gie;
  volatile Uint32 *base = (volatile Uint32 *)(hMcasp->baseAddr);
  register int x0,x1,x2,x3,x4;

  gie = IRQ_globalDisable();

  /* the compiler generates more efficient code if the loads */
  /* and stores are grouped together rather than intermixed  */
  x0 = config->pfunc;
  x1 = config->pdir;
  x2 = config->amute;
  x3 = config->dlbctl;
  x4 = config->ditctl;

  base[_MCASP_PFUNC_OFFSET] = 	x0;
  base[_MCASP_AMUTE_OFFSET]  = 	x2;
  base[_MCASP_DLBCTL_OFFSET] = 	x3;
  base[_MCASP_DITCTL_OFFSET] = x4;
  base[_MCASP_PDIR_OFFSET]  = 	x1;

  IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/
IDEF void MCASP_configRcv(MCASP_Handle hMcasp, MCASP_ConfigRcv *config) {

  Uint32 gie;
  volatile Uint32 *base = (volatile Uint32 *)(hMcasp->baseAddr);
  register int x5,x6,x7,x8,x9,x10,x11,x12;

  gie = IRQ_globalDisable();

  /* the compiler generates more efficient code if the loads */
  /* and stores are grouped together rather than intermixed  */
  x5 = config->rmask;
  x6 = config->rfmt;
  x7 = config->afsrctl;
  x8 = config->aclkrctl;
  x9 = config->ahclkrctl;
  x10 = config->rtdm;
  x11 = config->rintctl;
  x12 = config->rclkchk;

  base[_MCASP_RMASK_OFFSET] = 	x5;
  base[_MCASP_RFMT_OFFSET] = 	x6;
  base[_MCASP_AFSRCTL_OFFSET] = x7;
  base[_MCASP_ACLKRCTL_OFFSET]= x8;
  base[_MCASP_AHCLKRCTL_OFFSET]= x9;
  base[_MCASP_RTDM_OFFSET] = 	x10;
  base[_MCASP_RINTCTL_OFFSET] = x11;
  base[_MCASP_RCLKCHK_OFFSET] = x12;

  IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/
IDEF void MCASP_configXmt(MCASP_Handle hMcasp, MCASP_ConfigXmt *config) {

  Uint32 gie;
  volatile Uint32 *base = (volatile Uint32 *)(hMcasp->baseAddr);
  register int x13,x14,x15,x16,x17,x18,x19,x20;

  gie = IRQ_globalDisable();

  /* the compiler generates more efficient code if the loads */
  /* and stores are grouped together rather than intermixed  */
  x13 = config->xmask;
  x14 = config->xfmt;
  x15 = config->afsxctl;
  x16 = config->aclkxctl;
  x17 = config->ahclkxctl;
  x18 = config->xtdm;
  x19 = config->xintctl;
  x20 = config->xclkchk;

  base[_MCASP_XMASK_OFFSET] = 	x13;
  base[_MCASP_XFMT_OFFSET] = 	x14;
  base[_MCASP_AFSXCTL_OFFSET] = x15;
  base[_MCASP_ACLKXCTL_OFFSET]= x16;
  base[_MCASP_AHCLKXCTL_OFFSET]= x17;
  base[_MCASP_XTDM_OFFSET] = 	x18;
  base[_MCASP_XINTCTL_OFFSET] = x19;
  base[_MCASP_XCLKCHK_OFFSET] = x20;

  IRQ_globalRestore(gie);
}
/*----------------------------------------------------------------------------*/
#if (_MCASP_CHANNEL_CNT == 16)	
IDEF void MCASP_configSrctl(MCASP_Handle hMcasp, MCASP_ConfigSrctl *config) {

  Uint32 gie;
  volatile Uint32 *base = (volatile Uint32 *)(hMcasp->baseAddr);
  register int x21,x22,x23,x24,x25,x26,x27,x28,x29,x30,x31,x32,x33,x34,x35,x36;

  gie = IRQ_globalDisable();

  /* the compiler generates more efficient code if the loads */
  /* and stores are grouped together rather than intermixed  */
  x21 = config->srctl0;
  x22 = config->srctl1;
  x23 = config->srctl2;
  x24 = config->srctl3;
  x25 = config->srctl4;
  x26 = config->srctl5;
  x27 = config->srctl6;
  x28 = config->srctl7;
  x29 = config->srctl8;
  x30 = config->srctl9;
  x31 = config->srctl10;
  x32 = config->srctl11;
  x33 = config->srctl12;
  x34 = config->srctl13;
  x35 = config->srctl14;
  x36 = config->srctl15;

  base[_MCASP_SRCTL0_OFFSET] = 	x21;
  base[_MCASP_SRCTL1_OFFSET] = 	x22;
  base[_MCASP_SRCTL2_OFFSET] = 	x23;
  base[_MCASP_SRCTL3_OFFSET] = 	x24;
  base[_MCASP_SRCTL4_OFFSET] = 	x25;
  base[_MCASP_SRCTL5_OFFSET] = 	x26;
  base[_MCASP_SRCTL6_OFFSET] = 	x27;
  base[_MCASP_SRCTL7_OFFSET] = 	x28;
  base[_MCASP_SRCTL8_OFFSET] = 	x29;
  base[_MCASP_SRCTL9_OFFSET] = 	x30;
  base[_MCASP_SRCTL10_OFFSET] = x31;
  base[_MCASP_SRCTL11_OFFSET] = x32;
  base[_MCASP_SRCTL12_OFFSET] = x33;
  base[_MCASP_SRCTL13_OFFSET] = x34;
  base[_MCASP_SRCTL14_OFFSET] = x35;
  base[_MCASP_SRCTL15_OFFSET] = x36;

  IRQ_globalRestore(gie);
}
#else
IDEF void MCASP_configSrctl(MCASP_Handle hMcasp, MCASP_ConfigSrctl *config) {

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -