AM64x MCU+ SDK  11.01.00
icss_timeSyncApi.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2024 Texas Instruments Incorporated
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  *
8  * Redistributions of source code must retain the above copyright
9  * notice, this list of conditions and the following disclaimer.
10  *
11  * Redistributions in binary form must reproduce the above copyright
12  * notice, this list of conditions and the following disclaimer in the
13  * documentation and/or other materials provided with the
14  * distribution.
15  *
16  * Neither the name of Texas Instruments Incorporated nor the names of
17  * its contributors may be used to endorse or promote products derived
18  * from this software without specific prior written permission.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
21  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
22  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
23  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
24  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
25  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
26  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
27  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
28  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
29  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
30  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31  */
32 
33 #ifndef ICSS_TIMESYNC_API_H_
34 #define ICSS_TIMESYNC_API_H_
35 
36 #ifdef __cplusplus
37 extern "C" {
38 #endif
39 
40 
41 /* ========================================================================== */
42 /* Include Files */
43 /* ========================================================================== */
44 
46 #include <kernel/dpl/HwiP.h>
47 #include <kernel/dpl/TimerP.h>
48 #include <kernel/dpl/TaskP.h>
49 #include <kernel/dpl/EventP.h>
50 
51 #define lswap(x) ((((x) & 0xff000000) >> 24) | \
52  (((x) & 0x00ff0000) >> 8) | \
53  (((x) & 0x0000ff00) << 8) | \
54  (((x) & 0x000000ff) << 24))
55 
56 #define htonl_ts(l) (lswap(l))
57 #define ntohl_ts(l) (lswap(l))
58 
59 #define htons_ts(s) ((u_short)((u_short)(s) >> 8) | (u_short)((u_short)(s) << 8))
60 #define ntohs_ts(s) htons_ts(s)
61 /* ========================================================================== */
62 /* Macros & Typedefs */
63 /* ========================================================================== */
64 
65 /*TODO: Review this*/
66 #define TASK_STACK_SIZE (2048)
67 
68 #define ICSS_TIMESYNC_EVENT_BIT0 (0x000001)
69 #define ICSS_TIMESYNC_EVENT_BIT1 (0x000002)
70 #define ICSS_TIMESYNC_EVENT_BIT2 (0x000004)
71 #define ICSS_TIMESYNC_EVENT_BIT3 (0x000008)
72 #define ICSS_TIMESYNC_EVENT_BIT4 (0x000010)
73 #define ICSS_TIMESYNC_EVENT_BIT5 (0x000020)
74 #define ICSS_TIMESYNC_EVENT_BIT6 (0x000040)
75 #define ICSS_TIMESYNC_EVENT_BIT7 (0x000080)
76 
77 /* Data types */
78 /* Primitive data types */
79 
85 #define SYNT_DEPTH 3
86 
90 #define TS_NUM_DOMAINS 1
91 
92 /*Below are the masks used for PTP state machine*/
93 
98 #define TS_STATE_MACHINE_FIRST_ADJUSTMENT_DONE 1
99 
104 #define TS_STATE_MACHINE_LINE_DELAY_COMPUTED 2
105 
109 #define TS_STATE_MACHINE_SYNC_INTERVAL_COMPUTED 4
110 
115 #define TS_STATE_MACHINE_READY_FOR_SYNC 7
116 
122 #define TS_STATE_MACHINE_DEVICE_IN_SYNC 8
123 
129 #define OFFSET_ALGO_BIN_SIZE 5
130 
136 #define OFFSET_ALGO_CLUSTER_SIZE 3
137 
141 typedef enum
142 {
144  FAULTY = 2,
145  DISABLED = 3,
148  MASTER = 6,
149  PASSIVE = 7,
151  SLAVE = 9
152 
154 
158 typedef enum
159 {
160 
162  UDP_IPV4 = 1,
164  UDP_IPV6 = 2,
169  PROFINET = 6,
170  UNKNOWN = 0xFFFE
171 
173 
177 typedef enum
178 {
179 
181  TC = 1,
183  OC = 2,
185  BOTH = 3
187 
191 typedef enum
192 {
194  E2E = 1,
196  P2P = 2
198 
202 typedef enum
203 {
211  DELAY_RESP_FRAME = 3
212 
214 
218 typedef enum
219 {
220  ATOMIC_CLOCK = 0x10,
221  GPS = 0x20,
223  PTP = 0x40,
224  NTP = 0x50,
225  HAND_SET = 0x60,
226  OTHER = 0x90,
228 } timeSource;
229 
233 typedef enum
234 {
239 
243 typedef enum
244 {
249 
253 typedef struct
254 {
255  uint64_t seconds;
256  uint32_t nanoseconds;
257 } timeStamp;
258 
259 
263 typedef struct
264 {
265  uint64_t seconds;
268 
273 typedef void (*TimeSync_SyncLossCallBack_t)(void);
274 
279 typedef void (*TimeSync_stackResetCallback_t)(void *arg);
280 
284 typedef struct
285 {
287  uint8_t clockIdentity[8];
289  uint16_t ptpPortNumber;
297 
301 typedef struct
302 {
304  uint8_t priority1;
306  uint8_t priority2;
308  uint8_t clockClass;
310  uint8_t clockAccuracy;
312  uint8_t timeSource;
314  uint16_t stepRemoved;
316  uint16_t clockVariance;
317  /*Current UTC offset*/
318  uint16_t UTCOffset;
320  uint8_t gmIdentity[8];
321 
322  /*PTP Flag params. See standard
323  * index 0 - PTP Leap second 61
324  * index 1 - PTP Leap second 59
325  * ....
326  * ....
327  * index 11 - PTP Security*/
328 
329  uint8_t ptp_flags[12];
330 
332 
336 typedef struct
337 {
338  /*Rx buffers*/
339  uint8_t *pdelayReq_RxBuf[2];
340  uint8_t *pdelayRes_RxBuf[2];
341  uint8_t *pdelayResFlwUp_RxBuf[2];
342  /*For E2E master. Not supported right now*/
343  uint8_t *delayReq_RxBuf[2];
344 
345  /*Tx buffers*/
346  uint8_t *pdelayReq_TxBuf[2];
347  uint8_t *pdelayRes_TxBuf[2];
348  uint8_t *pdelayResFlwUp_TxBuf[2];
349  uint8_t *sync_TxBuf;
350  uint8_t *announce_TxBuf;
351  uint8_t *followUp_TxBuf[2];
352  uint8_t *delayReq_TxBuf;
353 
354  /*Buffer sizes. These change based on whether
355  * it's Annex E or Annex F. Pdelay buffer size and
356  * delay request (E2E) buffer sizes are fixed
357  * because we only support fixed modes*/
358  uint8_t syncBuf_size;
359  uint8_t flwUpBuf_size;
361 
363 
367 typedef struct
368 {
370  uint8_t domainNumber[TS_NUM_DOMAINS];
375  /*Synchronization loss callback function*/
377  /*PTP stack reset callback function*/
381 
384 
387 
390 
394 
398 
402 
406 
409 
412 
415 
417  uint32_t txIntNum;
418 
420  uint16_t asymmetryCorrection[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
421 
425 
428 
430  uint8_t clockIdentity[8];
431 
435  uint32_t sync0_interval;
436 
438  uint8_t hsrEnabled;
439 
447  uint8_t ll_has_hsrTag;
448 
451  uint8_t custom_tx_api;
452 
458 
462  uint8_t emac_mode;
463 
468  uint8_t frame_offset;
469 
470  /*OS tick period (in microseconds). Normalized value is 1000 means factor of 1, 500 means
471  * OS counts twice as fast so divide time period by 2*/
472  uint32_t tickPeriod;
473 
474  /* Rx PHY Latency in nano seconds */
475  uint32_t rxPhyLatency;
476 
477  /* Tx PHY Latency in nano seconds */
478  uint32_t txPhyLatency;
479 
480  /* Priority of task which sends Pdelay request frames */
482 
483  /* Priority of task which takes time stamp and processes them */
485 
486  /* Priority of task which processes Peer delay frames in the background and calculate peer delay. NRT stands for non real time.*/
488 
489  /* Priority of task which Checks for Sync timeout and performs offset stabilization */
491 
494 
496  uint32_t icssIepClkFreq;
497 
499 
503 typedef struct
504 {
506  uint8_t enabled;
507 
518  uint8_t stateMachine;
519 
521  uint16_t pDelReqSequenceID[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
522 
525 
527  uint16_t syncSequenceID;
528 
531 
533  uint16_t curSyncSeqId[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
534 
538  uint32_t ltaSyncInterval;
541 
543  int32_t currOffset;
548  int32_t prevOffset[2];
549 
550  /*Flags to determine if values in prevOffset[] are valid*/
551  int32_t prevOffsetValid[2];
552 
554  int32_t initialOffset;
555 
556  /*Once drift stabilizes, this is set to 1*/
557  uint8_t driftStable;
558 
559  /*Once offset becomes zero, this is set to 1*/
560  uint8_t offsetStable;
561 
563  uint8_t syncPortNum;
564 
566  uint32_t pathDelay[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
567 
568  /*Place holder to calculate line delay.
569  * Since line delay can sometimes be negative, we need a persistent variable*/
570  int64_t meanPathDelay;
571 
573  uint32_t clockDrift;
574 
575  /*long term average of offset. Compare with initial offset to find drift*/
576  int32_t ltaOffset;
577 
578  /*Flags to determine if ltaOffset value is valid*/
579  int32_t ltaOffsetValid;
580 
583 
586  uint64_t tickCounter;
587 
590 
594 
596  uint8_t forced2step[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
597 
598  /*debug*/
599  uint8_t bmcaDone;
600 
603 
606 
608 
613 typedef struct
614 {
621 
625  uint8_t driftThreshold;
626 
629 
633  uint8_t binFull;
634 
638  int32_t correction[OFFSET_ALGO_BIN_SIZE];
639 
641 
645 typedef struct
646 {
648  uint8_t ifTwoStep;
649 
652  uint64_t correctionField;
653 
655  uint64_t originTsSec;
657  uint32_t originTsNs;
658 
660  uint32_t rxTs;
661 
663  uint64_t rxTsSec;
664 
666  uint32_t txTs;
667 
669  uint64_t txTsSec;
670 
671 } syncParam_t;
672 
676 typedef struct
677 {
679  uint64_t syncIngressTs[SYNT_DEPTH];
680 
682  uint64_t correctedMasterTs[SYNT_DEPTH];
683 
685  double rcf;
686 
688  uint8_t index;
689 
691  uint8_t syntEnable;
692 
694  uint32_t syntIndex;
695 
697 
701 typedef struct
702 {
704  uint64_t deviceRxTS[SYNT_DEPTH];
705 
707  uint64_t correctedPeerTS[SYNT_DEPTH];
708 
710  double nrr;
711 
713  uint8_t curIndex;
714 
716  uint8_t nrrEnable;
717 
719  uint32_t nrrIndex;
720 
722 
723 
727 typedef struct
728 {
730  uint64_t correctionField;
731 
733  uint64_t timeStampSec;
735  uint32_t timeStampNS;
736 
738  uint32_t delReqTxTsSec;
740  uint32_t delReqTxTsNS;
741 
743 
747 typedef struct
748 {
750  uint8_t ifTwoStep;
751 
753  uint32_t T1Sec;
754 
756  uint32_t T1Nsec;
757 
759  uint64_t T2Sec;
760 
762  uint32_t T2Nsec;
763 
765  uint64_t T3Sec;
766 
768  uint32_t T3Nsec;
769 
771  uint64_t T4Sec;
772 
774  uint32_t T4Nsec;
775 
779 
783 
786 
789 
791 
795 typedef struct
796 {
797 
799  uint32_t srcIP;
800 
802  uint32_t dstIP;
803 
805  uint8_t dscp;
806 
808  uint8_t ttlVal;
809 
810 } ipParams_t;
811 
815 typedef struct
816 {
820  uint8_t ptpGeneralFrame[ICSS_EMAC_MAXMTU];
822  uint16_t ptpGeneralSize;
826  uint8_t ptpSrcMacID[6];
827 
828 } ptpDparams_t;
829 
833 typedef struct TimeSync_ParamsHandle_s
834 {
837 
838  uint8_t macId[6];
839  /* MAC ID passed to ICSS-EMAC during ICSS-EMAC initialization*/
840 
843 
845  uint8_t enabled;
846 
847  /*Get TX timestamp*/
850  uint8_t txPort;
851  uint8_t txprotocol;
854  /*Get RX timestamp*/
857  uint8_t rxPort;
858  uint8_t rxprotocol;
862  /*Set clock*/
864  uint8_t sequenceIdIn;
866  /*Adjust clock*/
867  int32_t drift;
868  uint32_t syncInterval;
872 
874  uint32_t pathDelay[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
875 
876  uint8_t syntIndexMap[3];
877  uint8_t prevIndexMap[3];
878 
879 
882 
885 
886  /*-----------------Slave tasks, semaphores and events----------------*/
887 
889  TaskP_Object timeSync_TxTSTaskP1;
891  TaskP_Object timeSync_TxTSTaskP2;
892 
898  TaskP_Object timeSync_NRT_Task;
899 
905 
910  EventP_Object txTSAvailableEvtObject[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
911 
916  EventP_Object ptpPdelayResEvtObject[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
920  EventP_Object ptpPdelayReqEvtObject[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
924  EventP_Object ptpSendFollowUpEvtObject[ICSS_EMAC_MAX_PORTS_PER_INSTANCE];
925 
927  uint32_t eventIdSync;
935  uint32_t eventIdDelayReq;
938 
939  /*Semaphore for sending Delay Request frames*/
941 
943 
944  /*Number of sync frames missed*/
945  uint32_t numSyncMissed;
946 
948 
951 
954 
957 
958  /*Time sync configuration handle*/
960 
961  /*Rx and Tx frame buffers*/
963 
966 
969 
972 
975 
976  uint32_t pDelayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
977  uint32_t delayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
978  uint32_t txTSTaskP1Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
979  uint32_t txTSTaskP2Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
980  uint32_t NRT_TaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
981  uint32_t backgroundTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)));
982 
984 
985 typedef struct TimeSync_ParamsHandle_s *TimeSync_ParamsHandle_t;
986 
987 /* ========================================================================== */
988 /* Error Codes */
989 /* ========================================================================== */
990 #define TIMESYNC_OK (0)
991 #define ERROR_TX_FRAMETYPE_NOTVALID (-1)
992 #define ERROR_TX_PORTNUMBER_NOTVALID (-2)
993 #define ERROR_HANDLE_INVALID (-3)
994 #define ERROR_RX_FRAMETYPE_NOTVALID (-4)
995 #define ERROR_RX_PORTNUMBER_NOTVALID (-5)
996 
997 /* ========================================================================== */
998 /* Function Declarations */
999 /* ========================================================================== */
1000 
1020  ptpFrameTypes_t rxFrameType, uint8_t rxPort, \
1021  uint32_t *nanoseconds, uint64_t *seconds);
1022 
1036  uint8_t rxPort, \
1037  uint32_t *nanoseconds, uint64_t *seconds, uint8_t* TimeStampFromFrame);
1038 /* API */
1039 
1057 
1071 int32_t TimeSync_getTxTimestamp(TimeSync_ParamsHandle_t timeSyncParamsHandle, \
1072  ptpFrameTypes_t txFrameType, uint8_t txPort, \
1073  uint32_t *nanoseconds, uint64_t *seconds);
1074 
1075 
1093  int32_t adjOffset);
1094 
1095 
1106 int32_t TimeSync_setClockTime(TimeSync_ParamsHandle_t timeSyncParamsHandle);
1107 
1124  uint32_t *nanoseconds, uint64_t *seconds);
1125 
1131 
1137 
1144  uint8_t dscpValue);
1145 
1148 #ifdef __cplusplus
1149 }
1150 #endif
1151 
1152 #endif /* ICSS_TIMESYNC_API_H_ */
timeSync_RuntimeVar_t::currOffset
int32_t currOffset
Definition: icss_timeSyncApi.h:543
TimeSync_ParamsHandle::tsSyntInfo
timeSync_SyntInfo_t * tsSyntInfo
Definition: icss_timeSyncApi.h:965
TimeSync_ParamsHandle::txFrameType
ptpFrameTypes_t txFrameType
Definition: icss_timeSyncApi.h:849
E2E
@ E2E
Definition: icss_timeSyncApi.h:194
TC
@ TC
Definition: icss_timeSyncApi.h:181
TimeSync_ParamsHandle::eventIdPdelayReq
uint32_t eventIdPdelayReq
Definition: icss_timeSyncApi.h:929
compensationType
compensationType
Compensation Type Required - depending on PTP timeTransmitter or timeReceiver.
Definition: icss_timeSyncApi.h:244
DISABLED
@ DISABLED
Definition: icss_timeSyncApi.h:145
TimeSync_ParamsHandle::__attribute__
uint32_t backgroundTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
TimeSync_frame_buffers_t
Time synchronization configuration structure.
Definition: icss_timeSyncApi.h:337
TimeSync_Config_t::txPhyLatency
uint32_t txPhyLatency
Definition: icss_timeSyncApi.h:478
TimeSync_updateLogMessageIntervalInPTPFrames
void TimeSync_updateLogMessageIntervalInPTPFrames(TimeSync_ParamsHandle_t timeSyncHandle)
Update log message interval in PTP TX buffers.
TimeSync_config
int32_t TimeSync_config(TimeSync_ParamsHandle_t timeSyncHandle)
Function to configure domain number and/or log message intervals and/or sync0 signal start time,...
ptpDparams_t
PTPd stack parameters.
Definition: icss_timeSyncApi.h:816
TimeSync_Config_t::tickPeriod
uint32_t tickPeriod
Definition: icss_timeSyncApi.h:472
TimeSync_ParamsHandle::timeSync_pDelayReqSendTask
TaskP_Object timeSync_pDelayReqSendTask
Definition: icss_timeSyncApi.h:881
INTERNAL_OSCILLATOR
@ INTERNAL_OSCILLATOR
Definition: icss_timeSyncApi.h:227
ICSS_EMAC_Handle
struct ICSS_EMAC_Config_s * ICSS_EMAC_Handle
Alias for ICSS EMAC Handle containing base addresses and modules.
Definition: icss_emac.h:467
timeSync_SyntInfo_t::rcf
double rcf
Definition: icss_timeSyncApi.h:685
timeSync_SyntInfo_t
Parameters required for clock syntonization.
Definition: icss_timeSyncApi.h:677
TimeSync_ParamsHandle::eventIdPdelayResp
uint32_t eventIdPdelayResp
Definition: icss_timeSyncApi.h:931
TimeSync_Config_t::nrtTaskPriority
uint8_t nrtTaskPriority
Definition: icss_timeSyncApi.h:487
ExtendedTimestamp
802.1AS-rev ExtendedTimestamp
Definition: icss_timeSyncApi.h:264
TimeSync_ParamsHandle::sequenceIdIn
uint8_t sequenceIdIn
Definition: icss_timeSyncApi.h:864
timeStamp
802.1AS-rev Timestamp structure
Definition: icss_timeSyncApi.h:254
netWorkProtType
netWorkProtType
Network Protocol Type.
Definition: icss_timeSyncApi.h:159
TimeSync_Config_t::config
deviceConfig config
Definition: icss_timeSyncApi.h:408
TimeSync_getCurrentTime
void TimeSync_getCurrentTime(TimeSync_ParamsHandle_t timeSyncParamsHandle, uint32_t *nanoseconds, uint64_t *seconds)
Returns the current time on device.
TimeSync_ParamsHandle::sequenceIdOut_txTS
uint8_t sequenceIdOut_txTS
Definition: icss_timeSyncApi.h:852
timeSync_RuntimeVar_t::initialOffset
int32_t initialOffset
Definition: icss_timeSyncApi.h:554
PASSIVE
@ PASSIVE
Definition: icss_timeSyncApi.h:149
timeSync_RuntimeVar_t::delReqSequenceID
uint16_t delReqSequenceID
Definition: icss_timeSyncApi.h:524
PTP_TIME_RECEIVER_FASTER
@ PTP_TIME_RECEIVER_FASTER
Definition: icss_timeSyncApi.h:246
TimeSync_Config_t::type
delayType type
Definition: icss_timeSyncApi.h:414
OTHER
@ OTHER
Definition: icss_timeSyncApi.h:226
timeSync_NrrInfo_t::nrr
double nrr
Definition: icss_timeSyncApi.h:710
timeSource
timeSource
802.1AS-rev Enumeration8
Definition: icss_timeSyncApi.h:219
port_State
port_State
Port States, from IEEE 1588v2.
Definition: icss_timeSyncApi.h:142
syncParam_t::originTsSec
uint64_t originTsSec
Definition: icss_timeSyncApi.h:655
TimeSync_ParamsHandle::__attribute__
uint32_t pDelayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
TimeSync_parent_params_t
Parent clock params.
Definition: icss_timeSyncApi.h:285
TimeSync_ParamsHandle::numSyncMissed
uint32_t numSyncMissed
Definition: icss_timeSyncApi.h:945
TimeSync_Config_t::hsrEnabled
uint8_t hsrEnabled
Definition: icss_timeSyncApi.h:438
TimeSync_frame_buffers_t::delayReq_TxBuf
uint8_t * delayReq_TxBuf
Definition: icss_timeSyncApi.h:352
TimeSync_ParamsHandle::eventIdDelayReq
uint32_t eventIdDelayReq
Definition: icss_timeSyncApi.h:935
peerDelayParams_t::T3Sec
uint64_t T3Sec
Definition: icss_timeSyncApi.h:765
TimeSync_ParamsHandle::eventIdFlwUpGenerated
uint32_t eventIdFlwUpGenerated
Definition: icss_timeSyncApi.h:937
NTP
@ NTP
Definition: icss_timeSyncApi.h:224
delayReqRespParams_t::delReqTxTsNS
uint32_t delReqTxTsNS
Definition: icss_timeSyncApi.h:740
timeSync_RuntimeVar_t::announceSequenceID
uint16_t announceSequenceID
Definition: icss_timeSyncApi.h:530
TimeSync_ParamsHandle::timeSyncConfig
TimeSync_Config_t timeSyncConfig
Definition: icss_timeSyncApi.h:959
TimeSync_master_params_t::stepRemoved
uint16_t stepRemoved
Definition: icss_timeSyncApi.h:314
TimeSync_ParamsHandle::txPort
uint8_t txPort
Definition: icss_timeSyncApi.h:850
delayReqRespParams_t
Parameters required for calculating Cable Delay.
Definition: icss_timeSyncApi.h:728
PRE_MASTER
@ PRE_MASTER
Definition: icss_timeSyncApi.h:147
UDP_IPV4
@ UDP_IPV4
Definition: icss_timeSyncApi.h:162
TimeSync_Config_t::logSyncInterval
int8_t logSyncInterval
Definition: icss_timeSyncApi.h:383
timeSync_RuntimeVar_t::currSyncInterval
uint32_t currSyncInterval
Definition: icss_timeSyncApi.h:536
ExtendedTimestamp::fractionalNanoseconds
uint64_t fractionalNanoseconds
Definition: icss_timeSyncApi.h:266
peerDelayParams_t::delayResFwUpCorrField
uint64_t delayResFwUpCorrField
Definition: icss_timeSyncApi.h:788
TimeSync_ParamsHandle::__attribute__
uint32_t delayReqSendTaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
timeSync_RuntimeVar_t::firstSyncInterval
uint32_t firstSyncInterval
Definition: icss_timeSyncApi.h:540
TimeSync_ParamsHandle::udpParams
ipParams_t udpParams
Definition: icss_timeSyncApi.h:950
ICSS_IEP_CLK_FREQ_250MHZ
@ ICSS_IEP_CLK_FREQ_250MHZ
Definition: icss_timeSyncApi.h:236
TimeSync_ParamsHandle::emacHandle
ICSS_EMAC_Handle emacHandle
Definition: icss_timeSyncApi.h:836
TimeSync_Config_t::syncSendInterval
uint32_t syncSendInterval
Definition: icss_timeSyncApi.h:397
peerDelayParams_t::T1Sec
uint32_t T1Sec
Definition: icss_timeSyncApi.h:753
SYNT_DEPTH
#define SYNT_DEPTH
Definition: icss_timeSyncApi.h:85
MASTER
@ MASTER
Definition: icss_timeSyncApi.h:148
timeSync_SyntInfo_t::syntEnable
uint8_t syntEnable
Definition: icss_timeSyncApi.h:691
INITIALIZING
@ INITIALIZING
Definition: icss_timeSyncApi.h:143
TimeSync_getTxTimestamp
int32_t TimeSync_getTxTimestamp(TimeSync_ParamsHandle_t timeSyncParamsHandle, ptpFrameTypes_t txFrameType, uint8_t txPort, uint32_t *nanoseconds, uint64_t *seconds)
Reads and provides timestamp of a transmitted event message.
timeSync_RuntimeVar_t::ltaSyncInterval
uint32_t ltaSyncInterval
Definition: icss_timeSyncApi.h:538
TimeSync_ParamsHandle::eventIdSync
uint32_t eventIdSync
Definition: icss_timeSyncApi.h:927
TimeSync_master_params_t::clockVariance
uint16_t clockVariance
Definition: icss_timeSyncApi.h:316
icss_emac.h
syncParam_t::ifTwoStep
uint8_t ifTwoStep
Definition: icss_timeSyncApi.h:648
DEVICE_NET
@ DEVICE_NET
Definition: icss_timeSyncApi.h:167
timeSync_RuntimeVar_t::offsetStable
uint8_t offsetStable
Definition: icss_timeSyncApi.h:560
delayReqRespParams_t::timeStampSec
uint64_t timeStampSec
Definition: icss_timeSyncApi.h:733
TimeSync_Config_t::delayReqSendTaskPriority
uint8_t delayReqSendTaskPriority
Definition: icss_timeSyncApi.h:481
TimeSync_getRxTimestamp
int32_t TimeSync_getRxTimestamp(TimeSync_ParamsHandle_t timeSyncParamsHandle, ptpFrameTypes_t rxFrameType, uint8_t rxPort, uint32_t *nanoseconds, uint64_t *seconds)
Reads and provides timestamp of a received event message.
TimeSync_ParamsHandle::enabled
uint8_t enabled
Definition: icss_timeSyncApi.h:845
TimeSync_Config_t::pdelayBurstInterval
uint32_t pdelayBurstInterval
Definition: icss_timeSyncApi.h:424
TimeSync_Config_t::rxPhyLatency
uint32_t rxPhyLatency
Definition: icss_timeSyncApi.h:475
TimeSync_frame_buffers_t::announceBuf_size
uint8_t announceBuf_size
Definition: icss_timeSyncApi.h:360
TimeSync_ParamsHandle::rxFrameType
ptpFrameTypes_t rxFrameType
Definition: icss_timeSyncApi.h:856
peerDelayParams_t
Parameters required for calculating Cable Delay.
Definition: icss_timeSyncApi.h:748
HAND_SET
@ HAND_SET
Definition: icss_timeSyncApi.h:225
TimeSync_ParamsHandle::offsetAlgo
timeSync_Offset_Stable_Algo_t * offsetAlgo
Definition: icss_timeSyncApi.h:947
NON_SYNC_DELAY_FRAME
@ NON_SYNC_DELAY_FRAME
Definition: icss_timeSyncApi.h:205
timeSync_RuntimeVar_t::clockDrift
uint32_t clockDrift
Definition: icss_timeSyncApi.h:573
PTP_TIME_TRANSMITTER_FASTER
@ PTP_TIME_TRANSMITTER_FASTER
Definition: icss_timeSyncApi.h:247
peerDelayParams_t::ifTwoStep
uint8_t ifTwoStep
Definition: icss_timeSyncApi.h:750
SLAVE
@ SLAVE
Definition: icss_timeSyncApi.h:151
TimeSync_ParamsHandle::timeSync_NRT_Task
TaskP_Object timeSync_NRT_Task
Definition: icss_timeSyncApi.h:898
ptpDparams_t::generalFrameFlag
uint8_t generalFrameFlag
Definition: icss_timeSyncApi.h:818
timeSync_RuntimeVar_t::tickCounter
uint64_t tickCounter
Definition: icss_timeSyncApi.h:586
UDP_IPV6
@ UDP_IPV6
Definition: icss_timeSyncApi.h:164
TimeSync_Config_t::logAnnounceSendInterval
int8_t logAnnounceSendInterval
Definition: icss_timeSyncApi.h:386
OC
@ OC
Definition: icss_timeSyncApi.h:183
TimeSync_master_params_t::timeSource
uint8_t timeSource
Definition: icss_timeSyncApi.h:312
peerDelayParams_t::T4Nsec
uint32_t T4Nsec
Definition: icss_timeSyncApi.h:774
timeSync_RuntimeVar_t::meanPathDelay
int64_t meanPathDelay
Definition: icss_timeSyncApi.h:570
TASK_STACK_SIZE
#define TASK_STACK_SIZE
Definition: icss_timeSyncApi.h:66
ipParams_t::ttlVal
uint8_t ttlVal
Definition: icss_timeSyncApi.h:808
TimeSync_Config_t::masterParams
TimeSync_master_params_t masterParams
Definition: icss_timeSyncApi.h:493
TimeSync_parent_params_t::observedClockPhaseChangeRate
int32_t observedClockPhaseChangeRate
Definition: icss_timeSyncApi.h:295
PTP_NO_COMPENSATION_REQUIRED
@ PTP_NO_COMPENSATION_REQUIRED
Definition: icss_timeSyncApi.h:245
timeSync_RuntimeVar_t::syncLastSeenCounter
uint32_t syncLastSeenCounter
Definition: icss_timeSyncApi.h:589
timeSync_RuntimeVar_t::driftStable
uint8_t driftStable
Definition: icss_timeSyncApi.h:557
TimeSync_ParamsHandle::rxTimestamp_gPTP
timeStamp * rxTimestamp_gPTP
Definition: icss_timeSyncApi.h:859
delayReqRespParams_t::correctionField
uint64_t correctionField
Definition: icss_timeSyncApi.h:730
TimeSync_ParamsHandle::timeSync_TxTSTaskP2
TaskP_Object timeSync_TxTSTaskP2
Definition: icss_timeSyncApi.h:891
peerDelayParams_t::T4Sec
uint64_t T4Sec
Definition: icss_timeSyncApi.h:771
TimeSync_ParamsHandle::__attribute__
uint32_t NRT_TaskStack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
ICSS_EMAC_MAXMTU
#define ICSS_EMAC_MAXMTU
Maximum Valid size (incl header + VLAN TAG..., no CRC)
Definition: icss_emac.h:261
timeSync_NrrInfo_t::nrrIndex
uint32_t nrrIndex
Definition: icss_timeSyncApi.h:719
TimeSync_adjTimeSlowComp
int8_t TimeSync_adjTimeSlowComp(TimeSync_ParamsHandle_t timeSyncParamsHandle, int32_t adjOffset)
Adjusts the IEP clock by the drift value over one Sync interval.
peerDelayParams_t::pDelayReqRcvdTSNsec
uint32_t pDelayReqRcvdTSNsec
Definition: icss_timeSyncApi.h:782
TimeSync_Config_t::pDelReqPktInterval
uint32_t pDelReqPktInterval
Definition: icss_timeSyncApi.h:393
TS_NUM_DOMAINS
#define TS_NUM_DOMAINS
Definition: icss_timeSyncApi.h:90
ICSS_IEP_CLK_FREQ_200MHZ
@ ICSS_IEP_CLK_FREQ_200MHZ
Definition: icss_timeSyncApi.h:235
TimeSync_Config_t::sync0_interval
uint32_t sync0_interval
Definition: icss_timeSyncApi.h:435
syncParam_t::originTsNs
uint32_t originTsNs
Definition: icss_timeSyncApi.h:657
TimeSync_updateDomainNumberInPTPFrames
void TimeSync_updateDomainNumberInPTPFrames(TimeSync_ParamsHandle_t timeSyncHandle)
Update PTP domain number in TX Buffers.
TimeSync_Config_t::emac_mode
uint8_t emac_mode
Definition: icss_timeSyncApi.h:462
TimerP.h
GPS
@ GPS
Definition: icss_timeSyncApi.h:221
ipParams_t
Used to populate IP/UDP Parameters. These must be populated from Switch params.
Definition: icss_timeSyncApi.h:796
TimeSync_ParamsHandle::timeSyncBuff
TimeSync_frame_buffers_t timeSyncBuff
Definition: icss_timeSyncApi.h:962
ipParams_t::dscp
uint8_t dscp
Definition: icss_timeSyncApi.h:805
timeSync_RuntimeVar_t::stateMachine
uint8_t stateMachine
PTP State machine used internally by driver This is a bitmap Bit 0 : Set 1 if First adjustment done B...
Definition: icss_timeSyncApi.h:518
UNCALIBRATED
@ UNCALIBRATED
Definition: icss_timeSyncApi.h:150
deviceConfig
deviceConfig
Current Device configuration.
Definition: icss_timeSyncApi.h:178
TimeSync_master_params_t::UTCOffset
uint16_t UTCOffset
Definition: icss_timeSyncApi.h:318
HwiP.h
timeSync_RuntimeVar_t::enabled
uint8_t enabled
Definition: icss_timeSyncApi.h:506
syncParam_t::correctionField
uint64_t correctionField
Definition: icss_timeSyncApi.h:652
TimeSync_Config_t::logPDelReqPktInterval
int8_t logPDelReqPktInterval
Definition: icss_timeSyncApi.h:380
peerDelayParams_t::T2Sec
uint64_t T2Sec
Definition: icss_timeSyncApi.h:759
TimeSync_ParamsHandle::drift
int32_t drift
Definition: icss_timeSyncApi.h:867
delayType
delayType
PTP Delay Mechanism Type. From Table 9 of Standard.
Definition: icss_timeSyncApi.h:192
TimeSync_master_params_t
Master and grand master clock params.
Definition: icss_timeSyncApi.h:302
TimeSync_ParamsHandle::delayReqTxSemObject
SemaphoreP_Object delayReqTxSemObject
Definition: icss_timeSyncApi.h:940
ExtendedTimestamp::seconds
uint64_t seconds
Definition: icss_timeSyncApi.h:265
timeSync_SyntInfo_t::index
uint8_t index
Definition: icss_timeSyncApi.h:688
PTP
@ PTP
Definition: icss_timeSyncApi.h:223
TimeSync_master_params_t::priority2
uint8_t priority2
Definition: icss_timeSyncApi.h:306
ipParams_t::srcIP
uint32_t srcIP
Definition: icss_timeSyncApi.h:799
OFFSET_ALGO_BIN_SIZE
#define OFFSET_ALGO_BIN_SIZE
Definition: icss_timeSyncApi.h:129
peerDelayParams_t::T3Nsec
uint32_t T3Nsec
Definition: icss_timeSyncApi.h:768
TimeSync_ParamsHandle::rxprotocol
uint8_t rxprotocol
Definition: icss_timeSyncApi.h:858
TimeSync_stackResetCallback_t
void(* TimeSync_stackResetCallback_t)(void *arg)
PTP Stack Reset callback function. Timesync handle (of type TimeSync_ParamsHandle_t) will be passed a...
Definition: icss_timeSyncApi.h:279
TimeSync_master_params_t::priority1
uint8_t priority1
Definition: icss_timeSyncApi.h:304
TimeSync_frame_buffers_t::flwUpBuf_size
uint8_t flwUpBuf_size
Definition: icss_timeSyncApi.h:359
TimeSync_Config_t::ptpDrvStackReset
TimeSync_stackResetCallback_t ptpDrvStackReset
Definition: icss_timeSyncApi.h:378
peerDelayParams_t::T1Nsec
uint32_t T1Nsec
Definition: icss_timeSyncApi.h:756
timeStamp::seconds
uint64_t seconds
Definition: icss_timeSyncApi.h:255
TimeSync_ParamsHandle::eventIdPdelayRespFlwUp
uint32_t eventIdPdelayRespFlwUp
Definition: icss_timeSyncApi.h:933
TimeSync_ParamsHandle::tsRunTimeVar
timeSync_RuntimeVar_t * tsRunTimeVar
Definition: icss_timeSyncApi.h:974
FAULTY
@ FAULTY
Definition: icss_timeSyncApi.h:144
BOTH
@ BOTH
Definition: icss_timeSyncApi.h:185
timeSync_RuntimeVar_t::syncPortNum
uint8_t syncPortNum
Definition: icss_timeSyncApi.h:563
TimeSync_frame_buffers_t::syncBuf_size
uint8_t syncBuf_size
Definition: icss_timeSyncApi.h:358
TaskP.h
TimeSync_ParamsHandle::timeSync_backgroundTask
TaskP_Object timeSync_backgroundTask
Definition: icss_timeSyncApi.h:904
peerDelayParams_t::pDelayReqRcvdTSSec
uint64_t pDelayReqRcvdTSSec
Definition: icss_timeSyncApi.h:778
UNKNOWN
@ UNKNOWN
Definition: icss_timeSyncApi.h:170
TimeSync_Config_t::frame_offset
uint8_t frame_offset
Definition: icss_timeSyncApi.h:468
delayReqRespParams_t::delReqTxTsSec
uint32_t delReqTxTsSec
Definition: icss_timeSyncApi.h:738
TimeSync_ParamsHandle::timeSync_delayReqSendTask
TaskP_Object timeSync_delayReqSendTask
Definition: icss_timeSyncApi.h:884
TimeSync_frame_buffers_t::sync_TxBuf
uint8_t * sync_TxBuf
Definition: icss_timeSyncApi.h:349
timeSync_Offset_Stable_Algo_t::binFull
uint8_t binFull
Definition: icss_timeSyncApi.h:633
timeSync_RuntimeVar_t::syncTimeoutInterval
uint32_t syncTimeoutInterval
Definition: icss_timeSyncApi.h:593
TimeSync_ParamsHandle::sequenceIdOut_rxTS
uint8_t sequenceIdOut_rxTS
Definition: icss_timeSyncApi.h:860
timeSync_RuntimeVar_t::masterParams
TimeSync_master_params_t masterParams
Definition: icss_timeSyncApi.h:602
timeSync_Offset_Stable_Algo_t
Variables used for offset stabilization algorithm.
Definition: icss_timeSyncApi.h:614
ICSS_IEP_CLK_FREQ_333MHZ
@ ICSS_IEP_CLK_FREQ_333MHZ
Definition: icss_timeSyncApi.h:237
timeSync_RuntimeVar_t
Runtime variables for Time Sync implementation.
Definition: icss_timeSyncApi.h:504
syncParam_t::rxTs
uint32_t rxTs
Definition: icss_timeSyncApi.h:660
HwiP_Object
Opaque Hwi object used with the Hwi APIs.
Definition: HwiP.h:89
IEEE_802_3
@ IEEE_802_3
Definition: icss_timeSyncApi.h:166
TimeSync_Config_t::announceRcptTimeoutInterval
uint32_t announceRcptTimeoutInterval
Definition: icss_timeSyncApi.h:405
P2P
@ P2P
Definition: icss_timeSyncApi.h:196
ptpDparams_t::ptpGeneralSize
uint16_t ptpGeneralSize
Definition: icss_timeSyncApi.h:822
timeSync_NrrInfo_t
Parameters required for calculating Nighbor Rate Ratio.
Definition: icss_timeSyncApi.h:702
delayReqRespParams_t::timeStampNS
uint32_t timeStampNS
Definition: icss_timeSyncApi.h:735
DELAY_RESP_FRAME
@ DELAY_RESP_FRAME
Definition: icss_timeSyncApi.h:211
TimeSync_Config_t::pdelayBurstNumPkts
uint8_t pdelayBurstNumPkts
Definition: icss_timeSyncApi.h:427
TimeSync_Config_t::txTsTaskPriority
uint8_t txTsTaskPriority
Definition: icss_timeSyncApi.h:484
timeSync_SyntInfo_t::syntIndex
uint32_t syntIndex
Definition: icss_timeSyncApi.h:694
syncParam_t::txTs
uint32_t txTs
Definition: icss_timeSyncApi.h:666
TimeSync_ParamsHandle::__attribute__
uint32_t txTSTaskP1Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
peerDelayParams_t::T2Nsec
uint32_t T2Nsec
Definition: icss_timeSyncApi.h:762
CONTROL_NET
@ CONTROL_NET
Definition: icss_timeSyncApi.h:168
TimeSync_ParamsHandle::syncInterval
uint32_t syncInterval
Definition: icss_timeSyncApi.h:868
TimeSync_Config_t::ll_has_hsrTag
uint8_t ll_has_hsrTag
Definition: icss_timeSyncApi.h:447
SemaphoreP_Object
Opaque semaphore object used with the semaphore APIs.
Definition: SemaphoreP.h:59
timeSync_RuntimeVar_t::ltaOffset
int32_t ltaOffset
Definition: icss_timeSyncApi.h:576
TimeSync_Config_t::syncOut_sync0Start
uint32_t syncOut_sync0Start
Definition: icss_timeSyncApi.h:372
timeSync_NrrInfo_t::curIndex
uint8_t curIndex
Definition: icss_timeSyncApi.h:713
TimeSync_master_params_t::clockAccuracy
uint8_t clockAccuracy
Definition: icss_timeSyncApi.h:310
TimeSync_Config_t
Time synchronization configuration structure.
Definition: icss_timeSyncApi.h:368
TimeSync_ParamsHandle::txprotocol
uint8_t txprotocol
Definition: icss_timeSyncApi.h:851
TimeSync_ParamsHandle::pruicssHandle
PRUICSS_Handle pruicssHandle
Definition: icss_timeSyncApi.h:842
TimeSync_ParamsHandle
Time synchronization parameter handle structure.
Definition: icss_timeSyncApi.h:834
TimeSync_ParamsHandle::clockTime
timeStamp clockTime
Definition: icss_timeSyncApi.h:863
TimeSync_ParamsHandle::__attribute__
uint32_t txTSTaskP2Stack[TASK_STACK_SIZE/sizeof(uint32_t)] __attribute__((aligned(32)))
TimeSync_Config_t::icssIepClkFreq
uint32_t icssIepClkFreq
Definition: icss_timeSyncApi.h:496
syncParam_t::txTsSec
uint64_t txTsSec
Definition: icss_timeSyncApi.h:669
TimeSync_Config_t::txIntNum
uint32_t txIntNum
Definition: icss_timeSyncApi.h:417
TimeSync_Config_t::syncOut_sync0PWidth
uint32_t syncOut_sync0PWidth
Definition: icss_timeSyncApi.h:374
TimeSync_ParamsHandle::stackParams
ptpDparams_t stackParams
Definition: icss_timeSyncApi.h:871
TimeSync_Config_t::backgroundTaskPriority
uint8_t backgroundTaskPriority
Definition: icss_timeSyncApi.h:490
PROFINET
@ PROFINET
Definition: icss_timeSyncApi.h:169
TimeSync_getRxTimestampFromFrame
int32_t TimeSync_getRxTimestampFromFrame(TimeSync_ParamsHandle_t timeSyncParamsHandle, uint8_t rxPort, uint32_t *nanoseconds, uint64_t *seconds, uint8_t *TimeStampFromFrame)
Reads and provides timestamp of a received event message.
syncParam_t
Parameters required for calculating Cable Delay.
Definition: icss_timeSyncApi.h:646
TimeSync_ParamsHandle::delayParams
delayReqRespParams_t * delayParams
Definition: icss_timeSyncApi.h:956
TimeSync_parent_params_t::ptpPortNumber
uint16_t ptpPortNumber
Definition: icss_timeSyncApi.h:289
TimeSync_Config_t::timeSyncSyncLossCallBackfn
TimeSync_SyncLossCallBack_t timeSyncSyncLossCallBackfn
Definition: icss_timeSyncApi.h:376
TimeSync_Config_t::logAnnounceRcptTimeoutInterval
int8_t logAnnounceRcptTimeoutInterval
Definition: icss_timeSyncApi.h:389
timeSync_RuntimeVar_t::avgCorrectionField
uint32_t avgCorrectionField
Definition: icss_timeSyncApi.h:582
TimeSync_Config_t::custom_tx_api
uint8_t custom_tx_api
Definition: icss_timeSyncApi.h:451
TimeSync_SyncLossCallBack_t
void(* TimeSync_SyncLossCallBack_t)(void)
Sync loss callback function. Call cross module functions in case of loss of synchronization.
Definition: icss_timeSyncApi.h:273
TimeSync_setClockTime
int32_t TimeSync_setClockTime(TimeSync_ParamsHandle_t timeSyncParamsHandle)
Configures the driver memory.
ATOMIC_CLOCK
@ ATOMIC_CLOCK
Definition: icss_timeSyncApi.h:220
syncParam_t::rxTsSec
uint64_t rxTsSec
Definition: icss_timeSyncApi.h:663
TimeSync_ParamsHandle::timeSync_TxTSTaskP1
TaskP_Object timeSync_TxTSTaskP1
Definition: icss_timeSyncApi.h:889
SYNC_FRAME
@ SYNC_FRAME
Definition: icss_timeSyncApi.h:207
TimeSync_parent_params_t::observedOffsetScaledLogVariance
uint16_t observedOffsetScaledLogVariance
Definition: icss_timeSyncApi.h:293
icssIepClkFreq
icssIepClkFreq
ICSS IEP Clock Frequencies.
Definition: icss_timeSyncApi.h:234
TimeSync_ParamsHandle_t
struct TimeSync_ParamsHandle_s * TimeSync_ParamsHandle_t
Definition: icss_timeSyncApi.h:985
LISTENING
@ LISTENING
Definition: icss_timeSyncApi.h:146
timeSync_RuntimeVar_t::parentParams
TimeSync_parent_params_t parentParams
Definition: icss_timeSyncApi.h:605
TimeSync_Config_t::announceSendInterval
uint32_t announceSendInterval
Definition: icss_timeSyncApi.h:401
timeSync_Offset_Stable_Algo_t::driftThreshold
uint8_t driftThreshold
Definition: icss_timeSyncApi.h:625
timeSync_RuntimeVar_t::syncSequenceID
uint16_t syncSequenceID
Definition: icss_timeSyncApi.h:527
timeStamp::nanoseconds
uint32_t nanoseconds
Definition: icss_timeSyncApi.h:256
DELAY_REQ_FRAME
@ DELAY_REQ_FRAME
Definition: icss_timeSyncApi.h:209
TimeSync_frame_buffers_t::announce_TxBuf
uint8_t * announce_TxBuf
Definition: icss_timeSyncApi.h:350
timeSync_RuntimeVar_t::bmcaDone
uint8_t bmcaDone
Definition: icss_timeSyncApi.h:599
peerDelayParams_t::delayResCorrField
uint64_t delayResCorrField
Definition: icss_timeSyncApi.h:785
ipParams_t::dstIP
uint32_t dstIP
Definition: icss_timeSyncApi.h:802
PRUICSS_Handle
struct PRUICSS_Config_s * PRUICSS_Handle
A handle that is returned from a PRUICSS_open() call. This handle is required for calling other APIs.
Definition: pruicss/g_v0/pruicss.h:235
TimeSync_ParamsHandle::timeSync_txTSIsrObject
HwiP_Object timeSync_txTSIsrObject
Definition: icss_timeSyncApi.h:942
TimeSync_ParamsHandle::rxPort
uint8_t rxPort
Definition: icss_timeSyncApi.h:857
timeSync_NrrInfo_t::nrrEnable
uint8_t nrrEnable
Definition: icss_timeSyncApi.h:716
TimeSync_Config_t::protocol
netWorkProtType protocol
Definition: icss_timeSyncApi.h:411
TimeSync_updateDscpValueInDelayRequestFrame
void TimeSync_updateDscpValueInDelayRequestFrame(TimeSync_ParamsHandle_t timeSyncHandle, uint8_t dscpValue)
Update DSCP value in IP header in PTP Delay Request buffer.
timeSync_Offset_Stable_Algo_t::num_entries_index
uint8_t num_entries_index
Definition: icss_timeSyncApi.h:628
TimeSync_Config_t::timestamp_from_shared_ram
uint8_t timestamp_from_shared_ram
Definition: icss_timeSyncApi.h:457
TimeSync_master_params_t::clockClass
uint8_t clockClass
Definition: icss_timeSyncApi.h:308
ICSS_EMAC_MAX_PORTS_PER_INSTANCE
#define ICSS_EMAC_MAX_PORTS_PER_INSTANCE
Maximum number of Ports in a single ICSS
Definition: icss_emac.h:66
timeSync_RuntimeVar_t::ltaOffsetValid
int32_t ltaOffsetValid
Definition: icss_timeSyncApi.h:579
timeSync_Offset_Stable_Algo_t::lastSeen_good_drift_index
uint8_t lastSeen_good_drift_index
Definition: icss_timeSyncApi.h:620
TERRESTRIAL_RADIO
@ TERRESTRIAL_RADIO
Definition: icss_timeSyncApi.h:222
EventP.h
ptpFrameTypes_t
ptpFrameTypes_t
PTP Delay Mechanism Type. From Table 9 of Standard.
Definition: icss_timeSyncApi.h:203