Functions | |
void | EIP_DLR_init (EIP_DLRHandle dlrHandle) |
API to initialize the DLR driver. More... | |
void | EIP_DLR_deinit (EIP_DLRHandle dlrHandle) |
API to de-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... | |
void EIP_DLR_init | ( | EIP_DLRHandle | dlrHandle | ) |
API to initialize the DLR driver.
Initializes variables and timers & clocks, call once at the beginning
dlrHandle | [in] DLR driver handle |
void EIP_DLR_deinit | ( | EIP_DLRHandle | dlrHandle | ) |
API to de-initialize the DLR driver.
dlrHandle | [in] DLR driver handle |
void EIP_DLR_start | ( | EIP_DLRHandle | dlrHandle | ) |
API to start the DLR driver Calling this enables DLR on the device.
dlrHandle | [in] DLR driver handle |
void EIP_DLR_stop | ( | EIP_DLRHandle | dlrHandle | ) |
API to stop the DLR driver Halt DLR. Calling this disables DLR on the device.
dlrHandle | [in] DLR driver handle |
void EIP_DLR_port0ISR | ( | uintptr_t | arg | ) |
Fast ISR for Port 0, bypasses the buffer copy and NDK.
arg | [in] user argument. DLR handle |
void EIP_DLR_port1ISR | ( | uintptr_t | arg | ) |
Fast ISR for Port 1, bypasses the buffer copy and NDK.
arg | [in] user argument. DLR handle |
void EIP_DLR_beaconTimeoutISR_P0 | ( | uintptr_t | arg | ) |
ISR for beacon timeout for Port 0.
arg | [in] user argument. DLR handle |
void EIP_DLR_beaconTimeoutISR_P1 | ( | uintptr_t | arg | ) |
ISR for beacon timeout for Port 1.
arg | [in] user argument. DLR handle |
void EIP_DLR_port0ProcessLinkBrk | ( | uint8_t | linkStatus, |
void * | arg2 | ||
) |
Process DLR state machine in the event of a link break on Port0.
linkStatus | [in] link status of the port. Up/Down. 1/0 |
arg2 | [in] argument DLR handle |
void EIP_DLR_port1ProcessLinkBrk | ( | uint8_t | linkStatus, |
void * | arg2 | ||
) |
Process DLR state machine in the event of a link break on Port1.
linkStatus | [in] link status of the port. Up/Down. 1/0 |
arg2 | [in] argument DLR handle |
void EIP_DLR_neighborTimeoutISR0 | ( | ClockP_Object * | obj, |
void * | arg | ||
) |
ISR for Neighbor timeout timer for port 0.
obj | [in] Clock object associated with this callback |
arg | [in] user argument. DLR handle |
void EIP_DLR_neighborTimeoutISR1 | ( | ClockP_Object * | obj, |
void * | arg | ||
) |
ISR for Neighbor timeout timer for port 1.
obj | [in] Clock object associated with this callback |
arg | [in] user argument. DLR handle |
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.
In case of sign on frames, if size of packet is greater than \ref DLR_SIGNON_FRAME_SIZE then the frame is sent directly to host. Therefore the 'size' argument must be the size of the incoming frame, because it is used as the size of the outgoing frame, only if the frame already has maximum size and is sent unchanged but directed to the supervisor. Also, 'pktBuffer' passed to the function must provide 'size'+10 bytes space so that the own MAC and IP addresses can be added.
dlrHandle | [in] DLR handle |
pktBuffer | [in] pointer to bytestream |
portNum | [in] Port number wherer the packet arrived |
size | [in] size of packet |
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.
dlrHandle | [in] DLR handle |
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.
dlrHandle | [in] DLR handle |
void EIP_DLR_enable_WD_IEP | ( | EIP_DLRHandle | dlrHandle, |
uint8_t | id | ||
) |
Enable the IEP Watch dog timers.
dlrHandle | [in] DLR handle |
id | [in] 0/1 for WD_PD and WD_PDI respectively |
void EIP_DLR_disable_WD_IEP | ( | EIP_DLRHandle | dlrHandle, |
uint8_t | id | ||
) |
Disable the IEP Watch dog timers.
dlrHandle | [in] DLR handle |
id | [in] 0/1 for WD_PD/WD_PDI respectively |
void EIP_DLR_setTimeout_WD_IEP | ( | EIP_DLRHandle | dlrHandle, |
uint16_t | periodInMicroSec, | ||
uint8_t | id | ||
) |
Set the timeout value in watchdog.
dlrHandle | [in] DLR handle |
periodInMicroSec | [in] Timeout value in microseconds |
id | [in] watch dog ID |
void EIP_DLR_set_pdi_wd_trigger_mode | ( | EIP_DLRHandle | dlrHandle, |
uint32_t | mode | ||
) |
Set the PDI WD trigger mode.
dlrHandle | [in] DLR handle |
mode | [in] mode to be set in DGIO ctrl reg |