The PRU_ICSSG INTC supports up to 160
interrupts from different peripherals (including 64 internal interrupts from
PRU_ICSSG located interrupt sources). The INTC maps these events to 20 channels
inside the INTC (see Figure 6-220). Interrupts from these 20 channels are further mapped to 20 Host
Interrupts.
- Any of the 160 internal
interrupts can be mapped to any of the 20 channels.
- Multiple interrupts can be mapped
to a single channel.
- An interrupt should not be mapped
to more than one channel.
- Any of the 20 channels can be
mapped to any of the 20 host interrupts. It is recommended to map channel “x” to
host interrupt “x”, where x is from 0 to 19.
- A channel should not be mapped to
more than one host interrupt
- For channels mapping to the same
host interrupt, lower number channels have higher priority.
- For interrupts on same channel,
priority is determined by the hardware interrupt number. The lower the interrupt
number, the higher the priority.
- Host Interrupt 0 is connected to
bit 30 in register 31 (R31) of PRU0 and PRU1 in parallel.
- Host Interrupt 1 is connected to
bit 31 in register 31 (R31) for PRU0 and PRU1 in parallel.
- Host Interrupts 2 through 9
exported from PRU_ICSSG and mapped to device level interrupt controllers.
- Host Interrupt 10 is connected to
bit 30 in register 31 (R31) to both RTU_PRU0 and RTU_PRU1 in parallel.
- Host Interrupt 11 is connected to
bit 31 in register 31 (R31) to both RTU_PRU0 and RTU_PRU1 in parallel.
- Host Interrupts 12 through 19 are
connected to each of the 6 Task Managers.