SPRUI30H November 2015 – May 2024 DRA745 , DRA746 , DRA750 , DRA756
At the PRCM module level, when all conditions are met to shut off the PER_48M_GFCLK or L4PER_L3_GICLK output clock, the PRCM module automatically launches a hardware handshake protocol to ensure that the McSPI is ready to have its clocks switched off. Namely, the PRCM module asserts an IDLE request to the McSPI.
Although this handshake is completely hardware-oriented and out of software control, the method in which the McSPI module acknowledges the PRCM IDLE request is configurable through the MCSPI_SYSCONFIG[4:3] SIDLEMODE bit field.
The settings of the SIDLEMODE bit field and the related acknowledgment modes are:
When configured in smart-idle mode, the McSPI also offers an additional granularity on the PER_48M_GFCLK and L4PER_L3_GICLK gating. The MCSPI_SYSCONFIG[9:8] CLOCKACTIVITY bit field determines which clock shuts down (the PER_48M_GFCLK, L4PER_L3_GICLK, neither clock, or both clocks).
The setting of the CLOCKACTIVITY bit field is used internally to the McSPI to determine on which part of the module the conditions to acknowledge the PRCM IDLE request are tested. For example, if PER_48M_GFCLK is not shut down on a PRCM IDLE request, the McSPI considers only L4PER_L3_GICLK and the associated pending activities before acknowledging the request.
Some McSPI features are associated with L4PER_L3_GICLK and others with PER_48M_GFCLK. Using the CLOCKACTIVITY bit field with the smart-idle mode ensures that the features associated with the clock that remains active are always enabled, even if the McSPI acknowledges an IDLE request.
The settings of the CLOCKACTIVITY bit field and the associated features are:
The PRCM module does not have a hardware means of reading the CLOCKACTIVITY settings. Therefore, software must ensure consistent programming between CLOCKACTIVITY and the PER_48M_GFCLK and L4PER_L3_GICLK control bits in the PRCM module. If the McSPI is disabled in the CM_FCLKEN and CM_ICLKEN PRCM registers while CLOCKACTIVITY is set to 11, nothing prevents the PRCM module from asserting its IDLE request, which is acknowledged regardless of the features associated with the McSPI clocks. This can lead to unpredictable behavior.