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

📄 pc1394regaccesstest.c

📁 vxWorks下pc1394的驱动程序
💻 C
📖 第 1 页 / 共 5 页
字号:

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + HC_CTR_CLR_ADR, ulTempData);
   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevGetCycleMaster
DESC:   	routine to get LinkControl.CycleMaster of PC 1394 card
PARAM:  	none
RETURN: 	ulRegData   - value return from PHY 
******************************************************************************/
int pc1394DevGetCycleMaster(void)
{
   unsigned long ulTempData;

   ulTempData = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_SET_ADR));

   ulTempData = (ulTempData & DATA_BIT21) >> 21;

   return(ulTempData);
}

/******************************************************************************
TITLE:  	pc1394DevSetCycleMaster
DESC:   	routine to set LinkControl.CycleMaster of PC 1394 card
PARAM:  	none
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 
******************************************************************************/
STATUS pc1394DevSetCycleMaster(void)
{
   unsigned long ulTempData;

   ulTempData = DATA_BIT21;

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_SET_ADR, ulTempData);
   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevClrCycleMaster
DESC:   	routine to clear LinkControl.CycleMaster of PC 1394 card  
PARAM:  	none
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 
******************************************************************************/
STATUS pc1394DevClrCycleMaster(void)
{
   unsigned long ulTempData;

   ulTempData = DATA_BIT21;

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_CLR_ADR, ulTempData);
   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevGetCycleTimerEn
DESC:   	routine to get LinkControl.CycleTimerEn of PC 1394 card
PARAM:  	none
RETURN: 	ulRegData   - value return from PHY 
******************************************************************************/
int pc1394DevGetCycleTimerEn(void)
{
   unsigned long ulTempData;

   ulTempData = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_SET_ADR));

   ulTempData = (ulTempData & DATA_BIT20) >> 20;

   return(ulTempData);
}

/******************************************************************************
TITLE:  	pc1394DevSetCycleTimerEn
DESC:   	routine to set LinkControl.CycleTimerEn of PC 1394 card
PARAM:  	none
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 
******************************************************************************/
STATUS pc1394DevSetCycleTimerEn(void)
{
   unsigned long ulTempData;

   ulTempData = DATA_BIT20;

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_SET_ADR, ulTempData);
   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevClrCycleTimerEn
DESC:   	routine to clear LinkControl.CycleTimerEn of PC 1394 card  
PARAM:  	none
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 
******************************************************************************/
STATUS pc1394DevClrCycleTimerEn(void)
{
   unsigned long ulTempData;

   ulTempData = DATA_BIT20;

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_CLR_ADR, ulTempData);
   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevGetRcvPhyPkt
DESC:   	routine to get LinkControl.RcvPhyPkt of PC 1394 card
PARAM:  	none
RETURN: 	ulRegData   - value return from PHY 
******************************************************************************/
int pc1394DevGetRcvPhyPkt(void)
{
   unsigned long ulTempData;

   ulTempData = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_SET_ADR));

   ulTempData = (ulTempData & DATA_BIT10) >> 10;

   return(ulTempData);
}

/******************************************************************************
TITLE:  	pc1394DevSetRcvPhyPkt
DESC:   	routine to set LinkControl.RcvPhyPkt of PC 1394 card
PARAM:  	none
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 
******************************************************************************/
STATUS pc1394DevSetRcvPhyPkt(void)
{
   unsigned long ulTempData;

   ulTempData = DATA_BIT10;

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_SET_ADR, ulTempData);
   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevClrRcvPhyPkt
DESC:   	routine to clear LinkControl.RcvPhyPkt of PC 1394 card  
PARAM:  	none
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 
******************************************************************************/
STATUS pc1394DevClrRcvPhyPkt(void)
{
   unsigned long ulTempData;

   ulTempData = DATA_BIT10;

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_CLR_ADR, ulTempData);
   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevGetRcvSelfID
DESC:   	routine to get LinkControl.RcvSelfID of PC 1394 card
PARAM:  	none
RETURN: 	ulRegData   - value return from PHY 
******************************************************************************/
int pc1394DevGetRcvSelfID(void)
{
   unsigned long ulTempData;

   ulTempData = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_SET_ADR));

   ulTempData = (ulTempData & DATA_BIT9) >> 9;

   return(ulTempData);
}

/******************************************************************************
TITLE:  	pc1394DevSetRcvSelfID
DESC:   	routine to set LinkControl.RcvSelfID of PC 1394 card
PARAM:  	none
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 
******************************************************************************/
STATUS pc1394DevSetRcvSelfID(void)
{
   unsigned long ulTempData;

   ulTempData = DATA_BIT9;

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_SET_ADR, ulTempData);
   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevClrRcvSelfID
DESC:   	routine to clear LinkControl.RcvSelfID of PC 1394 card  
PARAM:  	none
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 
******************************************************************************/
STATUS pc1394DevClrRcvSelfID(void)
{
   unsigned long ulTempData;

   ulTempData = DATA_BIT9;

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + LINK_CTR_REG_CLR_ADR, ulTempData);
   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevGetPhyReqFilter
DESC:   	routine to get PhyReqFilter registerr of PC 1394 card
PARAM:  	ulRegData   - pointer to the buffer hold values return from PHY
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed

NOTE:    ulRegData should be 64 bit buffer
         the high Quadlet of PhyReqFilter register is write to ulRegData[1]
         the low Quadlet of PhyReqFilter register is write to ulRegData[0]
******************************************************************************/
STATUS pc1394DevGetPhyReqFilter(unsigned long *ulRegData)
{
   ulRegData[1] = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + PHY_REQ_F_REG_HI_SET_ADR));

   ulRegData[0] = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + PHY_REQ_F_REG_LO_SET_ADR));

   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevSetPhyReqFilter
DESC:   	routine to set PhyReqFilter register of PC 1394 card
PARAM:  	ulRegData   - pointer to buffer to write 
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed

NOTE:    ulRegData should be 64 bit buffer
         the high Quadlet is hold in ulRegData[1]
         the low Quadlet is write to ulRegData[0]
******************************************************************************/
STATUS pc1394DevSetPhyReqFilter(unsigned long *ulRegData)
{
   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + PHY_REQ_F_REG_HI_SET_ADR, ulRegData[1]);

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + PHY_REQ_F_REG_LO_SET_ADR, ulRegData[0]);

   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevClrPhyReqFilter
DESC:   	routine to clear PhyReqFilter register of PC 1394 card  
PARAM:  	ulRegData   - pointer to buffer to write 
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 

NOTE:    ulRegData should be 64 bit buffer
         the high Quadlet is hold in ulRegData[1]
         the low Quadlet is write to ulRegData[0]
******************************************************************************/
STATUS pc1394DevClrPhyReqFilter(unsigned long *ulRegData)
{
   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + PHY_REQ_F_REG_HI_CLR_ADR, ulRegData[1]);

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + PHY_REQ_F_REG_LO_CLR_ADR, ulRegData[0]);

   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevGetAsynReqFilter
DESC:   	routine to get AsynReqFilter registerr of PC 1394 card
PARAM:  	ulRegData   - pointer to the buffer hold values return from PHY
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed

NOTE:    ulRegData should be 64 bit buffer
         the high Quadlet of AsynReqFilter register is write to ulRegData[1]
         the low Quadlet of AsynReqFilter register is write to ulRegData[0]
******************************************************************************/
STATUS pc1394DevGetAsynReqFilter(unsigned long *ulRegData)
{
   ulRegData[1] = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + ASY_REQ_F_REG_HI_SET_ADR));

   ulRegData[0] = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + ASY_REQ_F_REG_LO_SET_ADR));

   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevSetAsynReqFilter
DESC:   	routine to set AsynReqFilter register of PC 1394 card
PARAM:  	ulRegData   - pointer to buffer to write 
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed

NOTE:    ulRegData should be 64 bit buffer
         the high Quadlet is hold in ulRegData[1]
         the low Quadlet is write to ulRegData[0]
******************************************************************************/
STATUS pc1394DevSetAsynReqFilter(unsigned long *ulRegData)
{
   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + ASY_REQ_F_REG_HI_SET_ADR, ulRegData[1]);

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + ASY_REQ_F_REG_LO_SET_ADR, ulRegData[0]);

   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevClrAsynReqFilter
DESC:   	routine to clear AsynReqFilter register of PC 1394 card  
PARAM:  	ulRegData   - pointer to buffer to write 
RETURN: 	OK    - operation runs successfully
         ERROR - operation runs failed 

NOTE:    ulRegData should be 64 bit buffer
         the high Quadlet is hold in ulRegData[1]
         the low Quadlet is write to ulRegData[0]
******************************************************************************/
STATUS pc1394DevClrAsynReqFilter(unsigned long *ulRegData)
{
   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + ASY_REQ_F_REG_HI_CLR_ADR, ulRegData[1]);

   pciWriteLong((int)pPc1394Dev.pciControllerSpace0 + ASY_REQ_F_REG_LO_CLR_ADR, ulRegData[0]);

   return(OK);
}

/******************************************************************************
TITLE:  	pc1394DevGetIntEvent
DESC:   	routine to get IntEvent register of PC 1394 card   
PARAM:  	none
RETURN: 	ulTempData   - value return from PHY 
******************************************************************************/
int pc1394DevGetIntEvent(void)
{
   unsigned long ulTempData;

   ulTempData = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + INTEVENT_REG_SET_ADR));

   return(ulTempData);
}

/******************************************************************************
TITLE:  	pc1394DevGetIntEventMasked
DESC:   	routine to get IntEvent & IntMask register of PC 1394 card   
PARAM:  	none
RETURN: 	ulTempData   - value return from PHY 
******************************************************************************/
int pc1394DevGetIntEventMasked(void)
{
   unsigned long ulTempData;

   ulTempData = pciReadLong((int)(pPc1394Dev.pciControllerSpace0 + INTEVENT_REG_CLR_ADR));

   return(ulTempData);
}

/******************************************************************************
TITLE:  	pc1394DevSetIntEvent
DESC: 

⌨️ 快捷键说明

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