# hyplnkStatusReg_s Struct Reference
[HYPLNK LLD Register Definitions]

Specification of the HyperLink Status Register. More...

`#include <hyplnk.h>`

## Data Fields

uint32_t | raw
| [ro] Raw image of register on read; actual value on write
uint8_t | swidthin
| [ro] Size of the inbound serial data capability.
uint8_t | swidthout
| [ro] Size of the outbound serial data capability.
uint8_t | serialHalt
| [ro] Serial logic in halted state
uint8_t | pllUnlock
| [ro] The SerDes PLL is not locked
uint8_t | rPend
| [ro] Remote Request Pending
uint8_t | iFlow
| [ro] Inbound flow control is blocking outbound data
uint8_t | oFlow
| [ro] Outbound flow control has been requested
uint8_t | rError
| [rw] Remote uncorrectable error
uint8_t | lError
| [rw] Local uncorrectable error.
uint8_t | nfEmpty3
| [ro] FIFO 3 (Slave Commands) is not empty
uint8_t | nfEmpty2
| [ro] FIFO 2 (Slave Data) is not empty
uint8_t | nfEmpty1
| [ro] FIFO 1 (Master Commands) is not empty
uint8_t | nfEmpty0
| [ro] FIFO 0 (Master Data) is not empty
uint8_t | sPend
| [ro] There are pending slave requests
uint8_t | mPend
| [ro] There are pending master requests
uint8_t | link
| [ro] The serial interface is working

## Detailed Description

Specification of the HyperLink Status Register.

The Status Register is used to detect conditions that may be of interest to the system designer

## Field Documentation

uint8_t hyplnkStatusReg_s::iFlow

[ro] Inbound flow control is blocking outbound data

Field size: 1 bit

Indicates that a flow control enable request has been received and has stalled transmit until a flow control disable request is received.

uint8_t hyplnkStatusReg_s::lError

[rw] Local uncorrectable error.

Field size: 1 bit

This bit indicates that an inbound packet contains an uncorrectable ECC error. This bit is cleared by writing a one to it after the error has been corrected. When set by the peripheral, this bit will cause an interrupt if enabled in hyplnkControlReg_t::statusIntEnable.

This error indicate a catastrophic failure and that the receive link is down. The hyplnkControlReg_t::reset bit must be toggled to recover from this error. It is possible that returning transactions may have been lost in which case a device reset maybe necessary to recover.

uint8_t hyplnkStatusReg_s::link

[ro] The serial interface is working

Field size: 1 bit

uint8_t hyplnkStatusReg_s::mPend

[ro] There are pending master requests

Field size: 1 bit

uint8_t hyplnkStatusReg_s::nfEmpty0

[ro] FIFO 0 (Master Data) is not empty

Field size: 1 bit

uint8_t hyplnkStatusReg_s::nfEmpty1

[ro] FIFO 1 (Master Commands) is not empty

Field size: 1 bit

uint8_t hyplnkStatusReg_s::nfEmpty2

[ro] FIFO 2 (Slave Data) is not empty

Field size: 1 bit

uint8_t hyplnkStatusReg_s::nfEmpty3

[ro] FIFO 3 (Slave Commands) is not empty

Field size: 1 bit

uint8_t hyplnkStatusReg_s::oFlow

[ro] Outbound flow control has been requested

Field size: 1 bit

Indicates that a flow control enable request has been received and has stalled transmit until a flow control disable request is received.

uint8_t hyplnkStatusReg_s::pllUnlock

[ro] The SerDes PLL is not locked

Field size: 1 bit

This disables all serial operations

uint8_t hyplnkStatusReg_s::rError

[rw] Remote uncorrectable error

Field size: 1 bit

This bit indicates that a downstream HyperLink module has detected an uncorrectable ECC error. This bit is set when an ECC status is received from the management interface. This bit is cleared by writing a one to it and the remote serial interface has been reset.

When this bit is set by the peripheral, an interrupt will occur if enabled in hyplnkControlReg_t::statusIntEnable. The remote device will need to perform a serial reset hyplnkControlReg_t::reset or device reset to recover from this catastrophic failure. Since this indicates that a transaction has been lost, if the rPend bit is set along with this bit, it is possible that this device will also require a reset as a transaction from this device may have been lost.

uint8_t hyplnkStatusReg_s::rPend

[ro] Remote Request Pending

Field size: 1 bit

The user should monitor this bit after setting hyplnkControlReg_t::serialStop and before changing hyplnkControlReg_t::iLoop or hyplnkControlReg_t::reset bits

uint8_t hyplnkStatusReg_s::serialHalt

[ro] Serial logic in halted state

Field size: 1 bit

This could be because hyplnkControlReg_t::reset, hyplnkControlReg_t::serialStop, or pllUnlock are active

uint8_t hyplnkStatusReg_s::sPend

[ro] There are pending slave requests

Field size: 1 bit

uint8_t hyplnkStatusReg_s::swidthin

[ro] Size of the inbound serial data capability.

Field size: 4 bits

uint8_t hyplnkStatusReg_s::swidthout

[ro] Size of the outbound serial data capability.

Field size: 4 bits

The documentation for this struct was generated from the following file:

- hyplnk.h

Copyright 2012, Texas Instruments Incorporated