PDK API Guide for J721E
|
Time synchronization PTP configuration structure.
Data Fields | |
void * | nwDrvHandle |
TimeSync_SocConfig | socConfig |
TimeSync_DeviceConfig | deviceMode |
TimeSyncPtp_DelayType | type |
TimeSync_NetworkProtType | protocol |
TimeSync_VlanConfig | vlanCfg |
uint8_t | isMaster |
TimeSyncPtp_MasterParams | masterParams |
uint8_t | portMask |
TimeSyncPtp_SyncLossNotify | syncLossNotifyFxn |
uint16_t | asymmetryCorrection [TIMESYNC_PTP_MAX_PORTS_SUPPORTED] |
uint8_t | domainNumber [TIMESYNC_NUM_DOMAINS] |
uint8_t | frameOffset |
uint32_t | tickPeriod |
int8_t | logPDelReqPktInterval |
int8_t | logSyncInterval |
int8_t | logAnnounceSendInterval |
int8_t | logAnnounceRcptTimeoutInterval |
uint32_t | pDelReqPktInterval |
uint32_t | syncSendInterval |
uint32_t | announceSendInterval |
uint32_t | announceRcptTimeoutInterval |
uint32_t | pdelayBurstInterval |
uint8_t | pdelayBurstNumPkts |
uint32_t | ppsPulseIntervalNs |
uint8_t | ifMacID [6] |
uint8_t | ipAddr [4] |
uint8_t | hsrEnabled |
uint8_t | processToDSync2PPS |
uint8_t | ll_has_hsrTag |
void* TimeSyncPtp_Config::nwDrvHandle |
Network driver handle
TimeSync_SocConfig TimeSyncPtp_Config::socConfig |
SoC configuration
TimeSync_DeviceConfig TimeSyncPtp_Config::deviceMode |
Whether clock is OC or TC or both
TimeSyncPtp_DelayType TimeSyncPtp_Config::type |
Which type of Measurement scheme. E2E or P2P
TimeSync_NetworkProtType TimeSyncPtp_Config::protocol |
Packet type in which PTP is encapsulated
TimeSync_VlanConfig TimeSyncPtp_Config::vlanCfg |
VLAN comfiguration
uint8_t TimeSyncPtp_Config::isMaster |
Set to 1 if device is master, else set to 0
TimeSyncPtp_MasterParams TimeSyncPtp_Config::masterParams |
Grand master parameters like priority 1, priority 2 etc. Populated in Announce frame
uint8_t TimeSyncPtp_Config::portMask |
Port mask consisting information about ports to be used for PTP Example: To use macports 0, 2 ,4 set portMask = 0b00040101
TimeSyncPtp_SyncLossNotify TimeSyncPtp_Config::syncLossNotifyFxn |
Callback function to notify app about sync loss
uint16_t TimeSyncPtp_Config::asymmetryCorrection[TIMESYNC_PTP_MAX_PORTS_SUPPORTED] |
Delay asymmetry correction value for ports
uint8_t TimeSyncPtp_Config::domainNumber[TIMESYNC_NUM_DOMAINS] |
List of 802.1AS-rev domainNumbers
uint8_t TimeSyncPtp_Config::frameOffset |
All PTP packet offsets are w.r.t PTP Layer 3 packets an offset variable is hence used to calculate actual offset based on whether the configuration is E2E + L3 or P2P + L2
uint32_t TimeSyncPtp_Config::tickPeriod |
int8_t TimeSyncPtp_Config::logPDelReqPktInterval |
PDelay Request interval. Actual value is 2^value seconds
int8_t TimeSyncPtp_Config::logSyncInterval |
Sync send interval. Actual value is 2^value seconds
int8_t TimeSyncPtp_Config::logAnnounceSendInterval |
Announce send interval. Actual value is 2^value seconds
int8_t TimeSyncPtp_Config::logAnnounceRcptTimeoutInterval |
Announce receipt timeout interval. Actual value is 2^value seconds
uint32_t TimeSyncPtp_Config::pDelReqPktInterval |
Delay Request/PDelay Request interval. Mapped here from logPDelReqPktInterval. value in milliseconds
uint32_t TimeSyncPtp_Config::syncSendInterval |
Log of sync send interval. Mapped here from logSyncInterval. value in microseconds
uint32_t TimeSyncPtp_Config::announceSendInterval |
Log of Announce send interval. Mapped here from logAnnounceSendInterval. value in milliseconds
uint32_t TimeSyncPtp_Config::announceRcptTimeoutInterval |
Log of Announce receipt timeout interval. Min value of 3. value in milliseconds
uint32_t TimeSyncPtp_Config::pdelayBurstInterval |
In a Pdelay request burst packets are sent at this interval. value in miliseconds
uint8_t TimeSyncPtp_Config::pdelayBurstNumPkts |
In a Pdelay request burst these many frames are sent
uint32_t TimeSyncPtp_Config::ppsPulseIntervalNs |
Hardware timer generates a periodic pulse, which can be used by application. When the interval(in ns) is configured to 1 second (1000000000 ns), it becomes the 1PPS signal
uint8_t TimeSyncPtp_Config::ifMacID[6] |
Interface MAC address, this is used in all PTP frames, and also used in clock identifier for a master device
uint8_t TimeSyncPtp_Config::ipAddr[4] |
Network device's IPv4 address, this is used in all PTP frames
uint8_t TimeSyncPtp_Config::hsrEnabled |
Whether HSR is enabled or not
uint8_t TimeSyncPtp_Config::processToDSync2PPS |
Process the incoming time of day output and synchronize to the latch input This is not a dynamic variable, it must be configured at the start
uint8_t TimeSyncPtp_Config::ll_has_hsrTag |
This field is only applicable to HSR frames. This is set to 1 if link local frames carry HSR tag. By default this is set to 0 which means no HSR tag for peer delay request/response frames. It Can be overridden from application (see HSR/PRP example). This gets over ridden in the driver once the peer sends delay request response frames.