Philips Semiconductors
PNX15xx Series
Volume 1 of 1
Chapter 23: LAN100 — Ethernet Media Access Controller
12NC 9397 750 14321
Koninklijke Philips Electronics N.V. 2002-2003-2004. All rights reserved.
Product data sheet
Rev. 2 — 1 December 2004
23-16
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.
Non-real-time Transmit Descriptor Base Address Register (TxDescriptor)
Offset 0x07 211C
This register is a byte address aligned to a word boundary (i.e. the two LSBs are fixed 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
Offset 0x07 2120
-
RO
0
Fixed to 2’b00
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 fixed 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
Offset 0x07 2124
-
RO
0
Fixed to 0
Non-real-time Transmit Number Of Descriptors Register (TxDescriptorNumber)
This register defines 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
Non-real-time Transmit Produce Index (TxProduceIndex)
Offset 0x07 2128
This register defines the descriptor that is going to be filled 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 filled next by the
non-real-time transmit software driver.
Non-real-time Transmit Consume Index (TxConsumeIndex)
Offset 0x07 212C
This register defines 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.
Real-time Transmit Descriptor Base Address Register (TxRtDescriptor)
Offset 0x07 2130
Table 2: LAN100 Registers
…Continued
Bit
Symbol
Acces
s
Value
Description