AM64x MCU+ SDK  08.04.00
TimeSync_Config_t Struct Reference

Detailed Description

Time synchronization configuration structure.

Data Fields

uint8_t domainNumber [TS_NUM_DOMAINS]
 
uint32_t syncOut_sync0Start
 
uint32_t syncOut_sync0PWidth
 
TimeSync_SyncLossCallBack_t timeSyncSyncLossCallBackfn
 
TimeSync_stackResetCallback_t ptpDrvStackReset
 
int8_t logPDelReqPktInterval
 
int8_t logSyncInterval
 
int8_t logAnnounceSendInterval
 
int8_t logAnnounceRcptTimeoutInterval
 
uint32_t pDelReqPktInterval
 
uint32_t syncSendInterval
 
uint32_t announceSendInterval
 
uint32_t announceRcptTimeoutInterval
 
deviceConfig config
 
netWorkProtType protocol
 
delayType type
 
uint32_t txIntNum
 
uint16_t asymmetryCorrection [ICSS_EMAC_MAX_PORTS_PER_INSTANCE]
 
uint32_t pdelayBurstInterval
 
uint8_t pdelayBurstNumPkts
 
uint8_t clockIdentity [8]
 
uint32_t sync0_interval
 
uint8_t hsrEnabled
 
uint8_t ll_has_hsrTag
 
uint8_t custom_tx_api
 
uint8_t timestamp_from_shared_ram
 
uint8_t emac_mode
 
uint8_t frame_offset
 
uint32_t tickPeriod
 
uint32_t rxPhyLatency
 
uint32_t txPhyLatency
 
uint8_t delayReqSendTaskPriority
 
uint8_t txTsTaskPriority
 
uint8_t nrtTaskPriority
 
uint8_t backgroundTaskPriority
 
TimeSync_master_params_t masterParams
 

Field Documentation

◆ domainNumber

uint8_t TimeSync_Config_t::domainNumber[TS_NUM_DOMAINS]

List of 802.1AS-rev domainNumbers

◆ syncOut_sync0Start

uint32_t TimeSync_Config_t::syncOut_sync0Start

SYNCOUT sync0 start time

◆ syncOut_sync0PWidth

uint32_t TimeSync_Config_t::syncOut_sync0PWidth

SYNCOUT sync0 pulse width

◆ timeSyncSyncLossCallBackfn

TimeSync_SyncLossCallBack_t TimeSync_Config_t::timeSyncSyncLossCallBackfn

◆ ptpDrvStackReset

TimeSync_stackResetCallback_t TimeSync_Config_t::ptpDrvStackReset

◆ logPDelReqPktInterval

int8_t TimeSync_Config_t::logPDelReqPktInterval

PDelay Request interval. Actual value is 2^value seconds

◆ logSyncInterval

int8_t TimeSync_Config_t::logSyncInterval

Sync send interval. Actual value is 2^value seconds

◆ logAnnounceSendInterval

int8_t TimeSync_Config_t::logAnnounceSendInterval

Announce send interval. Actual value is 2^value seconds

◆ logAnnounceRcptTimeoutInterval

int8_t TimeSync_Config_t::logAnnounceRcptTimeoutInterval

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

◆ pDelReqPktInterval

uint32_t TimeSync_Config_t::pDelReqPktInterval

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

◆ syncSendInterval

uint32_t TimeSync_Config_t::syncSendInterval

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

◆ announceSendInterval

uint32_t TimeSync_Config_t::announceSendInterval

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

◆ announceRcptTimeoutInterval

uint32_t TimeSync_Config_t::announceRcptTimeoutInterval

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

◆ config

deviceConfig TimeSync_Config_t::config

Whether clock is OC or TC or both

◆ protocol

netWorkProtType TimeSync_Config_t::protocol

Packet type in which PTP is encapsulated

◆ type

delayType TimeSync_Config_t::type

Which type of Measurement scheme. E2E or P2P

◆ txIntNum

uint32_t TimeSync_Config_t::txIntNum

PTP Frame Tx Interrupt number

◆ asymmetryCorrection

uint16_t TimeSync_Config_t::asymmetryCorrection[ICSS_EMAC_MAX_PORTS_PER_INSTANCE]

Delay asymmetry correction value for both ports

◆ pdelayBurstInterval

uint32_t TimeSync_Config_t::pdelayBurstInterval

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

◆ pdelayBurstNumPkts

uint8_t TimeSync_Config_t::pdelayBurstNumPkts

In a Pdelay request burst these many frames are sent

◆ clockIdentity

uint8_t TimeSync_Config_t::clockIdentity[8]

Clock Identity = MAC ID + Protocol Identifier

◆ sync0_interval

uint32_t TimeSync_Config_t::sync0_interval

ICSS generates a periodic pulse, can be configured from 1ms to 1s. When the interval is configured to 1s it becomes the 1PPS signal but has been kept to make it familiar

◆ hsrEnabled

uint8_t TimeSync_Config_t::hsrEnabled

Whether HSR is enabled or not

◆ ll_has_hsrTag

uint8_t TimeSync_Config_t::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

◆ custom_tx_api

uint8_t TimeSync_Config_t::custom_tx_api

Set to 1 if a customized Tx API is being used

◆ timestamp_from_shared_ram

uint8_t TimeSync_Config_t::timestamp_from_shared_ram

Set to 1 if Rx timestamps are being read from ICSS shared RAM, a value of 0 indicates that timestamps are appended to the PTP frames being received in L3 RAM

◆ emac_mode

uint8_t TimeSync_Config_t::emac_mode

Set this to 1 to configure PTP to EMAC mode which means no bridge delay computation and forwarding

◆ frame_offset

uint8_t TimeSync_Config_t::frame_offset

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 TimeSync_Config_t::tickPeriod

◆ rxPhyLatency

uint32_t TimeSync_Config_t::rxPhyLatency

◆ txPhyLatency

uint32_t TimeSync_Config_t::txPhyLatency

◆ delayReqSendTaskPriority

uint8_t TimeSync_Config_t::delayReqSendTaskPriority

◆ txTsTaskPriority

uint8_t TimeSync_Config_t::txTsTaskPriority

◆ nrtTaskPriority

uint8_t TimeSync_Config_t::nrtTaskPriority

◆ backgroundTaskPriority

uint8_t TimeSync_Config_t::backgroundTaskPriority

◆ masterParams

TimeSync_master_params_t TimeSync_Config_t::masterParams

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