
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-711
All of the above interrupts can be enabled and disabled by setting or resetting the
corresponding bits in the IntEnable register. Enabling or disabling interrupts does not
affect the IntStatus register contents, only the propagation of the interrupt status to
the CPU.
The interrupts, either of individual packets or of the whole list, are a good means of
communication between the DMA manager and the device driver, triggering the
device driver to inspect the status words of descriptors that have been processed.
5.4.9
Transmit example
Figure 6 illustrates the transmit process with a packet header of 8 bytes and a packet
payload of 12 bytes.
After reset, the values of the DMA registers will be zero. During initialization, the
device driver will allocate the descriptor and status array in memory. In this example,
an array of four descriptors is allocated; the array is 4x4x4 bytes and aligned on a
4-byte address boundary. Since the number of descriptors should match the number
of statuses, the status array consists of four elements; the array is 4x2x4 bytes and
aligned on an 8-byte address boundary. The device driver writes the base address of
the descriptor array (0xFEEDB0EC) in the Tx(Rt)Descriptor register and the base
address of the status array (0xFEEDB1F8) in the Tx(Rt)Status register. The device
Figure 6:
Transmit example memory and registers
Tx(Rt)Status
0xFEEDB1F8
Packet 0xFEEDB314
Control
0 07
time-stamp
Pad
Descriptor
0
Tx(Rt)Descriptor
0xFEEDB0EC
0xFEEDB0F8
0xFEEDB118
0xFEEDB0FC
0xFEEDB008
Descriptor
Array
0xFEEDB10C
0xFEEDB11C
0xFEEDB128
0xFEEDB314
Packet 0 header (8 bytes)
0xFEEDB411
0xFEEDB41C
Packet 0 payload (12 bytes)
0xFEEDB32B
0xFEEDB1F8
StatusInfo
StatusTimeStamp
Status
0
0xFEEDB200
0xFEEDB208
0xFEEDB210
Packet 0xFEEDB411
Control
0 07
time-stamp
Pad
Descriptor
1
Packet 0xFEEDB419
Control
0 07
time-stamp
Pad
Descriptor
2
Packet 0xFEEDB324
Control
0 07
time-stamp
Pad
Descriptor
3
Packet 1 header (8 bytes)
0xFEEDB324
Tx(Rt)ConsumeIndex
Tx(Rt)ProduceIndex
Tx(Rt)DescriptorIndex
StatusInfo
StatusTimeStamp
StatusInfo
StatusTimeStamp
StatusInfo
StatusTimeStamp
Status
1
Status
2
Status
3
Status
Array
0xFEEDB31B
Descriptor Array FIFO
Fragment Buffers
Status Array FIFO