SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
The MPU_WUGEN belongs to the MPU always-on power domain (PD_MPUAON) and is responsible for generating wake-up events from the incoming interrupts (external and local to the MPU subsystem) according to the MPU_WUGEN 160-bit enable field (from WKG_ENB_A_x to WKG_ENB_E_x for MPU_Cx, where x = 0 or 1), which defines the interrupt that wakes up the MPU cores.
All interrupts are enabled after reset, except MPU_IRQ_8. The Cortex-A15 MPU can access the MPU_WUGEN internal configuration registers through the MPU_AXI2OCP.
Software must program interrupt enabling and disabling coherently in the MPU_INTC and in the MPU_WUGEN enable registers. That is, a given interrupt for a given MPU core is either enabled at both MPU_INTC and MPU_WUGEN, or disabled at both; no combination is allowed.
MPU_WUGEN includes two registers (AUX_CORE_BOOT_0 and AUX_CORE_BOOT_1) which can be used by the ROM code and OS during SMP boot. The AUX_CORE_BOOT_0 register is intended to indicate boot status to MPU_C1, the second core (also known as aux core); the AUX_CORE_BOOT_1 register can be used to store execution start address of the MPU_C1. For more information, see Section 32.3.4, Startup and Configuration, in Chapter 32, Initialization.
Figure 4-10 is a functional overview of the MPU_WUGEN in the MPU subsystem.