Figure 3-30 shows the software warm reset sequence of the IPU1 subsystem.
For doing the software reset of IPU1, the MPU software must ensure that IPU CPUs (IPU1_C0 and IPU1_C1) are in IDLE state and clock is gated
The software warm reset sequence is:
- When IPU1_C1 is in IDLE state, IPU1_C0 software or MPU software sets the RM_IPU1_RSTCTRL[1] RST_CPU1 bit. The PRCM module asserts the IPU1_CPU1_RST reset signal to IPU1_C1.
- When IPU1_C0 is in IDLE state, the MPU software sets the RM_IPU1_RSTCTRL[2] RST_IPU and RM_IPU1_RSTCTRL[0] RST_CPU0 bits.
- The PRCM module asserts the IPU1_RST, IPU1_RET_RST, and IPU1_CPU0_RST reset signals. The IPU1_PWRON_RST remains deasserted in this case.
- The MPU software reenables the IPU1_GFCLK and the initialization sequence starts inside the IPU subsystem. Software clears the RM_IPU1_RSTCTRL[2] RST_IPU bit and RM_IPU1_RSTCTRL[0] RST_CPU0 bit in the PRCM module register.
- When the reset sequence of Step 4 completes and the reset manager counter (PRM_RSTTIME[14:10] RSTTIME2) expires, the PRCM module releases the IPU1_RST, IPU1_RET_RST, and IPU1_CPU0_RST reset signals. IPU1_C0 starts rebooting.
- Software can then clear the RM_IPU1_RSTCTRL[1] RST_CPU1 bit in the PRCM module register. The PRCM module releases the IPU1_CPU1_RST reset signal to IPU1_C1 to start booting.