The PMC includes 32 general-purpose input signals from the PL and 32 general-purpose output signals to the PL. The input signals can be unmasked to generate an interrupt to the PPU processor running the PLM firmware. The state of the input signals can be read using the interrupt status register with or without the need to enable interrupts.
GPI Signals
The 32 GPI signals are routed from the PL to the interrupt status register. An active input signal is latched into the sticky PL_PMC_GPI_ISR status register. Additional registers to mask this input include registers in the PMC_GLOBAL register module:
- Mask register: PL_PMC_GPI_IMR, read-only
- Enable register: PL_PMC_GPI_IER, read-only
- Disable register: PL_PMC_GPI_IDR, write-only
- Trigger register: PL_PMC_GPI_ITR, write-only
When the sticky status register is set = 1 by hardware and the mask bit = 0 (enabled interrupt), then the interrupt is propagated. To clear an interrupt status bit, the source in the PL fabric must deassert the GPI input signal and then the software must write a 1 to the GPI status register bit to clear it (WTC).
GPO Signals
The 32 GPO signals routed from the PMC to the PL is driven High and Low by PLM firmware using the PMC_GLOBAL PMC_PL_GPO register.