SPRUJ28E November 2021 – September 2024 AM68 , AM68A , TDA4AL-Q1 , TDA4VE-Q1 , TDA4VL-Q1
The CLEC routes events according to a RAM-based interrupt event routing table. This table holds one entry for each supported external interrupt/event number, plus some additional entries for CLEC internal events. External in this context means "external to the CLEC", and corresponds to all interrupt events arriving at the CLEC from other sources. Internal refers to events that the CLEC generates internally, or in response to an MMR write that triggers the event.
The routing table memory has 2048 entires in size. Each routing table entry contains the following details:
For each incoming interrupt event, the CLEC does the following processing:
For events mapped to DRU and ARM, only event mapping number is looked at and they are not qualified by CLEC_MRR_j[21-16] RTMAP. Hence, this bit field is "don’t care" for events that have CLEC_MRR_j[15-8] EXT_EVNUM set to 128 or higher.
Since the routing table is a shared resource, the CLEC only routes one new event per cycle. The routing state machine arbitrates among all incoming event sources round-robin, with the exception that internally generated error events have priority over all other event sources.
The CLEC routes events to their destinations and also maintains pending interrupt information in an CLEC_EFR_k register. Firmware needs to clear this pending interrupt bit in an interrupt service routine (ISR).