09.12.2012 Views

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

RM0090: Reference manual - STMicroelectronics

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Ethernet (ETH): media access control (MAC) with DMA controller <strong>RM0090</strong><br />

Bit 7 EDFE: Enhanced descriptor format enable<br />

When this bit is set, the enhanced descriptor format is enabled and the descriptor size is<br />

increased to 32 bytes (8 DWORDS). This is required when time stamping is activated<br />

(TSE=1, ETH_PTPTSCR bit 0) or if IPv4 checksum offload is activated (IPCO=1,<br />

ETH_MACCR bit 10).<br />

Bits 6:2 DSL: Descriptor skip length<br />

This bit specifies the number of words to skip between two unchained descriptors. The<br />

address skipping starts from the end of current descriptor to the start of next descriptor.<br />

When DSL value equals zero, the descriptor table is taken as contiguous by the DMA, in<br />

Ring mode.<br />

Bit 1 DA: DMA Arbitration<br />

0: Round-robin with Rx:Tx priority given in bits [15:14]<br />

1: Rx has priority over Tx<br />

Bit 0 SR: Software reset<br />

When this bit is set, the MAC DMA controller resets all MAC Subsystem internal registers<br />

and logic. It is cleared automatically after the reset operation has completed in all of the core<br />

clock domains. Read a 0 value in this bit before re-programming any register of the core.<br />

Ethernet DMA transmit poll demand register (ETH_DMATPDR)<br />

Address offset: 0x1004<br />

Reset value: 0x0000 0000<br />

This register is used by the application to instruct the DMA to poll the transmit descriptor list.<br />

The transmit poll demand register enables the Transmit DMA to check whether or not the<br />

current descriptor is owned by DMA. The Transmit Poll Demand command is given to wake<br />

up the TxDMA if it is in Suspend mode. The TxDMA can go into Suspend mode due to an<br />

underflow error in a transmitted frame or due to the unavailability of descriptors owned by<br />

transmit DMA. You can issue this command anytime and the TxDMA resets it once it starts<br />

re-fetching the current descriptor from host memory.<br />

31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0<br />

EHERNET DMA receive poll demand register (ETH_DMARPDR)<br />

TPD<br />

rw_wt<br />

Bits 31:0 TPD: Transmit poll demand<br />

When these bits are written with any value, the DMA reads the current descriptor pointed to<br />

by the ETH_DMACHTDR register. If that descriptor is not available (owned by Host),<br />

transmission returns to the Suspend state and ETH_DMASR register bit 2 is asserted. If the<br />

descriptor is available, transmission resumes.<br />

Address offset: 0x1008<br />

Reset value: 0x0000 0000<br />

This register is used by the application to instruct the DMA to poll the receive descriptor list.<br />

The Receive poll demand register enables the receive DMA to check for new descriptors.<br />

This command is given to wake up the RxDMA from Suspend state. The RxDMA can go into<br />

Suspend state only due to the unavailability of descriptors owned by it.<br />

1001/1416 Doc ID 018909 Rev 3

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!