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

📄 ixtimesyncacc_p.h

📁 有关ARM开发板上的IXP400网络驱动程序的源码以。
💻 H
📖 第 1 页 / 共 3 页
字号:
                               IXP400_TIMESYNCACC_TSE_SNM);} /* end of ixTimeSyncAccEventAmmsFlagClear() function *//* Clear Auxiliary Slave Mode Snapshot Captured event */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccEventAsmsFlagClear(void){    /* CLEAR the sns bit by writing '1' onto it */    IXP400_TIMESYNCACC_BIT_SET(ixTsRegisters.blRegisters.tsEvent,                               IXP400_TIMESYNCACC_TSE_SNS);} /* end of ixTimeSyncAccEventAsmsFlagClear() function *//* Clear Target Time Reached event */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccEventTtmFlagClear(void){    /* CLEAR the ttipend bit by writing '1' onto it */    IXP400_TIMESYNCACC_BIT_SET(ixTsRegisters.blRegisters.tsEvent,                               IXP400_TIMESYNCACC_TSE_TTIPEND);} /* end of ixTimeSyncAccEventTtmFlagClear() function *//* * ------------------------------------------------------------------ * * Block level timestamp support functions definitions * ------------------------------------------------------------------ * *//* Set System Time value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccSystemTimeSnapshotSet (    UINT32 systemTimeLow,    UINT32 systemTimeHigh){    /* Update the System Time Low Register contents */    IXP400_TIMESYNCACC_REG_WRITE(ixTsRegisters.blRegisters.tsSysTimeLo,                                 systemTimeLow);    /* Update the System Time High Register contents */    IXP400_TIMESYNCACC_REG_WRITE(ixTsRegisters.blRegisters.tsSysTimeHi,                                 systemTimeHigh);} /* end of ixTimeSyncAccSystemTimeSnapshotSet() function *//* Get System Time Low value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccSystemTimeSnapshotGet(    UINT32 *systemTimeLow,    UINT32 *systemTimeHigh){    /* Fetch the System Time Low Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.blRegisters.tsSysTimeLo,                                systemTimeLow);    /* Fetch the System Time High Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.blRegisters.tsSysTimeHi,                                systemTimeHigh);} /* end of ixTimeSyncAccSystemTimeSnapshotGet() function *//* Set Target Time value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccTargetTimeSnapshotSet (    UINT32 targetTimeLow,    UINT32 targetTimeHigh){    /* Update the Target Time Low Register contents */    IXP400_TIMESYNCACC_REG_WRITE(ixTsRegisters.blRegisters.tsTrgtLo,                                 targetTimeLow);    /* Update the Target Time High Register contents */    IXP400_TIMESYNCACC_REG_WRITE(ixTsRegisters.blRegisters.tsTrgtHi,                                 targetTimeHigh);} /* end of ixTimeSyncAccTargetTimeSnapshotSet() function *//* Get Target Time value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccTargetTimeSnapshotGet(    UINT32 *targetTimeLow,    UINT32 *targetTimeHigh){    /* Fetch the Target Time Low Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.blRegisters.tsTrgtLo,                                targetTimeLow);    /* Fetch the Target Time High Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.blRegisters.tsTrgtHi,                                targetTimeHigh);} /* end of ixTimeSyncAccTargetTimeSnapshotGet() function *//* Set Frequency Scaling Value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccAddendFsvSet (UINT32 fsv){    /* Update the Addend Register contents */    IXP400_TIMESYNCACC_REG_WRITE(ixTsRegisters.blRegisters.tsAddend, fsv);} /* end of ixTimeSyncAccAddendFsvSet() function *//* Get Frequency Scaling Value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccAddendFsvGet (UINT32 *fsv){    /* Fetch the Addend Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.blRegisters.tsAddend, fsv);} /* end of ixTimeSyncAccAddendFsvGet() function *//* Get AMMS value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccAuxMasterModeSnapshotGet (    UINT32 *ammsLow,    UINT32 *ammsHigh){    /* Fetch the Auxiliary Master Mode Snapshot Low Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.blRegisters.tsAMMSLo, ammsLow);    /* Fetch the Auxiliary Master Mode Snapshot High Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.blRegisters.tsAMMSHi, ammsHigh);} /* end of ixTimeSyncAccAuxMasterModeSnapshotGet() function *//* Get AMMS value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccAuxSlaveModeSnapshotGet (    UINT32 *asmsLow,    UINT32 *asmsHigh){    /* Fetch the Auxiliary Slave Mode Snapshot Low Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.blRegisters.tsASMSLo, asmsLow);    /* Fetch the Auxiliary Slave Mode Snapshot High Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.blRegisters.tsASMSHi, asmsHigh);} /* end of ixTimeSyncAccAuxSlaveModeSnapshotGet() function *//* * ------------------------------------------------------------------ * * Port level configuration support functions definitions * ------------------------------------------------------------------ * *//* Set the channel mode to 1588 Master */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccControlPTPPortMasterModeSet (    UINT32 ptpPort,    BOOL masterMode){    /* SET or CLEAR the Master Mode */    if (TRUE == masterMode)    {        /* SET the mm bit */        IXP400_TIMESYNCACC_BIT_SET(            ixTsRegisters.plRegisters[ptpPort].tsChControl,            IXP400_TIMESYNCACC_CC_MM);    }    else /* else of if (TRUE == masterMode) */    {        /* CLEAR the mm bit */        IXP400_TIMESYNCACC_BIT_CLEAR(            ixTsRegisters.plRegisters[ptpPort].tsChControl,            IXP400_TIMESYNCACC_CC_MM);    } /* if (TRUE == masterMode) */} /* end of ixTimeSyncAccControlPTPPortMasterModeSet() function *//* Check for 1588 master mode of channel */PRIVATE IXP400_TIMESYNCACC_INLINE BOOLixTimeSyncAccControlPTPPortMasterModeGet (UINT32 ptpPort){    /* Is the mm bit SET? */    return IXP400_TIMESYNCACC_BIT_SET_CHECK(               ixTsRegisters.plRegisters[ptpPort].tsChControl,               IXP400_TIMESYNCACC_CC_MM);} /* end of ixTimeSyncAccControlPTPPortMasterModeGet() function *//* Set Timestamp all or only PTP messages flag */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccControlPTPPortPTPMsgTimestampSet (    UINT32 ptpPort,    BOOL allMsg){    /* SET or CLEAR the All Message Timestamping */    if (TRUE == allMsg)    {        /* SET the ta bit */        IXP400_TIMESYNCACC_BIT_SET(            ixTsRegisters.plRegisters[ptpPort].tsChControl,            IXP400_TIMESYNCACC_CC_TA);    }    else /* else of if (TRUE == allMsg) */    {    /* CLEAR the ta bit */        IXP400_TIMESYNCACC_BIT_CLEAR(            ixTsRegisters.plRegisters[ptpPort].tsChControl,            IXP400_TIMESYNCACC_CC_TA);    } /* if (TRUE == allMsg) */} /* end of ixTimeSyncAccControlPTPPortPTPMsgTimestampSet() function *//* Check for Timestamp all or only PTP messages flag */PRIVATE IXP400_TIMESYNCACC_INLINE BOOLixTimeSyncAccControlPTPPortPTPMsgTimestampGet(UINT32 ptpPort){    /* Is the ta bit SET? */    return IXP400_TIMESYNCACC_BIT_SET_CHECK(               ixTsRegisters.plRegisters[ptpPort].tsChControl,               IXP400_TIMESYNCACC_CC_TA);} /* end of ixTimeSyncAccControlPTPPortPTPMsgTimestampGet() function *//* * ------------------------------------------------------------------ * * Port level timestamp support functions definitions * ------------------------------------------------------------------ * *//* Receive Timestamp available */PRIVATE IXP400_TIMESYNCACC_INLINE BOOLixTimeSyncAccControlPTPPortRxsFlagGet (UINT32 ptpPort){    /* Is the rxs bit SET? */    return IXP400_TIMESYNCACC_BIT_SET_CHECK(               ixTsRegisters.plRegisters[ptpPort].tsChEvent,               IXP400_TIMESYNCACC_CE_RXS);} /* end of ixTimeSyncAccControlPTPPortRxsFlagGet() function *//* Transmit Timestamp available */PRIVATE IXP400_TIMESYNCACC_INLINE BOOLixTimeSyncAccControlPTPPortTxsFlagGet (UINT32 ptpPort){    /* Is the txs bit SET? */    return IXP400_TIMESYNCACC_BIT_SET_CHECK(               ixTsRegisters.plRegisters[ptpPort].tsChEvent,               IXP400_TIMESYNCACC_CE_TXS);} /* end of ixTimeSyncAccControlPTPPortTxsFlagGet() function *//* Clear Receive Timestamp available event */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccControlPTPPortRxsFlagClear(UINT32 ptpPort){    /* CLEAR the rxs bit by writing '1' onto it */    IXP400_TIMESYNCACC_REG_WRITE(ixTsRegisters.plRegisters[ptpPort].tsChEvent,                               IXP400_TIMESYNCACC_CE_RXS);} /* end of ixTimeSyncAccControlPTPPortRxsFlagClear() function *//* Clear Transmit Timestamp available event */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccControlPTPPortTxsFlagClear(UINT32 ptpPort){    /* CLEAR the txs bit by writing '1' onto it */    IXP400_TIMESYNCACC_REG_WRITE(ixTsRegisters.plRegisters[ptpPort].tsChEvent,                               IXP400_TIMESYNCACC_CE_TXS);} /* end of ixTimeSyncAccControlPTPPortTxsFlagClear() function *//* Get PTP Port Rx Timestamp value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccPTPPortReceiveSnapshotGet (    UINT32 ptpPort,    UINT32 *rxsLow,    UINT32 *rxsHigh){    /* Fetch the Receive Timestamp/Snapshot Low Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.plRegisters[ptpPort].tsRxSnapLo,                                rxsLow);    /* Fetch the Receive Timestamp/Snapshot High Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.plRegisters[ptpPort].tsRxSnapHi,                                rxsHigh);} /* end of ixTimeSyncAccPTPPortReceiveSnapshotGet() function *//* Get PTP Port Tx Timestamp value */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccPTPPortTransmitSnapshotGet (    UINT32 ptpPort,    UINT32 *txsLow,    UINT32 *txsHigh){    /* Fetch the Transmit Timestamp/Snapshot Low Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.plRegisters[ptpPort].tsTxSnapLo,                                txsLow);    /* Fetch the Transmit Timestamp/Snapshot High Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.plRegisters[ptpPort].tsTxSnapHi,                                txsHigh);} /* end of ixTimeSyncAccPTPPortTransmitSnapshotGet() function *//* Get UUID High (16-bit value) & Sequence ID (16-bit value) of PTP message */PRIVATE IXP400_TIMESYNCACC_INLINE voidixTimeSyncAccPTPMsgUuidSeqIdGet (    UINT32 ptpPort,    UINT32 *uuidLow,    UINT16 *uuidHigh,    UINT16 *seqId){    /* Local variables */    UINT32 seqIdUuidHigh = 0;    /* Fetch the UUID Low Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.plRegisters[ptpPort].tsSrcUUIDLo,                                uuidLow);    /* Fetch the Sequence ID and Source UUID High Register contents */    IXP400_TIMESYNCACC_REG_READ(ixTsRegisters.plRegisters[ptpPort].tsSrcUUIDHi,                                &seqIdUuidHigh);    *seqId    = (seqIdUuidHigh >> IXP400_TIMESYNCACC_SID_LOC);    *uuidHigh = (IXP400_TIMESYNCACC_LSB_SHORT_MASK & seqIdUuidHigh);} /* end of ixTimeSyncAccPTPMsgUuidHighSeqIdGet() function */

⌨️ 快捷键说明

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