PDK API Guide for J721E
CPSW MAC Port

Introduction

The CPSW MAC port module provides additional IOCTL commands than those supported by the generic Enet MAC Port API set.

CPSW MAC port clocks:

Features:

Compile-time configuration:

Data Structures

struct  CpswMacPort_TxShortIpgCfg
 Configuration of transmit short inter packet gap feature. More...
 
struct  CpswMacPort_PortTxShortIpgCfg
 MAC port's short gap configuration. More...
 
struct  CpswMacPort_InterVlanRoutingCfg
 Port interVLAN configuration parameters. More...
 
struct  CpswMacPort_FifoStats
 FIFO related statistics of a MAC port. More...
 
struct  CpswMacPort_IpTsCfg
 Port IP configuration for time synchronization events. More...
 
struct  CpswMacPort_TsEventCfg
 Port configuration for time synchronization. More...
 
struct  CpswMacPort_EnableTsEventInArgs
 Input args for CPSW_MACPORT_IOCTL_ENABLE_CPTS_EVENT. More...
 
struct  CpswMacPort_EstTimestampCfg
 EST timestamping configuration parameters. More...
 
struct  CpswMacPort_EstStatus
 CPSW specific EST status. More...
 
struct  CpswMacPort_Cfg
 MAC port module configuration parameters. More...
 

Functions

void CpswMacPort_initCfg (CpswMacPort_Cfg *macPortCfg)
 Initialize CPSW MAC port configuration parameters. More...
 

Enumerations

enum  CpswMacPort_Ioctl {
  CPSW_MACPORT_IOCTL_GET_FIFO_STATS = CPSW_MACPORT_PUBLIC_IOCTL(0U), CPSW_MACPORT_IOCTL_ENABLE_CPTS_EVENT = CPSW_MACPORT_PUBLIC_IOCTL(1U), CPSW_MACPORT_IOCTL_DISABLE_CPTS_EVENT = CPSW_MACPORT_PUBLIC_IOCTL(2U), CPSW_MACPORT_IOCTL_EST_ENABLE_TIMESTAMP = CPSW_MACPORT_PUBLIC_IOCTL(3U),
  CPSW_MACPORT_IOCTL_EST_DISABLE_TIMESTAMP = CPSW_MACPORT_PUBLIC_IOCTL(4U), CPSW_MACPORT_IOCTL_EST_GET_STATUS = CPSW_MACPORT_PUBLIC_IOCTL(5U)
}
 CPSW MAC port IOCTL commands. More...
 
enum  CpswMacPort_InterVlanRouteId {
  CPSW_MACPORT_INTERVLAN_ROUTEID_FIRST, CPSW_MACPORT_INTERVLAN_ROUTEID_1 = CPSW_MACPORT_INTERVLAN_ROUTEID_FIRST, CPSW_MACPORT_INTERVLAN_ROUTEID_2, CPSW_MACPORT_INTERVLAN_ROUTEID_3,
  CPSW_MACPORT_INTERVLAN_ROUTEID_4, CPSW_MACPORT_INTERVLAN_ROUTEID_LAST = CPSW_MACPORT_INTERVLAN_ROUTEID_4
}
 MAC port interVLAN route identifier. More...
 
enum  CpswMacPort_EstTimestampMode { CPSW_MACPORT_EST_TIMESTAMP_ALL, CPSW_MACPORT_EST_TIMESTAMP_ONEPRI, CPSW_MACPORT_EST_TIMESTAMP_FIRST, CPSW_MACPORT_EST_TIMESTAMP_FIRST_ONEPRI }
 EST timestamping modes. More...
 

Macros

#define CPSW_MACPORT_PUBLIC_IOCTL(x)
 Helper macro to create IOCTL commands for CPSW MAC port module. More...
 

Macro Definition Documentation

◆ CPSW_MACPORT_PUBLIC_IOCTL

#define CPSW_MACPORT_PUBLIC_IOCTL (   x)
Value:
ENET_IOCTL_MACPORT_BASE | \
ENET_IOCTL_PER_CPSW | \
ENET_IOCTL_MIN(x))
Definition: enet_ioctl.h:167

Helper macro to create IOCTL commands for CPSW MAC port module.

Enumeration Type Documentation

◆ CpswMacPort_Ioctl

CPSW MAC port IOCTL commands.

Enumerator
CPSW_MACPORT_IOCTL_GET_FIFO_STATS 

Get MAC port FIFO statistics.

IOCTL parameters:

CPSW_MACPORT_IOCTL_ENABLE_CPTS_EVENT 

Enable Ethernet port CPTS event.

IOCTL parameters:

CPSW_MACPORT_IOCTL_DISABLE_CPTS_EVENT 

Disable Ethernet port CPTS event.

IOCTL parameters:

CPSW_MACPORT_IOCTL_EST_ENABLE_TIMESTAMP 

Enable EST packet timestamping functionality.

Once enabled, timestamps can be retrieved using CPSW CPTS IOCTLs.

IOCTL parameters: inArgs: CpswMacPort_EstTimestampCfg outArgs: None

CPSW_MACPORT_IOCTL_EST_DISABLE_TIMESTAMP 

Disable EST packet timestamping functionality.

IOCTL parameters: inArgs: EnetMacPort_GenericInArgs outArgs: None

CPSW_MACPORT_IOCTL_EST_GET_STATUS 

Get CPSW-specific EST status.

IOCTL parameters: inArgs: EnetMacPort_GenericInArgs outArgs: CpswMacPort_EstStatus

◆ CpswMacPort_InterVlanRouteId

MAC port interVLAN route identifier.

Enumerator
CPSW_MACPORT_INTERVLAN_ROUTEID_FIRST 

First interVLAN route Id

CPSW_MACPORT_INTERVLAN_ROUTEID_1 

InterVLAN route Id 1

CPSW_MACPORT_INTERVLAN_ROUTEID_2 

InterVLAN route Id 2

CPSW_MACPORT_INTERVLAN_ROUTEID_3 

InterVLAN route Id 3

CPSW_MACPORT_INTERVLAN_ROUTEID_4 

InterVLAN route Id 4

CPSW_MACPORT_INTERVLAN_ROUTEID_LAST 

Last interVLAN route Id

◆ CpswMacPort_EstTimestampMode

EST timestamping modes.

Enumerator
CPSW_MACPORT_EST_TIMESTAMP_ALL 

Timestamp all express packets on any priority.

CPSW_MACPORT_EST_TIMESTAMP_ONEPRI 

Timestamp only express packets of a given priority.

CPSW_MACPORT_EST_TIMESTAMP_FIRST 

Timestamp the first express packet in each time interval.

CPSW_MACPORT_EST_TIMESTAMP_FIRST_ONEPRI 

Timestamp the first express packet of a given priority in the time interval.

Function Documentation

◆ CpswMacPort_initCfg()

void CpswMacPort_initCfg ( CpswMacPort_Cfg macPortCfg)

Initialize CPSW MAC port configuration parameters.

Parameters
macPortCfgConfiguration parameters to be initialized