BCM1250/BCM1125/BCM1125H
User Manual
10/21/02
B r o a d c o m C o r p o r a t i o n
Page
160
Section 7: DMA
Document
1250_1125-UM100CB-R
The pre_addr_en bit enables prepending of the dscr_a doubleword of the DMA descriptor to the data sent to
the ASIC. If this bit is set then the offset in the DMA descriptor must be set to 8 (or greater than 8) and the
asicxfr_size must be adjusted as outlined above. The descriptor information can be used by the ASIC to write
the processed data back into memory at the address specified in the original DMA descriptor. Since the entire
descriptor doubleword is sent the ASIC has access to the size of the buffer, and flags can be passed from the
software to the ASIC by setting them up in the status field. (This field is not used by the DMA controller, so can
contain any value when it reads the descriptor. However, the descriptor in memory will be updated by the DMA
engine on completion of the packet reception, so any value passed from software to the ASIC in these bits will
be overwritten). Note that the offset is not sent to the ASIC, these 5 bits are UNPREDICTABLE. The ASIC does
not receive the packet status information, except for an error indication described below.
Cache blocks of the packet will be sent to the ASIC tagged by address according to
and
Figure 30: ASIC Mode Address Generation
The
dma_asic_addr
specifies the base address for a 1 MB region of memory. The first cache block in a packet
(with the descriptor prepended if enabled) will be sent to the Start Of Packet (SOP) address, subsequent blocks
are sent to the Middle Of Packet (MOP) address range and the last cache block in the packet will be set to
either the End Of Packet (EOP) address or the EOP/Error address. The block sent to the EOP address may
contain less than a full cache block of valid data, the byte count indicates the number of valid bytes which will
be packed towards the low memory address end of the block sent.
ASIC Base Addr
Rx DMA
Block
5
17
18
20
39
Channel
Type
Byte
Ignored
19
15
16
10
11
Number
4
0
Unused
in block
address
Count
Table 90: Address Used for ASIC Mode Transfers
Bits
Name
Description
4:0
These bits are not present, since a full cache line is always transferred.
10:5
ignored
Ignore
15:11
byte_count
In EOP packets this is set to the number of valid bytes in the block. This field is ignored in SOP
or MOP blocks. There can be from 1-32 valid bytes, the field is 0 to indicate 32 bytes valid.
17:16
type
Set to the position of the block in the packet.
00: Middle of packet (MOP).
01: Start of packet (SOP), the block includes the prepended descriptor if enabled.
10: End of packet with no errors (EOP), the byte_count field indicates the number of valid bytes
in the cache block.
11: End of packet with errors (EOP/Error), the byte_count field indicates the number of valid bytes
in the cache block.
19:18
channel
Set to the dma channel number.
39:20
base
Set to the base address from bits [39:20] of the
dma_asic_addr
register.
Содержание 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 ...