SPRUJ52E June 2022 – September 2025 AM69 , AM69A , TDA4AH-Q1 , TDA4AP-Q1 , TDA4APE-Q1 , TDA4VH-Q1 , TDA4VP-Q1 , TDA4VPE-Q1
Each channel and flow within a DMA has the ability to generate specific types of events which can be routed to the IA in the system and from there re-routed to any event consumer. Events are output from the DMA controllers using a simple integer encoding. Up to 4 events can be generated from any given channel but only event types which have functional value are supported on each specific type of channel. The DMA channel event types are listed as follows:
| Name | Description | Per | BCDMA Tx | BCDMA Rx |
|---|---|---|---|---|
|
Ring Entry Zero/Non-zero |
Asserts an up event anytime the ring transitions to a non-zero occupancy / teardown state. Asserts a down event anytime the ring transitions to a zero occupancy / teardown state. |
Flow |
X |
X |
|
Channel Error |
Asserts an up event anytime an error occurs on the channel. Asserts a down event when the channel error bit is cleared. |
Channel |
First flow in channel only |
First flow in channel only |
|
Rx Starvation |
Asserts an up event when starvation occurs on a flow. Asserts a down event when entries are added to the ring for that flow. |
Flow |
||
|
RX Flow FW Error |
Asserts an up event when a flow id arrives on the RX interface that is not between the flowid_start and flowid end values for the channel. Asserts a down event when the RX Flow ID Firewall Status Register pend bit is cleared |
Pktdma |
||
|
Data Events |
Asserts an up event when the selected loop counter has decremented. If the suppress event bit is not set in the TR |
Channel |
X |
X |
Each BCDMA instance will provide an event transport-lane (ETL) interface to pass outgoing events. The index field on this ETL will be calculated based on the event type and channel or flow offset. Each BCDMA instance is configured with base values to which a channel or flow index is added for each type of event which can be generated. These base index values are listed in the specification for that specific instantiation of each DMA and are named as follows:
| DMA | Event Base Parameter Name | Function | Offset |
|---|---|---|---|
|
BCDMA |
tcomp_evtbase |
Base index for split Tx flow reverse ring completion events |
Tx flow number |
|
rcomp_evtbase |
Base index for split Rx flow reverse ring completion events |
Rx flow number |
|
|
terr_evtbase |
Base index for split Tx channel error events |
Tx channel number |
|
|
rerr_evtbase |
Base index for split Rx channel error events |
Rx channel number |
|
|
tdcomp_evtbase |
Base index for Tx channel TR data completion events |
Tx channel number |
|
|
rdcomp_evtbase |
Base index for Rx channel TR data completion events |
Tx channel number |
Example:
The producer event map is set up so that the Tx flows from a BCDMA instance are to start at 64 and proceed upward from there. The tcomp_evtbase for that BCDMA instance is set to 64. In this configuration, the reverse ring entry completion event for flow 0 will produce an event on index 64, flow 1 will produce an event on index 65, etc. The terr_evtbase for the same BCDMA instance is set to 128. In this configuration, error events for channel 2 would produce events with an index of 130.