CAL supports a IDLE protocol interface. It is used to ensure that the CAL clock / power can only be cut where there are no pending transactions. It is also used to ensure that CAL generates no more traffic before gating the functional clock. ISS sends an IDLE request to the CAL when the software requests CAL shutdown.
When CAL receives an IDLE request, it performs the following actions:
- Finishes pending transactions:
- All expected data on the BYS input port has been received. CAL can only acknowledge an IDLE request after a VE pulse has been received on the BYS input port when it is active (CAL_BYS_CTRL1[31] BYSINEN bit = 0x1).
- No more data needs to be fetched by the RD DMA block. It first reads the complete frame and processes all data before it can acknowledge an IDLE request.
- All data has been flushed out from the write buffer.
- Disconnects the OCPC and OCPO ports on clean transaction boundaries.
- Acknowledges the IDLE request.