My board is Xilinx ZCU102, and I need the GIC Proxy functionality to achieve UART interrupt. Here is my configuration.
According to the official documentation, to activate the PMU's GIC Proxy, the RPU and APU need to be turned off. (triggers a power-down interrupt)
Initialize the following registers that will be used
Enable GPI1.
Enable GICP0 IRQ (Read GICP0_IRQ_STATUS as 0x0).
Trigger GICP0 IRQ (Read GICP0_IRQ_STATUS as 0x400000, meets the expected condition for triggering UART1 interrupt.).
After these steps, use XUartPs_Recv from uartps to receive data, but the UART interrupt is not triggered.
I have tried the official Xilinx UART driver, but the FAE mentioned that it is suitable for APU, not for PMU. Therefore, I have to try and error by myself. Has anyone tried using the zcu102 PMU GIC Proxy or UART interrupt? Please help me, thank you.
PMU has no access to UART interrupt, but only those listed in PMU Interrupts. Even when using GIC proxy, there is no way to connect the UART interrupt with the PMU as only the interrupts mentioned in APU Private Peripheral Interrupts Table can be propagated to the PMU (and this list does not include peripherals interrupts, also shown below).
But there might be a way to connect the UART interrupt to PMU: if you can bring UART interrupts out of the Zynq PS IP (in the vivado block design) and connect that uart interrupt to the zynq PS interrupt port (PL 2 PS interrupts). But I am not sure that UART interrupt can be brought out of the Zynq or not.