AM64x MCU+ SDK  08.02.00
enet_mod_macport.h File Reference

Introduction

This file contains the type definitions and helper macros for the Enet MAC port module interface.

Go to the source code of this file.

Data Structures

struct  EnetMacPort_Interface
 MAC port interface. More...
 
struct  EnetMacPort_LinkCfg
 Link speed and duplexity configuration. More...
 
struct  EnetMacPort_GenericInArgs
 Generic MAC port input args. More...
 
struct  EnetMacPort_SetIngressDscpPriorityMapInArgs
 Input args for ENET_MACPORT_IOCTL_SET_INGRESS_DSCP_PRI_MAP command. More...
 
struct  EnetMacPort_SetPriorityRegenMapInArgs
 Input args for ENET_MACPORT_IOCTL_SET_PRI_REGEN_MAP command. More...
 
struct  EnetMacPort_SetEgressPriorityMapInArgs
 Input args for ENET_MACPORT_IOCTL_SET_EGRESS_QOS_PRI_MAP command. More...
 
struct  EnetMacPort_EnableEgressTrafficShapingInArgs
 Input args for ENET_MACPORT_IOCTL_ENABLE_EGRESS_TRAFFIC_SHAPING command. More...
 

Macros

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

Enumerations

enum  EnetMacPort_Ioctl {
  ENET_MACPORT_IOCTL_GET_VERSION = ENET_MACPORT_PUBLIC_IOCTL(0U), ENET_MACPORT_IOCTL_PRINT_REGS = ENET_MACPORT_PUBLIC_IOCTL(1U), ENET_MACPORT_IOCTL_SET_INGRESS_DSCP_PRI_MAP = ENET_MACPORT_PUBLIC_IOCTL(2U), ENET_MACPORT_IOCTL_GET_INGRESS_DSCP_PRI_MAP = ENET_MACPORT_PUBLIC_IOCTL(3U),
  ENET_MACPORT_IOCTL_SET_PRI_REGEN_MAP = ENET_MACPORT_PUBLIC_IOCTL(4U), ENET_MACPORT_IOCTL_GET_PRI_REGEN_MAP = ENET_MACPORT_PUBLIC_IOCTL(5U), ENET_MACPORT_IOCTL_SET_EGRESS_QOS_PRI_MAP = ENET_MACPORT_PUBLIC_IOCTL(6U), ENET_MACPORT_IOCTL_GET_EGRESS_QOS_PRI_MAP = ENET_MACPORT_PUBLIC_IOCTL(7U),
  ENET_MACPORT_IOCTL_ENABLE_EGRESS_TRAFFIC_SHAPING = ENET_MACPORT_PUBLIC_IOCTL(8U), ENET_MACPORT_IOCTL_DISABLE_EGRESS_TRAFFIC_SHAPING = ENET_MACPORT_PUBLIC_IOCTL(9U), ENET_MACPORT_IOCTL_GET_EGRESS_TRAFFIC_SHAPING = ENET_MACPORT_PUBLIC_IOCTL(10U), ENET_MACPORT_IOCTL_GET_MAXLEN = ENET_MACPORT_PUBLIC_IOCTL(11U),
  ENET_MACPORT_IOCTL_GET_LINK_CFG = ENET_MACPORT_PUBLIC_IOCTL(12U)
}
 MAC port IOCTL commands. More...
 
enum  EnetMac_LayerType { ENET_MAC_LAYER_MII = 1U, ENET_MAC_LAYER_GMII = 0U, ENET_MAC_LAYER_XGMII = 2U }
 MAC interface layer type. More...
 
enum  EnetMac_SublayerType {
  ENET_MAC_SUBLAYER_STANDARD = 0U, ENET_MAC_SUBLAYER_REDUCED, ENET_MAC_SUBLAYER_SERIAL, ENET_MAC_SUBLAYER_QUAD_SERIAL_MAIN,
  ENET_MAC_SUBLAYER_QUAD_SERIAL_SUB
}
 MAC interface sublayer type. More...
 
enum  EnetMac_VariantType { ENET_MAC_VARIANT_NONE = 0U, ENET_MAC_VARIANT_FORCED }
 MAC interface variant (only for specific interface types). More...
 
enum  EnetMac_SgmiiMode {
  ENET_MAC_SGMIIMODE_INVALID = 0U, ENET_MAC_SGMIIMODE_FIBER_WITH_PHY, ENET_MAC_SGMIIMODE_SGMII_WITH_PHY, ENET_MAC_SGMIIMODE_SGMII_AUTONEG_MASTER,
  ENET_MAC_SGMIIMODE_SGMII_AUTONEG_SLAVE, ENET_MAC_SGMIIMODE_SGMII_FORCEDLINK
}
 SGMII mode. More...
 
enum  EnetMacPort_VlanType { ENET_MACPORT_VLAN_TYPE_NONE = 0x00U, ENET_MACPORT_VLAN_TYPE_SINGLE_TAG = 0x01U, ENET_MACPORT_VLAN_TYPE_STACKED_TAGS = 0x02U }
 VLAN usage type. More...
 

Functions

static bool EnetMacPort_isMii (const EnetMacPort_Interface *mii)
 Check if interface is MII. More...
 
static bool EnetMacPort_isRmii (const EnetMacPort_Interface *mii)
 Check if interface is RMII. More...
 
static bool EnetMacPort_isGmii (const EnetMacPort_Interface *mii)
 Check if interface is GMII. More...
 
static bool EnetMacPort_isRgmii (const EnetMacPort_Interface *mii)
 Check if interface is RGMII. More...
 
static bool EnetMacPort_isSgmii (const EnetMacPort_Interface *mii)
 Check if interface is SGMII. More...
 
static bool EnetMacPort_isQsgmii (const EnetMacPort_Interface *mii)
 Check if interface is QSGMII. More...
 
static bool EnetMacPort_isXfi (const EnetMacPort_Interface *mii)
 Check if interface is XFI. More...