Interrupt aggregator includes three orthogonal functions:
First is event mapping block which converts local/umapped event to
global event and send those events out.
Second is aggregating global events and convert them into interrupt
outputs
Third is the L2G block:this is a block to convert the event/interrupt
from SoC level into global events. L2G block takes wired signal from SoC
(interrupt signal or DMA signal) converted into local events.
L2G: this is a block to convert the event/interrupt from SoC level into global
events. L2G block takes wired signal from SoC (interrupt signal or DMA signal)
converted into local events. Those local events are sent to ETL and sent to
event mapping logic inside interrupt aggregator to convert them into global
event. And then those global events are sent out again.
PSIL and ETL: PSIL is a streaming protocol which carries both data information
and event information. ETL is the PSIL portion which only carries event. PSIL
data is transported independently. When you see PSIL, it must include ETL.
Local events and unmapped events are in the same category. All those
unmapped/local events are routed to the mapping block inside Interrupt
aggregator to be converted into global events
Other than L2G block, Currently there are only three components generating
unmapped events: BCDMA, PktDMA and timer manager. All those unmapped events are
routed to the event mapping block inside interrupt aggregator first. All the
other components produce global events.
After the local/unmapped events are mapped to global events in interrupt
aggregator, those global events are sent out by interrupt aggregator and can be
transported to different locations ( for example, BCDMA to trigger BCDMA or
pktDMA or going back to interrupt aggregator’s aggregating global events into
interrupts.