AM64x MCU+ SDK  08.02.00
cpsw.h File Reference

Introduction

This file contains the type definitions and helper macros for the CPSW peripheral interface.

This CPSW peripheral implementation supports CPSW_2G, CPSW_5G and CPSW_9G found in SoCs of the Jacinto 7 family.

Go to the source code of this file.

Data Structures

struct  Cpsw_InterVlanRouteIngressPktMatchCfg
 InterVLAN route ingress packet match criteria configuration. More...
 
struct  Cpsw_InterVlanEgressPortCfg
 InterVLAN egress port configuration. More...
 
struct  Cpsw_SetInterVlanRouteUniEgressInArgs
 Input args for CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_UNI_EGRESS command. More...
 
struct  Cpsw_SetInterVlanRouteUniEgressOutArgs
 Output args for CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_UNI_EGRESS command. More...
 
struct  Cpsw_ClearInterVlanRouteUniEgressInArgs
 Input args for CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_UNI_EGRESS command. More...
 
struct  Cpsw_SetInterVlanRouteMultiEgressInArgs
 Input args for CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_MULTI_EGRESS command. More...
 
struct  Cpsw_SetInterVlanRouteMultiEgressOutArgs
 Output args for CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_MULTI_EGRESS command. More...
 
struct  Cpsw_ClearInterVlanRouteMultiEgressInArgs
 Input args for CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_MULTI_EGRESS command. More...
 
struct  Cpsw_SetTxShortIpgCfgInArgs
 Input args for CPSW_PER_IOCTL_SET_SHORT_IPG_CFG. More...
 
struct  Cpsw_TxShortIpgCfg
 Short IPG configuration for CPSW IP. More...
 
struct  Cpsw_VlanCfg
 CPSW-level VLAN configuration. More...
 
struct  Cpsw_MdioLinkStateChangeInfo
 PHY link status change event information. More...
 
struct  Cpsw_Cfg
 CPSW configuration. More...
 

Macros

#define CPSW_PER_PUBLIC_IOCTL(x)
 Helper macro to create CPSW IOCTL commands. More...
 
#define CPSW_MAC_PORT_NUM   (8U)
 
#define CPSW_INTR_STATS_PEND0   (1U)
 CPSW statistics interrupt id. More...
 
#define CPSW_INTR_MDIO_PEND   (2U)
 CPSW MDIO interrupt id. More...
 
#define CPSW_INTR_EVNT_PEND   (3U)
 CPSW event pending interrupt (CPTS) id. More...
 
CPSW InterVLAN ingress packet match types.

Ingress packet match criteria for interVLAN routing. Each packet match criteria is represented by a bit. To enable multiple match criteria create bitmask ORing required ingress packet match criteria defines

#define CPSW_INTERVLAN_INGRESSPKT_MATCH_PORT   (CPSW_ALE_POLICER_MATCH_PORT)
 Enable classifier match with PORT number. More...
 
#define CPSW_INTERVLAN_INGRESSPKT_MATCH_MACSRC   (CPSW_ALE_POLICER_MATCH_MACSRC)
 Enable classifier match with MAC source address entry. More...
 
#define CPSW_INTERVLAN_INGRESSPKT_MATCH_MACDST   (CPSW_ALE_POLICER_MATCH_MACDST)
 Enable classifier match with MAC destination address entry. More...
 
#define CPSW_INTERVLAN_INGRESSPKT_MATCH_ETHERTYPE   (CPSW_ALE_POLICER_MATCH_ETHERTYPE)
 Enable classifier match with MAC destination address entry. More...
 
#define CPSW_INTERVLAN_INGRESSPKT_MATCH_IPSRC   (CPSW_ALE_POLICER_MATCH_IPSRC)
 Enable classifier match with IPv4/IPv6 source address. More...
 
#define CPSW_INTERVLAN_INGRESSPKT_MATCH_IPDST   (CPSW_ALE_POLICER_MATCH_IPDST)
 Enable classifier match with IPv4/IPv6 destination address. More...
 

Typedefs

typedef void(* Cpsw_MdioLinkStateChangeCb) (Cpsw_MdioLinkStateChangeInfo *info, void *appArg)
 CPSW PHY link state change callback function. More...
 
typedef void(* Cpsw_PortLinkStatusChangeCb) (Enet_MacPort macPort, bool isLinkUp, void *appArg)
 CPSW port link status change callback function. More...
 

Enumerations

enum  Cpsw_Ioctl {
  CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_UNI_EGRESS = CPSW_PER_PUBLIC_IOCTL(0U), CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_UNI_EGRESS = CPSW_PER_PUBLIC_IOCTL(1U), CPSW_PER_IOCTL_SET_INTERVLAN_ROUTE_MULTI_EGRESS = CPSW_PER_PUBLIC_IOCTL(2U), CPSW_PER_IOCTL_CLEAR_INTERVLAN_ROUTE_MULTI_EGRESS = CPSW_PER_PUBLIC_IOCTL(3U),
  CPSW_PER_IOCTL_SET_SHORT_IPG_CFG = CPSW_PER_PUBLIC_IOCTL(4U), CPSW_PER_IOCTL_GET_SHORT_IPG_CFG = CPSW_PER_PUBLIC_IOCTL(5U)
}
 CPSW peripheral IOCTL commands. More...