Interrupt aggregator includes
three orthogonal functions:
Event mapping block which
converts local/umapped events to global events, and sends those events
out.
Aggregating global events
and convert them into interrupt outputs.
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 Block: This block converts
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.