AM64x MCU+ SDK  08.00.00

Introduction

Functions

void EIP_DLR_init (EIP_DLRHandle dlrHandle)
 API to initialize the DLR driver. More...
 
void EIP_DLR_start (EIP_DLRHandle dlrHandle)
 API to start the DLR driver Calling this enables DLR on the device. More...
 
void EIP_DLR_stop (EIP_DLRHandle dlrHandle)
 API to stop the DLR driver Halt DLR. Calling this disables DLR on the device. More...
 
void EIP_DLR_port0ISR (uintptr_t arg)
 Fast ISR for Port 0, bypasses the buffer copy and NDK. More...
 
void EIP_DLR_port1ISR (uintptr_t arg)
 Fast ISR for Port 1, bypasses the buffer copy and NDK. More...
 
void EIP_DLR_beaconTimeoutISR_P0 (uintptr_t arg)
 ISR for beacon timeout for Port 0. More...
 
void EIP_DLR_beaconTimeoutISR_P1 (uintptr_t arg)
 ISR for beacon timeout for Port 1. More...
 
void EIP_DLR_port0ProcessLinkBrk (uint8_t linkStatus, void *arg2)
 Process DLR state machine in the event of a link break on Port0. More...
 
void EIP_DLR_port1ProcessLinkBrk (uint8_t linkStatus, void *arg2)
 Process DLR state machine in the event of a link break on Port1. More...
 
void EIP_DLR_neighborTimeoutISR0 (ClockP_Object *obj, void *arg)
 ISR for Neighbor timeout timer for port 0. More...
 
void EIP_DLR_neighborTimeoutISR1 (ClockP_Object *obj, void *arg)
 ISR for Neighbor timeout timer for port 1. More...
 
void EIP_DLR_addVlanID (uint8_t *src, uint16_t vlanID)
 
void EIP_DLR_genNCReqFrame (EIP_DLRHandle dlrHandle, uint8_t *src, uint8_t sourcePort)
 
void EIP_DLR_genNCResFrame (uint8_t *src, uint8_t sourcePort, uint8_t reqSrcPort, uint32_t sequenceId)
 
void EIP_DLR_genNeighborLinkStatFrame (EIP_DLRHandle dlrHandle, uint8_t *src, uint8_t sourcePort, uint8_t linkOrNeighbor, uint8_t linkStatus)
 
void EIP_DLR_initDLRFrameHeader (uint8_t *src, uint8_t *header)
 
void EIP_DLR_addSignOnNumNodes (uint8_t *src, uint16_t numNodes)
 
void EIP_DLR_processDLRFrame (EIP_DLRHandle dlrHandle, uint8_t *pktBuffer, uint8_t portNum, uint16_t size)
 Processes a sign on and Neighbor check request frame. More...
 
void EIP_DLR_dRAMInit (EIP_DLRHandle dlrHandle)
 
void EIP_DLR_resetStateMachine (EIP_DLRHandle dlrHandle)
 Initialize the state machine when it goes back to idle state. More...
 
void EIP_DLR_setDefaultValue (EIP_DLRHandle dlrHandle)
 
void EIP_DLR_switchToFault (EIP_DLRHandle dlrHandle)
 
void EIP_DLR_switchToNormal (EIP_DLRHandle dlrHandle)
 
int32_t EIP_DLR_isrInit (EIP_DLRHandle dlrHandle)
 
void EIP_DLR_periodicProcessing (ClockP_Object *obj, void *userArg)
 
void EIP_DLR_addToExceptionList (EIP_DLRHandle dlrHandle, uint8_t *macId)
 
void EIP_DLR_clearExceptionList (EIP_DLRHandle dlrHandle)
 
uint8_t EIP_DLR_checkSupervisorException (uint8_t *macId, EIP_DLRHandle dlrHandle)
 
void EIP_DLR_addModuleIPAddress (EIP_DLRHandle dlrHandle, uint32_t newIP)
 
void EIP_DLR_setDivider_WD_IEP (EIP_DLRHandle dlrHandle)
 Sets the clock divider to 1us for IEP watch dog timers. More...
 
void EIP_DLR_enable_WD_IEP (EIP_DLRHandle dlrHandle, uint8_t id)
 Enable the IEP Watch dog timers. More...
 
void EIP_DLR_disable_WD_IEP (EIP_DLRHandle dlrHandle, uint8_t id)
 Disable the IEP Watch dog timers. More...
 
void EIP_DLR_setTimeout_WD_IEP (EIP_DLRHandle dlrHandle, uint16_t periodInMicroSec, uint8_t id)
 Set the timeout value in watchdog. More...
 
void EIP_DLR_set_pdi_wd_trigger_mode (EIP_DLRHandle dlrHandle, uint32_t mode)
 Set the PDI WD trigger mode. More...
 

Function Documentation

◆ EIP_DLR_init()

void EIP_DLR_init ( EIP_DLRHandle  dlrHandle)

API to initialize the DLR driver.

    Initializes variables and timers & clocks, call once at the beginning
Parameters
dlrHandle[in] DLR driver handle

◆ EIP_DLR_start()

void EIP_DLR_start ( EIP_DLRHandle  dlrHandle)

API to start the DLR driver Calling this enables DLR on the device.

Parameters
dlrHandle[in] DLR driver handle

◆ EIP_DLR_stop()

void EIP_DLR_stop ( EIP_DLRHandle  dlrHandle)

API to stop the DLR driver Halt DLR. Calling this disables DLR on the device.

Parameters
dlrHandle[in] DLR driver handle

◆ EIP_DLR_port0ISR()

void EIP_DLR_port0ISR ( uintptr_t  arg)

Fast ISR for Port 0, bypasses the buffer copy and NDK.

Parameters
arg[in] user argument. DLR handle

◆ EIP_DLR_port1ISR()

void EIP_DLR_port1ISR ( uintptr_t  arg)

Fast ISR for Port 1, bypasses the buffer copy and NDK.

Parameters
arg[in] user argument. DLR handle

◆ EIP_DLR_beaconTimeoutISR_P0()

void EIP_DLR_beaconTimeoutISR_P0 ( uintptr_t  arg)

ISR for beacon timeout for Port 0.

Parameters
arg[in] user argument. DLR handle

◆ EIP_DLR_beaconTimeoutISR_P1()

void EIP_DLR_beaconTimeoutISR_P1 ( uintptr_t  arg)

ISR for beacon timeout for Port 1.

Parameters
arg[in] user argument. DLR handle

◆ EIP_DLR_port0ProcessLinkBrk()

void EIP_DLR_port0ProcessLinkBrk ( uint8_t  linkStatus,
void *  arg2 
)

Process DLR state machine in the event of a link break on Port0.

Parameters
linkStatus[in] link status of the port. Up/Down. 1/0
arg2[in] argument DLR handle

◆ EIP_DLR_port1ProcessLinkBrk()

void EIP_DLR_port1ProcessLinkBrk ( uint8_t  linkStatus,
void *  arg2 
)

Process DLR state machine in the event of a link break on Port1.

Parameters
linkStatus[in] link status of the port. Up/Down. 1/0
arg2[in] argument DLR handle

◆ EIP_DLR_neighborTimeoutISR0()

void EIP_DLR_neighborTimeoutISR0 ( ClockP_Object obj,
void *  arg 
)

ISR for Neighbor timeout timer for port 0.

Parameters
obj[in] Clock object associated with this callback
arg[in] user argument. DLR handle

◆ EIP_DLR_neighborTimeoutISR1()

void EIP_DLR_neighborTimeoutISR1 ( ClockP_Object obj,
void *  arg 
)

ISR for Neighbor timeout timer for port 1.

Parameters
obj[in] Clock object associated with this callback
arg[in] user argument. DLR handle

◆ EIP_DLR_addVlanID()

void EIP_DLR_addVlanID ( uint8_t *  src,
uint16_t  vlanID 
)

◆ EIP_DLR_genNCReqFrame()

void EIP_DLR_genNCReqFrame ( EIP_DLRHandle  dlrHandle,
uint8_t *  src,
uint8_t  sourcePort 
)

◆ EIP_DLR_genNCResFrame()

void EIP_DLR_genNCResFrame ( uint8_t *  src,
uint8_t  sourcePort,
uint8_t  reqSrcPort,
uint32_t  sequenceId 
)

◆ EIP_DLR_genNeighborLinkStatFrame()

void EIP_DLR_genNeighborLinkStatFrame ( EIP_DLRHandle  dlrHandle,
uint8_t *  src,
uint8_t  sourcePort,
uint8_t  linkOrNeighbor,
uint8_t  linkStatus 
)

◆ EIP_DLR_initDLRFrameHeader()

void EIP_DLR_initDLRFrameHeader ( uint8_t *  src,
uint8_t *  header 
)

◆ EIP_DLR_addSignOnNumNodes()

void EIP_DLR_addSignOnNumNodes ( uint8_t *  src,
uint16_t  numNodes 
)

◆ EIP_DLR_processDLRFrame()

void EIP_DLR_processDLRFrame ( EIP_DLRHandle  dlrHandle,
uint8_t *  pktBuffer,
uint8_t  portNum,
uint16_t  size 
)

Processes a sign on and Neighbor check request frame.

Parameters
dlrHandle[in] DLR handle
pktBuffer[in] pointer to bytestream
portNum[in] Port number wherer the packet arrived
size[in] size of packet

◆ EIP_DLR_dRAMInit()

void EIP_DLR_dRAMInit ( EIP_DLRHandle  dlrHandle)

◆ EIP_DLR_resetStateMachine()

void EIP_DLR_resetStateMachine ( EIP_DLRHandle  dlrHandle)

Initialize the state machine when it goes back to idle state.

Parameters
dlrHandle[in] DLR handle

◆ EIP_DLR_setDefaultValue()

void EIP_DLR_setDefaultValue ( EIP_DLRHandle  dlrHandle)

◆ EIP_DLR_switchToFault()

void EIP_DLR_switchToFault ( EIP_DLRHandle  dlrHandle)

◆ EIP_DLR_switchToNormal()

void EIP_DLR_switchToNormal ( EIP_DLRHandle  dlrHandle)

◆ EIP_DLR_isrInit()

int32_t EIP_DLR_isrInit ( EIP_DLRHandle  dlrHandle)

◆ EIP_DLR_periodicProcessing()

void EIP_DLR_periodicProcessing ( ClockP_Object obj,
void *  userArg 
)

◆ EIP_DLR_addToExceptionList()

void EIP_DLR_addToExceptionList ( EIP_DLRHandle  dlrHandle,
uint8_t *  macId 
)

◆ EIP_DLR_clearExceptionList()

void EIP_DLR_clearExceptionList ( EIP_DLRHandle  dlrHandle)

◆ EIP_DLR_checkSupervisorException()

uint8_t EIP_DLR_checkSupervisorException ( uint8_t *  macId,
EIP_DLRHandle  dlrHandle 
)

◆ EIP_DLR_addModuleIPAddress()

void EIP_DLR_addModuleIPAddress ( EIP_DLRHandle  dlrHandle,
uint32_t  newIP 
)

◆ EIP_DLR_setDivider_WD_IEP()

void EIP_DLR_setDivider_WD_IEP ( EIP_DLRHandle  dlrHandle)

Sets the clock divider to 1us for IEP watch dog timers.

Parameters
dlrHandle[in] DLR handle

◆ EIP_DLR_enable_WD_IEP()

void EIP_DLR_enable_WD_IEP ( EIP_DLRHandle  dlrHandle,
uint8_t  id 
)

Enable the IEP Watch dog timers.

Parameters
dlrHandle[in] DLR handle
id[in] 0/1 for WD_PD and WD_PDI respectively

◆ EIP_DLR_disable_WD_IEP()

void EIP_DLR_disable_WD_IEP ( EIP_DLRHandle  dlrHandle,
uint8_t  id 
)

Disable the IEP Watch dog timers.

Parameters
dlrHandle[in] DLR handle
id[in] 0/1 for WD_PD/WD_PDI respectively

◆ EIP_DLR_setTimeout_WD_IEP()

void EIP_DLR_setTimeout_WD_IEP ( EIP_DLRHandle  dlrHandle,
uint16_t  periodInMicroSec,
uint8_t  id 
)

Set the timeout value in watchdog.

Parameters
dlrHandle[in] DLR handle
periodInMicroSec[in] Timeout value in microseconds
id[in] watch dog ID

◆ EIP_DLR_set_pdi_wd_trigger_mode()

void EIP_DLR_set_pdi_wd_trigger_mode ( EIP_DLRHandle  dlrHandle,
uint32_t  mode 
)

Set the PDI WD trigger mode.

Parameters
dlrHandle[in] DLR handle
mode[in] mode to be set in DGIO ctrl reg