Status

The Status register contains all status bits that the DMA reports to the host. The software driver reads this register during an interrupt service routine or polling. Most of the fields in this register cause the host to be interrupted. The bits of this register are not cleared when read. Writing 1'b1 to (unreserved) Bits[16:0] of this register clears these bits and writing 1'b0 has no effect. Each field (Bits[16:0]) can be masked by masking the appropriate bit in Register 7 (Interrupt Enable Register).
Module Instance Base Address Register Address
emac0 0xFF700000 0xFF701014
emac1 0xFF702000 0xFF703014

Offset: 0x1014

Access: RW

Important: To prevent indeterminate system behavior, reserved areas of memory must not be accessed by software or hardware. Any area of the memory map that is not explicitly defined as a register space or accessible memory is considered reserved.
Bit Fields
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16

Reserved

glpii

RO 0x0

tti

RO 0x0

Reserved

gmi

RO 0x0

gli

RO 0x0

eb

RO 0x0

ts

RO 0x0

rs

RO 0x0

nis

RW 0x0

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

ais

RW 0x0

eri

RW 0x0

fbi

RW 0x0

Reserved

eti

RW 0x0

rwt

RW 0x0

rps

RW 0x0

ru

RW 0x0

ri

RW 0x0

unf

RW 0x0

ovf

RW 0x0

tjt

RW 0x0

tu

RW 0x0

tps

RW 0x0

ti

RW 0x0

Status Fields

Bit Name Description Access Reset
30 glpii

This bit indicates an interrupt event in the LPI logic of the EMAC. To reset this bit to 1'b0, the software must read the corresponding registers in the EMAC to get the exact cause of the interrupt and clear its source. When this bit is high, the interrupt signal from the MAC (sbd_intr_o) is high.

Value Description
0x0 No Interrupt
0x1 GMAC LPI Interrupt
RO 0x0
29 tti

This bit indicates an interrupt event in the Timestamp Generator block of EMAC. The software must read the corresponding registers in the EMAC to get the exact cause of interrupt and clear its source to reset this bit to 1'b0. When this bit is high, the interrupt signal from the EMAC subsystem (sbd_intr_o) is high.

Value Description
0x0 No Interrupt
0x1 Timestamp Trigger Interrupt
RO 0x0
27 gmi

This bit reflects an interrupt event in the MMC block of the EMAC. The software must read the corresponding registers in the EMAC to get the exact cause of interrupt and clear the source of interrupt to make this bit as 1'b0. The interrupt signal from the EMAC subsystem (sbd_intr_o) is high when this bit is high.

Value Description
0x0 No Interrupt
0x1 GMAC MMC Interrupt
RO 0x0
26 gli

This bit reflects an interrupt event in the PCS (link change and AN complete), SMII (link change), or RGMII (link change) interface block of the EMAC. The software must read the corresponding registers (Register 49 for PCS or Register 54 for SMII or RGMII) in the EMAC to get the exact cause of the interrupt and clear the source of interrupt to make this bit as 1'b0. The interrupt signal from the EMAC subsystem (sbd_intr_o) is high when this bit is high.

Value Description
0x0 No Interrupt
0x1 GMAC Line Interrupt
RO 0x0
25:23 eb

This field indicates the type of error that caused a Bus Error, for example, error response on the AHB or AXI interface. This field is valid only when Bit 13 (FBI) is set. This field does not generate an interrupt. * Bit 23 - 1'b1: Error during data transfer by the Tx DMA - 1'b0: Error during data transfer by the Rx DMA * Bit 24 - 1'b1: Error during read transfer - 1'b0: Error during write transfer * Bit 25 - 1'b1: Error during descriptor access - 1'b0: Error during data buffer access

RO 0x0
22:20 ts

This field indicates the Transmit DMA FSM state. This field does not generate an interrupt.

Value Description
0x0 Stopped Reset or Stop Transmit Command
0x1 Running: Fetching Tranmit Transfer Descriptor
0x2 Running; Waiting for status
0x3 Running; Reading Data host memory buffer and queuing it to transmit buffer (Tx FIFO)
0x4 TIME_STAMP write state
0x5 Reserved for future use
0x6 Suspended; Transmit Descriptor Unavailable or Transmit Buffer Underflow
0x7 Running; Closing Transmit Descriptor
RO 0x0
19:17 rs

This field indicates the Receive DMA FSM state. This field does not generate an interrupt.

Value Description
0x0 Stopped Reset or Stop Receive Command issued
0x1 Running: Fetching Receive Transfer Descriptor
0x2 Reserved for future use
0x3 Running: Waiting for receive packet
0x4 Suspended: Receive Descriptor Unavailable
0x5 Running: Closing Receive Descriptor
0x6 TIME_STAMP write state
0x7 Transferring rcv packet data from receive buffer to host memory
RO 0x0
16 nis

Normal Interrupt Summary bit value is the logical OR of the following when the corresponding interrupt bits are enabled in Register 7 (Interrupt Enable Register): * Register 5[0]: Transmit Interrupt * Register 5[2]: Transmit Buffer Unavailable * Register 5[6]: Receive Interrupt * Register 5[14]: Early Receive Interrupt Only unmasked bits (interrupts for which interrupt enable is set in Register 7) affect the Normal Interrupt Summary bit. This is a sticky bit and must be cleared (by writing 1 to this bit) each time a corresponding bit, which causes NIS to be set, is cleared.

RW 0x0
15 ais

Abnormal Interrupt Summary bit value is the logical OR of the following when the corresponding interrupt bits are enabled in Register 7 (Interrupt Enable Register): * Register 5[1]: Transmit Process Stopped * Register 5[3]: Transmit Jabber Timeout * Register 5[4]: Receive FIFO Overflow * Register 5[5]: Transmit Underflow * Register 5[7]: Receive Buffer Unavailable * Register 5[8]: Receive Process Stopped * Register 5[9]: Receive Watchdog Timeout * Register 5[10]: Early Transmit Interrupt * Register 5[13]: Fatal Bus Error Only unmasked bits affect the Abnormal Interrupt Summary bit. This is a sticky bit and must be cleared each time a corresponding bit, which causes AIS to be set, is cleared.

RW 0x0
14 eri

This bit indicates that the DMA had filled the first data buffer of the packet. Bit 6 (RI) of this register automatically clears this bit.

RW 0x0
13 fbi

This bit indicates that a bus error occurred, as described in Bits[25:23]. When this bit is set, the corresponding DMA engine disables all of its bus accesses.

RW 0x0
10 eti

This bit indicates that the frame to be transmitted is fully transferred to the MTL Transmit FIFO.

RW 0x0
9 rwt

This bit is asserted when a frame with length greater than 2,048 bytes is received (10, 240 when Jumbo Frame mode is enabled).

RW 0x0
8 rps

This bit is asserted when the Receive Process enters the Stopped state.

RW 0x0
7 ru

This bit indicates that the host owns the Next Descriptor in the Receive List and the DMA cannot acquire it. The Receive Process is suspended. To resume processing Receive descriptors, the host should change the ownership of the descriptor and issue a Receive Poll Demand command. If no Receive Poll Demand is issued, the Receive Process resumes when the next recognized incoming frame is received. This bit is set only when the previous Receive Descriptor is owned by the DMA.

RW 0x0
6 ri

This bit indicates that the frame reception is complete. When reception is complete, the Bit 31 of RDES1 (Disable Interrupt on Completion) is reset in the last Descriptor, and the specific frame status information is updated in the descriptor. The reception remains in the Running state.

RW 0x0
5 unf

This bit indicates that the Transmit Buffer had an Underflow during frame transmission. Transmission is suspended and an Underflow Error TDES0[1] is set.

RW 0x0
4 ovf

This bit indicates that the Receive Buffer had an Overflow during frame reception. If the partial frame is transferred to the application, the overflow status is set in RDES0[11].

RW 0x0
3 tjt

This bit indicates that the Transmit Jabber Timer expired, which happens when the frame size exceeds 2,048 (10,240 bytes when the Jumbo frame is enabled). When the Jabber Timeout occurs, the transmission process is aborted and placed in the Stopped state. This causes the Transmit Jabber Timeout TDES0[14] flag to assert.

RW 0x0
2 tu

This bit indicates that the host owns the Next Descriptor in the Transmit List and the DMA cannot acquire it. Transmission is suspended. Bits[22:20] explain the Transmit Process state transitions. To resume processing Transmit descriptors, the host should change the ownership of the descriptor by setting TDES0[31] and then issue a Transmit Poll Demand command.

RW 0x0
1 tps

This bit is set when the transmission is stopped.

RW 0x0
0 ti

This bit indicates that the frame transmission is complete. When transmission is complete, the Bit 31 (Interrupt on Completion) of TDES1 is reset in the first descriptor, and the specific frame status information is updated in the descriptor.

RW 0x0