Data Structures | Macros | Typedefs | Enumerations
cpsw_cpts.h File Reference

This file contains the main structure definitions and function prototypes of the CPTS submodule. More...

#include "cpsw_types.h"
#include <ti/drv/cpsw/include/cpsw_queue.h>

Data Structures

struct  CpswCpts_Event_s
 CPTS Event. More...
 
struct  CpswCpts_LookUpEventInArgs_s
 CPTS Lookup event IOCTL inArgs. More...
 
struct  CpswCpts_EventStats_s
 CPTS event statistics. More...
 
struct  CpswCpts_StackConfig_s
 CPTS Register Stack InArgs. More...
 
struct  CpswCpts_SetTsPpmInArgs_s
 Set time stamp PPM IOCTL inArgs. More...
 
struct  CpswCpts_SetCompValInArgs_s
 Setup Compare Value IOCTL inArgs. More...
 
struct  CpswCpts_SetFxnGenInArgs_s
 Set Function Generator(same data structure for both Generic and Ethernet) IOCTL inArgs. More...
 
struct  CptsSetFxnGenNudgeInArgs_s
 Setup Function generator(same data structure for both Generic and Ethernet) Nudge IOCTL inArgs. More...
 
struct  CpswCpts_Config_s
 CPTS configuration. More...
 

Macros

#define CPSW_CPTS_PUBLIC_IOCTL(x)   (CPSW_IOCTL_CPTS_BASE | CPSW_IOCTL_MIN(x))
 Helper macro to create IOCTL commands for CPTS submodule.
 

Typedefs

typedef enum CpswCpts_RftClkFreq_e CpswCpts_RftClkFreq
 CPTS clock frequency add value enumeration.
 
typedef enum CpswCpts_EventType_e CpswCpts_EventType
 CPTS event type enumeration.
 
typedef enum CpswCpts_MsgType_e CpswCpts_MsgType
 CPTS Ethernet message type enumeration.
 
typedef enum
CpswCpts_OutputBitSel_e 
CpswCpts_OutputBitSel
 CPTS time stamp output bit enumeration.
 
typedef enum CpswCpts_PpmMode_e CpswCpts_PpmMode
 CPTS PPM mode enumeration.
 
typedef enum CpswCpts_PpmDir_e CpswCpts_PpmDir
 CPTS PPM direction Enumeration.
 
typedef struct CpswCpts_Event_s CpswCpts_Event
 CPTS Event.
 
typedef struct
CpswCpts_LookUpEventInArgs_s 
CpswCpts_LookUpEventInArgs
 CPTS Lookup event IOCTL inArgs.
 
typedef struct
CpswCpts_EventStats_s 
CpswCpts_EventStats
 CPTS event statistics.
 
typedef void(* CpswCpts_EventNotifyCb )(void *hEventNotifyCbArg, CpswCpts_Event *eventInfo)
 CPTS Event notify callback type.
 
typedef struct
CpswCpts_StackConfig_s 
CpswCpts_RegisterStackInArgs
 CPTS Register Stack InArgs. More...
 
typedef struct
CpswCpts_SetTsPpmInArgs_s 
CpswCpts_SetTsPpmInArgs
 Set time stamp PPM IOCTL inArgs.
 
typedef struct
CpswCpts_SetCompValInArgs_s 
CpswCpts_SetCompValInArgs
 Setup Compare Value IOCTL inArgs.
 
typedef struct
CpswCpts_SetFxnGenInArgs_s 
CpswCpts_SetFxnGenInArgs
 Set Function Generator(same data structure for both Generic and Ethernet) IOCTL inArgs.
 
typedef struct
CptsSetFxnGenNudgeInArgs_s 
CptsSetFxnGenNudgeInArgs
 Setup Function generator(same data structure for both Generic and Ethernet) Nudge IOCTL inArgs.
 
typedef struct CpswCpts_Config_s CpswCpts_Config
 CPTS configuration. More...
 
typedef struct CpswCpts_Obj_s * CpswCpts_Handle
 CPTS handle. More...
 

Enumerations

enum  CpswCpts_Ioctl_e {
  CPSW_CPTS_IOCTL_GET_VERSION = CPSW_CPTS_PUBLIC_IOCTL(0U), CPSW_CPTS_IOCTL_REGISTER_STACK = CPSW_CPTS_PUBLIC_IOCTL(1U), CPSW_CPTS_IOCTL_UNREGISTER_STACK = CPSW_CPTS_PUBLIC_IOCTL(2U), CPSW_CPTS_IOCTL_PUSH_TIMESTAMP_EVENT = CPSW_CPTS_PUBLIC_IOCTL(3U),
  CPSW_CPTS_IOCTL_LOAD_TIMESTAMP = CPSW_CPTS_PUBLIC_IOCTL(4U), CPSW_CPTS_IOCTL_SET_TS_NUDGE = CPSW_CPTS_PUBLIC_IOCTL(5U), CPSW_CPTS_IOCTL_SET_TS_PPM = CPSW_CPTS_PUBLIC_IOCTL(6U), CPSW_CPTS_IOCTL_SET_COMP = CPSW_CPTS_PUBLIC_IOCTL(7U),
  CPSW_CPTS_IOCTL_SET_COMP_NUDGE = CPSW_CPTS_PUBLIC_IOCTL(8U), CPSW_CPTS_IOCTL_SET_GENF = CPSW_CPTS_PUBLIC_IOCTL(9U), CPSW_CPTS_IOCTL_SET_GENF_NUDGE = CPSW_CPTS_PUBLIC_IOCTL(10U), CPSW_CPTS_IOCTL_SET_ESTF = CPSW_CPTS_PUBLIC_IOCTL(11U),
  CPSW_CPTS_IOCTL_SET_ESTF_NUDGE = CPSW_CPTS_PUBLIC_IOCTL(12U), CPSW_CPTS_IOCTL_SELECT_TS_OUTPUT_BIT = CPSW_CPTS_PUBLIC_IOCTL(13U), CPSW_CPTS_IOCTL_LOOKUP_EVENT = CPSW_CPTS_PUBLIC_IOCTL(14U), CPSW_CPTS_IOCTL_CLEAR_ALL_EVENTS = CPSW_CPTS_PUBLIC_IOCTL(15U),
  CPSW_CPTS_IOCTL_PRINT_REGS = CPSW_CPTS_PUBLIC_IOCTL(16U), CPSW_CPTS_IOCTL_PRINT_STATS = CPSW_CPTS_PUBLIC_IOCTL(17U)
}
 CPTS module IOCTL commands. More...
 
enum  CpswCpts_RftClkFreq_e {
  CPSW_CPTS_RFTCLK_FREQ_1000MHZ = 0U, CPSW_CPTS_RFTCLK_FREQ_500MHZ = 1U, CPSW_CPTS_RFTCLK_FREQ_333_33MHZ = 2U, CPSW_CPTS_RFTCLK_FREQ_250MHZ = 3U,
  CPSW_CPTS_RFTCLK_FREQ_200MHZ = 4U, CPSW_CPTS_RFTCLK_FREQ_166_66MHZ = 5U, CPSW_CPTS_RFTCLK_FREQ_142_85MHZ = 6U, CPSW_CPTS_RFTCLK_FREQ_125MHZ = 7U
}
 CPTS clock frequency add value enumeration. More...
 
enum  CpswCpts_EventType_e {
  CPSW_CPTS_EVENTTYPE_TS_PUSH = 0U, CPSW_CPTS_EVENTTYPE_TS_ROLLOVER = 1U, CPSW_CPTS_EVENTTYPE_TS_HALFROLLOVER = 2U, CPSW_CPTS_EVENTTYPE_HW_TS_PUSH = 3U,
  CPSW_CPTS_EVENTTYPE_ETH_RECEIVE = 4U, CPSW_CPTS_EVENTTYPE_ETH_TRANSMIT = 5U, CPSW_CPTS_EVENTTYPE_TS_COMP = 6U, CPSW_CPTS_EVENTTYPE_INVALID = -1
}
 CPTS event type enumeration. More...
 
enum  CpswCpts_MsgType_e {
  CPSW_CPTS_MESSAGE_SYNC = 0x00U, CPSW_CPTS_MESSAGE_DELAY_REQ = 0x01U, CPSW_CPTS_MESSAGE_PDELAY_REQ = 0x02U, CPSW_CPTS_MESSAGE_PDELAY_RESP = 0x03U,
  CPSW_CPTS_MESSAGE_FOLLOW_UP = 0x08U, CPSW_CPTS_MESSAGE_DELAY_RESP = 0x09U, CPSW_CPTS_MESSAGE_PDELAY_RESP_FOLLOW_UP = 0x0AU, CPSW_CPTS_MESSAGE_ANNOUNCE = 0x0BU,
  CPSW_CPTS_MESSAGE_SIGNALING = 0x0CU, CPSW_CPTS_MESSAGE_MANAGEMENT = 0x0DU, CPSW_CPTS_MESSAGE_INVALID = -1
}
 CPTS Ethernet message type enumeration. More...
 
enum  CpswCpts_OutputBitSel_e {
  CPSW_CPTS_TS_OUTPUT_BIT_DISABLED = 0U, CPSW_CPTS_TS_OUTPUT_BIT_17 = 1U, CPSW_CPTS_TS_OUTPUT_BIT_18 = 2U, CPSW_CPTS_TS_OUTPUT_BIT_19 = 3U,
  CPSW_CPTS_TS_OUTPUT_BIT_20 = 4U, CPSW_CPTS_TS_OUTPUT_BIT_21 = 5U, CPSW_CPTS_TS_OUTPUT_BIT_22 = 6U, CPSW_CPTS_TS_OUTPUT_BIT_23 = 7U,
  CPSW_CPTS_TS_OUTPUT_BIT_24 = 8U, CPSW_CPTS_TS_OUTPUT_BIT_25 = 9U, CPSW_CPTS_TS_OUTPUT_BIT_26 = 10U, CPSW_CPTS_TS_OUTPUT_BIT_27 = 11U,
  CPSW_CPTS_TS_OUTPUT_BIT_28 = 12U, CPSW_CPTS_TS_OUTPUT_BIT_29 = 13U, CPSW_CPTS_TS_OUTPUT_BIT_30 = 14U, CPSW_CPTS_TS_OUTPUT_BIT_31 = 15U
}
 CPTS time stamp output bit enumeration. More...
 
enum  CpswCpts_PpmMode_e { CPSW_CPTS_PPM_DISABLE = 0U, CPSW_CPTS_PPM_PARTS_PER_MILLION = 1U, CPSW_CPTS_PPM_PARTS_PER_HOUR = 2U }
 CPTS PPM mode enumeration. More...
 
enum  CpswCpts_PpmDir_e { CPSW_CPTS_PPM_DIR_INCREASE = 0U, CPSW_CPTS_PPM_DIR_DECREASE = 1U }
 CPTS PPM direction Enumeration. More...
 

Detailed Description

This file contains the main structure definitions and function prototypes of the CPTS submodule.


Copyright 2020, Texas Instruments Incorporated