PDK API Guide for J721E
TimeSyncPtp_Config Struct Reference

Detailed Description

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
 

Field Documentation

◆ nwDrvHandle

void* TimeSyncPtp_Config::nwDrvHandle

Network driver handle

◆ socConfig

TimeSync_SocConfig TimeSyncPtp_Config::socConfig

SoC configuration

◆ deviceMode

TimeSync_DeviceConfig TimeSyncPtp_Config::deviceMode

Whether clock is OC or TC or both

◆ type

TimeSyncPtp_DelayType TimeSyncPtp_Config::type

Which type of Measurement scheme. E2E or P2P

◆ protocol

TimeSync_NetworkProtType TimeSyncPtp_Config::protocol

Packet type in which PTP is encapsulated

◆ vlanCfg

TimeSync_VlanConfig TimeSyncPtp_Config::vlanCfg

VLAN comfiguration

◆ isMaster

uint8_t TimeSyncPtp_Config::isMaster

Set to 1 if device is master, else set to 0

◆ masterParams

TimeSyncPtp_MasterParams TimeSyncPtp_Config::masterParams

Grand master parameters like priority 1, priority 2 etc. Populated in Announce frame

◆ portMask

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

◆ syncLossNotifyFxn

TimeSyncPtp_SyncLossNotify TimeSyncPtp_Config::syncLossNotifyFxn

Callback function to notify app about sync loss

◆ asymmetryCorrection

uint16_t TimeSyncPtp_Config::asymmetryCorrection[TIMESYNC_PTP_MAX_PORTS_SUPPORTED]

Delay asymmetry correction value for ports

◆ domainNumber

uint8_t TimeSyncPtp_Config::domainNumber[TIMESYNC_NUM_DOMAINS]

List of 802.1AS-rev domainNumbers

◆ frameOffset

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

◆ tickPeriod

uint32_t TimeSyncPtp_Config::tickPeriod

◆ logPDelReqPktInterval

int8_t TimeSyncPtp_Config::logPDelReqPktInterval

PDelay Request interval. Actual value is 2^value seconds

◆ logSyncInterval

int8_t TimeSyncPtp_Config::logSyncInterval

Sync send interval. Actual value is 2^value seconds

◆ logAnnounceSendInterval

int8_t TimeSyncPtp_Config::logAnnounceSendInterval

Announce send interval. Actual value is 2^value seconds

◆ logAnnounceRcptTimeoutInterval

int8_t TimeSyncPtp_Config::logAnnounceRcptTimeoutInterval

Announce receipt timeout interval. Actual value is 2^value seconds

◆ pDelReqPktInterval

uint32_t TimeSyncPtp_Config::pDelReqPktInterval

Delay Request/PDelay Request interval. Mapped here from logPDelReqPktInterval. value in milliseconds

◆ syncSendInterval

uint32_t TimeSyncPtp_Config::syncSendInterval

Log of sync send interval. Mapped here from logSyncInterval. value in microseconds

◆ announceSendInterval

uint32_t TimeSyncPtp_Config::announceSendInterval

Log of Announce send interval. Mapped here from logAnnounceSendInterval. value in milliseconds

◆ announceRcptTimeoutInterval

uint32_t TimeSyncPtp_Config::announceRcptTimeoutInterval

Log of Announce receipt timeout interval. Min value of 3. value in milliseconds

◆ pdelayBurstInterval

uint32_t TimeSyncPtp_Config::pdelayBurstInterval

In a Pdelay request burst packets are sent at this interval. value in miliseconds

◆ pdelayBurstNumPkts

uint8_t TimeSyncPtp_Config::pdelayBurstNumPkts

In a Pdelay request burst these many frames are sent

◆ ppsPulseIntervalNs

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

◆ ifMacID

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

◆ ipAddr

uint8_t TimeSyncPtp_Config::ipAddr[4]

Network device's IPv4 address, this is used in all PTP frames

◆ hsrEnabled

uint8_t TimeSyncPtp_Config::hsrEnabled

Whether HSR is enabled or not

◆ processToDSync2PPS

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

◆ ll_has_hsrTag

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.