
NXP Semiconductors
PNX15xx/952x Series
Volume 1 of 1
Chapter 23: LAN100 — Ethernet Media Access Controller
PNX15XX_PNX952X_SER_N_4
NXP B.V. 2007. All rights reserved.
Product data sheet
Rev. 4.0 — 03 December 2007
23-685
This register indexes the descriptor that is to be processed next by the software receive driver. The receive array is empty as
long as RxProduceIndex equals RxConsumeIndex. As soon as the array is not empty, software can process the packet
pointed to by RxConsumeIndex. After a packet has been processed by software, software should increment the
RxConsumeIndex register, wrapping to 0 once the RxDescriptorNumber has been reached. If the RxProduceIndex equals
RxConsumeIndex – 1, the array is full, and any further packets being received will cause a buffer overrun error.
31:16
-
Unused
15:0
RxConsumeIndex
R/W
0
Index of the descriptor that is going to be processed next by the
receive software.
Offset 0x07 211C
Non-real-time Transmit Descriptor Base Address Register (TxDescriptor)
This register is a byte address aligned to a word boundary (i.e. the two LSBs are xed to 0). The register contains the lowest
address in the array of descriptors.
31:2
TxDescriptor
R/W
0
MSBs of non-real-time descriptor base address
1:0
-
RO
0
Fixed to 2’b00
Offset 0x07 2120
Non-real-time Transmit Status Base Address Register (TxStatus)
This register is a byte address aligned to a double word boundary (i.e., the three LSBs are xed to 0). The register contains
the lowest address in the array of statuses.
31:3
TxStatus
R/W
0
MSBs of non-real-time transmit status base address
2:0
-
RO
0
Fixed to 0
Offset 0x07 2124
Non-real-time Transmit Number Of Descriptors Register (TxDescriptorNumber)
This register denes the number of descriptors in the descriptor array for which TxDescriptor is the base address. The
number of descriptors should match the number of statuses. The register uses minus-one encoding, i.e., if the array has 8
status elements, the value in the register should be 7.
31:16
-
Unused
15:0
TxDescriptorNumber
R/W
0
Number of descriptors in the descriptor array for which TxDescriptor
is the base address. The register is minus-one encoded
Offset 0x07 2128
Non-real-time Transmit Produce Index (TxProduceIndex)
This register denes the descriptor that is going to be lled next by the software transmit driver. The transmit descriptor array
is empty as long as TxProduceIndex equals TxConsumeIndex. As soon as the array is not empty, the non-real-time transmit
hardware will start transmitting packets, if enabled. After a packet has been processed by software, software should
increment the TxProduceIndex, wrapping to 0 once the TxDescriptorNumber has been reached. If the TxProduceIndex
equals TxConsumeIndex – 1, the descriptor array is full and software should stop producing new descriptors until hardware
has transmitted some packets and updated the TxConsumeIndex.
31:16
-
Unused
15:0
TxProduceIndex
R/W
0
Index of the descriptor that is going to be lled next by the
non-real-time transmit software driver.
Offset 0x07 212C
Non-real-time Transmit Consume Index (TxConsumeIndex)
This register denes the descriptor that is going to be transmitted next by the hardware non-real-time transmit process. After
a packet has been transmitted, hardware increments the index, wrapping to 0 once TxDescriptorNumber has been reached.
If the TxConsumeIndex equals TxProduceIndex, the descriptor array is empty, and the transmit channel will stop
transmitting until software produces new descriptors.
31:16
-
Unused
15:0
TxConsumeIndex
RO
Index of the descriptor that is going to be transmitted next by the
non-real-time Transmit Datapath.
Offset 0x07 2130
Real-time Transmit Descriptor Base Address Register (TxRtDescriptor)
Table 2: LAN100 Registers …Continued
Bit
Symbol
Acces
s
Value
Description