AM64x INDUSTRIAL COMMUNICATIONS SDK  2026.00.00

Introduction

HSR-PRP LRE Driver APIs implement the key interface with HSR-PRP firmware and enet driver.

Sub Modules

 HSR/PRP Common Driver APIs
 

Data Structures

struct  lreStatistics
 LRE Interface Statistics. More...
 
struct  SUP_TAG
 Supervision Frame Tag. More...
 
struct  TLV1_TAG
 TLV1 Tag. More...
 
struct  TLV2_TAG
 TLV2 Tag. More...
 
struct  TLV0_TAG
 TLV0 Tag. More...
 
struct  __attribute__
 Supervision frame with no VLAN tag. More...
 
struct  Lre_supervisionObj
 Object for supervision frame handling. More...
 
struct  NodeInfo
 Structure to hold information about a single node. More...
 
struct  NodeBucket
 Structure for a single bucket in the hash table. More...
 
struct  NodesTable
 Structure for the nodestable hash table. More...
 
struct  Lre_nodestableObj
 Structure for the complete nodestable handling. More...
 
struct  Lre_statisticsObj
 Structure for statistics counters. More...
 
struct  Lre_Obj
 Structure for HSR/PRP redundancy handle members. More...
 

Typedefs

typedef struct Lre_Obj_s * Lre_Handle
 LRE hsr-prp driver handle. More...
 

Enumerations

enum  Lre_Mode { LRE_MODE_PRP_DUP_DISCARD, LRE_MODE_PRP_DUP_ACCEPT, LRE_MODE_HSR }
 LRE Mode Enum. More...
 
enum  Lre_NodeType {
  NT_NODE_PRP_TYPE_DAN_DUP_ACCEPT, NT_NODE_PRP_TYPE_DAN_DUP_DISCARD, NT_NODE_PRP_TYPE_REDBOX_DUP_ACCEPT, NT_NODE_PRP_TYPE_REDBOX_DUP_DISCARD,
  NT_NODE_PRP_TYPE_VDAN_DUP_ACCEPT, NT_NODE_PRP_TYPE_VDAN_DUP_DISCARD, NT_NODE_HSR_TYPE_DAN, NT_NODE_HSR_TYPE_VDAN,
  NT_NODE_HSR_TYPE_REDBOX, NT_NODE_TYPE_SANA, NT_NODE_TYPE_SANB, NT_NODE_TYPE_SANAB,
  NT_NODE_TYPE_END
}
 LRE Remote Node Entry Type Enum. More...
 

Macros

#define LRE_MANUFACTURER   "Texas Instruments"
 
#define LRE_VERSION_NAME   "1.0.0.1"
 
#define LRE_NODE_NAME   "TI"
 
#define LRE_SUP_SEND_HANDLER_TASK_PRIORITY   (7U)
 
#define LRE_SUP_SEND_HANDLER_TASK_STACK   (3 * 1024)
 
#define LRE_SUP_RCV_HANDLER_TASK_PRIORITY   (7U)
 
#define LRE_SUP_RCV_HANDLER_TASK_STACK   (8 * 1024)
 
#define ETHER_TYPE_LRE_SUP   ( 0x88FB )
 
#define LRE_FRAME_MIN_SIZE   ( 66 )
 
#define LRE_FRAME_VLAN_MIN_SIZE   ( 70 )
 
#define ICSS_EMAC_MAXMTU_HSR   1528
 
#define LRE_SUP_PATH_VERSION   ( 0x0001 )
 Path field is unused, set to 0 (MSB 4bits). Protocol version = 1. More...
 
#define LRE_TLV1_TYPE_PRP_DUP_DISCARD   ( 20 )
 PRP node in Duplicate Discard mode. More...
 
#define LRE_TLV1_TYPE_PRP_DUP_ACCEPT   ( 21 )
 PRP node in Duplicate Accept mode. More...
 
#define LRE_TLV1_TYPE_HSR   ( 23 )
 HSR node in normal operation. More...
 
#define LRE_TLV2_TYPE_REDBOX_MAC   ( 30 )
 Indicates that the source node is a RedBox. More...
 
#define LRE_TLV0_TYPE   ( 0 )
 Closing TLV, set to 0. More...
 
#define LRE_TLV0_LENGTH   ( 0 )
 Closing TLV, set to 0. More...
 
#define NT_TOTAL_ENTRIES   256
 
#define NT_BUCKET_SIZE   8
 
#define NT_NUM_OF_BUCKETS   (NT_TOTAL_ENTRIES/NT_BUCKET_SIZE)
 
#define LRE_NODE_FORGET_TIME   60
 
#define LRE_PORT_A   0U
 
#define LRE_PORT_B   1U
 
#define LRE_NODESTABLE_ENTRY_INVALID   0U
 
#define LRE_NODESTABLE_ENTRY_VALID   1U
 

Macro Definition Documentation

◆ LRE_MANUFACTURER

#define LRE_MANUFACTURER   "Texas Instruments"

◆ LRE_VERSION_NAME

#define LRE_VERSION_NAME   "1.0.0.1"

◆ LRE_NODE_NAME

#define LRE_NODE_NAME   "TI"

◆ LRE_SUP_SEND_HANDLER_TASK_PRIORITY

#define LRE_SUP_SEND_HANDLER_TASK_PRIORITY   (7U)

◆ LRE_SUP_SEND_HANDLER_TASK_STACK

#define LRE_SUP_SEND_HANDLER_TASK_STACK   (3 * 1024)

◆ LRE_SUP_RCV_HANDLER_TASK_PRIORITY

#define LRE_SUP_RCV_HANDLER_TASK_PRIORITY   (7U)

◆ LRE_SUP_RCV_HANDLER_TASK_STACK

#define LRE_SUP_RCV_HANDLER_TASK_STACK   (8 * 1024)

◆ ETHER_TYPE_LRE_SUP

#define ETHER_TYPE_LRE_SUP   ( 0x88FB )

Ether type for supervision frames

◆ LRE_FRAME_MIN_SIZE

#define LRE_FRAME_MIN_SIZE   ( 66 )

The minimum RED frame size with no VLAN tag - no FCS!

◆ LRE_FRAME_VLAN_MIN_SIZE

#define LRE_FRAME_VLAN_MIN_SIZE   ( 70 )

The minimum RED frame size with a VLAN tag - no FCS!

◆ ICSS_EMAC_MAXMTU_HSR

#define ICSS_EMAC_MAXMTU_HSR   1528

◆ LRE_SUP_PATH_VERSION

#define LRE_SUP_PATH_VERSION   ( 0x0001 )

Path field is unused, set to 0 (MSB 4bits). Protocol version = 1.

◆ LRE_TLV1_TYPE_PRP_DUP_DISCARD

#define LRE_TLV1_TYPE_PRP_DUP_DISCARD   ( 20 )

PRP node in Duplicate Discard mode.

◆ LRE_TLV1_TYPE_PRP_DUP_ACCEPT

#define LRE_TLV1_TYPE_PRP_DUP_ACCEPT   ( 21 )

PRP node in Duplicate Accept mode.

◆ LRE_TLV1_TYPE_HSR

#define LRE_TLV1_TYPE_HSR   ( 23 )

HSR node in normal operation.

◆ LRE_TLV2_TYPE_REDBOX_MAC

#define LRE_TLV2_TYPE_REDBOX_MAC   ( 30 )

Indicates that the source node is a RedBox.

◆ LRE_TLV0_TYPE

#define LRE_TLV0_TYPE   ( 0 )

Closing TLV, set to 0.

◆ LRE_TLV0_LENGTH

#define LRE_TLV0_LENGTH   ( 0 )

Closing TLV, set to 0.

◆ NT_TOTAL_ENTRIES

#define NT_TOTAL_ENTRIES   256

Total entries in the nodestable

◆ NT_BUCKET_SIZE

#define NT_BUCKET_SIZE   8

Max number of nodes per bucket (collision list size)

◆ NT_NUM_OF_BUCKETS

#define NT_NUM_OF_BUCKETS   (NT_TOTAL_ENTRIES/NT_BUCKET_SIZE)

Number of buckets in the nodestable

◆ LRE_NODE_FORGET_TIME

#define LRE_NODE_FORGET_TIME   60

Time after which a node entry is cleared from the NodesTable after frames from this node cease to be received.

◆ LRE_PORT_A

#define LRE_PORT_A   0U

Port corresponding to LRE LAN_A

◆ LRE_PORT_B

#define LRE_PORT_B   1U

Port corresponding to LRE LAN_B

◆ LRE_NODESTABLE_ENTRY_INVALID

#define LRE_NODESTABLE_ENTRY_INVALID   0U

Indicates that the LRE Nodestable entry is invalid

◆ LRE_NODESTABLE_ENTRY_VALID

#define LRE_NODESTABLE_ENTRY_VALID   1U

Indicates that the LRE Nodestable entry is valid

Typedef Documentation

◆ Lre_Handle

typedef struct Lre_Obj_s* Lre_Handle

LRE hsr-prp driver handle.

LRE driver opaque handle used to call any LRE related APIs.

Enumeration Type Documentation

◆ Lre_Mode

enum Lre_Mode

LRE Mode Enum.

Enumerator
LRE_MODE_PRP_DUP_DISCARD 

PRP Mode with host duplicate discard enabled

LRE_MODE_PRP_DUP_ACCEPT 

PRP Modze with duplicate accept

LRE_MODE_HSR 

HSR Mode

◆ Lre_NodeType

LRE Remote Node Entry Type Enum.

Enumerator
NT_NODE_PRP_TYPE_DAN_DUP_ACCEPT 

PRP Node, type: DAN with duplicate accept

NT_NODE_PRP_TYPE_DAN_DUP_DISCARD 

PRP Node, type: DAN with duplicate discard

NT_NODE_PRP_TYPE_REDBOX_DUP_ACCEPT 

PRP Node, type: REDBOX with duplicate accept

NT_NODE_PRP_TYPE_REDBOX_DUP_DISCARD 

PRP Node, type: REDBOX with duplicate discard

NT_NODE_PRP_TYPE_VDAN_DUP_ACCEPT 

PRP Node, type: VDAN with duplicate accept

NT_NODE_PRP_TYPE_VDAN_DUP_DISCARD 

PRP Node, type: VDAN with duplicate discard

NT_NODE_HSR_TYPE_DAN 

HSR Node, type: DAN

NT_NODE_HSR_TYPE_VDAN 

HSR Node, type: VDAN

NT_NODE_HSR_TYPE_REDBOX 

HSR Node, type: REDBOX

NT_NODE_TYPE_SANA 

Node type: SANA

NT_NODE_TYPE_SANB 

Node type: SANB

NT_NODE_TYPE_SANAB 

Node type: SANAB

NT_NODE_TYPE_END 

End of Node Type Enum