User Manual
BCM1250/BCM1125/BCM1125H
10/21/02
B r o a d c o m C o r p o r a t i o n
Document
1250_1125-UM100CB-R
Section 7: DMA Page
147
S e c t i o n 7 : D M A
DMA C
ONTROLLERS
There are several DMA controllers. The programming interface is similar for all of them and is described in this
section.
Each synchronous serial port has a transmit and a receive DMA channel and each ethernet interface has two
transmit and two receive DMA channels. A DMA channel has a group of descriptors which may either be
organized as a ring (in which case each descriptor can point to two memory buffers) or a chain (in this case
there is only one memory buffer associated with a descriptor and the other pointer is the link pointer to the next
descriptor in the chain). Each descriptor contains some control bits that are used to select interface options,
and following packet transfer the DMA controller will update some flag bits.
The configuration registers for the ethernet and serial interfaces are the same. The descriptions in this section
use generic names. The actual register names for the ethernet interfaces are generated by appending
_mac_
N
_rx_ch_
M for receive channel M (0,1) of ethernet interface N (0,1 for the BCM1125/H and 0,1,2 for
the BCM1250), and
_mac_
N
_tx_ch_
M for the transmit channels. The register names for the serial interfaces
are generated by appending
_ser_
N
_rx
and
_ser_
N
_tx
for serial interface N (0,1).
There is an additional generic Data Mover for doing transfers between arbitrary addresses (both memory and
I/O can be addressed). This is similar in style to the other DMA controllers, but has a slightly different
programming interface since it needs to support both source and destination addresses. The general
discussion in the following sections applies to the Data Mover, specific details are given in
.
D
ATA
B
UFFERS
AND
D
ESCRIPTORS
There are two fundamental elements in the DMA system: data buffers and descriptors. Data buffers are sized
areas of the physical address space that hold data. Descriptors point to data buffers and hold their parameters.
Receive DMA controllers move bytes between an interface and a data buffer, transmit DMA controllers move
bytes between a data buffer and an interface, and Data Mover DMA controllers move bytes between two data
buffers.
In many systems a data buffer resides in the main memory. However, there is no need for this to be the case,
the address generated by the DMA controller is interpreted in the same way that a CPU physical address would
be, thus the controller in the ethernet interface could transfer packets directly to a device on the
HyperTransport fabric without the data going through memory (for example if incoming packets are encrypted
and must be passed through a decryption engine before the CPU can use them).
Содержание BCM1125
Страница 18: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xviii Document 1250_1125 UM100CB R ...
Страница 28: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page xxviii Document 1250_1125 UM100CB R ...
Страница 515: ...BCM1250 BCM1125 BCM1125H User Manual 10 21 02 Broadcom Corporation Page vii Index Document 1250_1125 UM100CB R ...