AM64x MCU+ SDK  08.02.00

Introduction

Data Structures

struct  EnetRm_ResourceInfo
 Enet RM resource information. More...
 
struct  EnetRm_ResPrms
 Enet RM resource parameters. More...
 
struct  EnetRm_IoctlPermissionEntry
 Enet RM IOCTL permission entry. More...
 
struct  EnetRm_IoctlPermissionTable
 Enet RM IOCTL permission table. More...
 
struct  EnetRm_MacAddressPool
 Enet RM MAC address pool. More...
 
struct  EnetRm_AllocRxFlowInArgs
 Input args for ENET_RM_IOCTL_ALLOC_RX_FLOW command. More...
 
struct  EnetRm_AllocRxFlow
 Output args for ENET_RM_IOCTL_ALLOC_RX_FLOW command. More...
 
struct  EnetRm_AllocMacAddrOutArgs
 Input args for ENET_RM_IOCTL_ALLOC_MAC_ADDR command. More...
 
struct  EnetRm_FreeTxChInArgs
 Input args for ENET_RM_IOCTL_FREE_TX_CH_PEERID command. More...
 
struct  EnetRm_FreeRxFlowInArgs
 Input args for ENET_RM_IOCTL_FREE_RX_FLOW command. More...
 
struct  EnetRm_FreeMacAddrInArgs
 Input args for ENET_RM_IOCTL_FREE_MAC_ADDR command. More...
 
struct  EnetRm_ResCfg
 Resource manager configuration parameters. More...
 

Enumerations

enum  EnetRm_Ioctls {
  ENET_RM_IOCTL_ALLOC_MAC_ADDR = ENET_RM_PUBLIC_IOCTL(0U), ENET_RM_IOCTL_FREE_MAC_ADDR = ENET_RM_PUBLIC_IOCTL(1U), ENET_RM_IOCTL_ALLOC_RX_FLOW = ENET_RM_PUBLIC_IOCTL(2U), ENET_RM_IOCTL_FREE_RX_FLOW = ENET_RM_PUBLIC_IOCTL(3U),
  ENET_RM_IOCTL_ALLOC_TX_CH_PEERID = ENET_RM_PUBLIC_IOCTL(4U), ENET_RM_IOCTL_FREE_TX_CH_PEERID = ENET_RM_PUBLIC_IOCTL(5U)
}
 Enet RM IOCTL commands. More...
 

Macros

#define ENET_RM_PUBLIC_IOCTL(x)
 Helper macro to create IOCTL commands for Enet RM module. More...
 
#define ENET_RM_NUM_IOCTL_PERM_ENTRY_MAX   (16U)
 Maximum number of entries for IOCTL permission. More...
 
#define ENET_RM_NUM_MACADDR_MAX   (10U)
 Maximum number of macaddress to be managed by RM. More...
 
#define ENET_RM_NUM_RXCHAN_MAX   (2U)
 Maximum number of RX channels (i.e. sets of flows). More...
 

Resource Manager Error Codes

Error codes returned by RM functions.

#define ENET_RM_TXCHNUM_INVALID   (0xABCDABCDU)
 Enet RM invalid TX channel number. More...
 
#define ENET_RM_RXFLOWIDX_INVALID   (0xABCDABCDU)
 Enet RM invalid RX flow id. More...
 
#define ENET_RM_INVALIDCORE   (0x5562AEFEU)
 Enet RM invalid core. More...
 

Macro Definition Documentation

◆ ENET_RM_PUBLIC_IOCTL

#define ENET_RM_PUBLIC_IOCTL (   x)
Value:
ENET_IOCTL_RM_BASE | \
ENET_IOCTL_PER_GENERIC | \
ENET_IOCTL_MIN(x))

Helper macro to create IOCTL commands for Enet RM module.

◆ ENET_RM_TXCHNUM_INVALID

#define ENET_RM_TXCHNUM_INVALID   (0xABCDABCDU)

Enet RM invalid TX channel number.

◆ ENET_RM_RXFLOWIDX_INVALID

#define ENET_RM_RXFLOWIDX_INVALID   (0xABCDABCDU)

Enet RM invalid RX flow id.

◆ ENET_RM_INVALIDCORE

#define ENET_RM_INVALIDCORE   (0x5562AEFEU)

Enet RM invalid core.

◆ ENET_RM_NUM_IOCTL_PERM_ENTRY_MAX

#define ENET_RM_NUM_IOCTL_PERM_ENTRY_MAX   (16U)

Maximum number of entries for IOCTL permission.

◆ ENET_RM_NUM_MACADDR_MAX

#define ENET_RM_NUM_MACADDR_MAX   (10U)

Maximum number of macaddress to be managed by RM.

◆ ENET_RM_NUM_RXCHAN_MAX

#define ENET_RM_NUM_RXCHAN_MAX   (2U)

Maximum number of RX channels (i.e. sets of flows).

This is needed only for ICSSG Switch where there are two RX channels (with 8 flows each) for the host port. For all other peripherals, there is a single RX channel and multiple flows.

Enumeration Type Documentation

◆ EnetRm_Ioctls

Enet RM IOCTL commands.

Enumerator
ENET_RM_IOCTL_ALLOC_MAC_ADDR 

Alloc MAC address.

IOCTL parameters:

ENET_RM_IOCTL_FREE_MAC_ADDR 

Free MAC address.

IOCTL parameters:

ENET_RM_IOCTL_ALLOC_RX_FLOW 

Alloc RX flow.

IOCTL parameters:

ENET_RM_IOCTL_FREE_RX_FLOW 

Free RX flow.

IOCTL parameters:

ENET_RM_IOCTL_ALLOC_TX_CH_PEERID 

Alloc TX channel peer id.

IOCTL parameters:

  • inArgs: uint32_t coreKey
  • outArgs: uint32_t txPSILThreadId
ENET_RM_IOCTL_FREE_TX_CH_PEERID 

Free TX channel peer id.

IOCTL parameters:

ENET_IOCTL_TYPE_PUBLIC
@ ENET_IOCTL_TYPE_PUBLIC
Definition: enet_ioctl.h:167