SPRUIE9D May 2017 – May 2024 DRA74P , DRA75P , DRA76P , DRA77P
An active low asynchronous hardware reset is provided by the ISS. It is internally resynchronized to the functional clock domain.
A software reset is triggered by setting the CAL_HL_SYSCONFIG[0] SOFTRESET bit to 0x1. The CAL hardware ensures that the software reset is performed on clean OCP transactions boundaries and that no OCP protocol violation can occur due to the software reset. Mainly, it finishes ongoing OCP transactions and prevents generation of new ones.
The CAL_HL_SYSCONFIG[0] SOFTRESET bit is automatically cleared by hardware when the software reset has completed. The software reset will never complete, if outstanding OCP responses are not returned. This situation is only expected when the slave with which CAL is communicating fails. A hardware reset is reset in that case.
A software reset is faster than a hardware reset controlled by the device PRCM module. In fact, to avoid OCP protocol violations, the PRCM module first puts the CAL into Idle mode. The PRCM can only perform a clean hardware reset once CAL has acknowledged the IDLE request. That only happens once the CAL has flushed all pending traffic and completed ongoing frames on the RD_DMA. A software reset simply waits for the next clean OCP transaction boundary without finishing the frame.
OCPC is fully functional after a software reset.