SPRUHZ7K August 2015 – April 2024 AM5706 , AM5708 , AM5716 , AM5718 , AM5718-HIREL
The master standby and slave idle protocols are implemented between the PRCM and SATA controller, with mode settings located in the SATAMAC_wrapper register (SATA_SYSCONFIG).
No other mode is expected to be required in normal operation: no-idle and force-idle are used for debugging only. Because the module is not capable of asynchronous wakeup, the smart-idle/wakeup (IDLEMODE = 0x3) is strictly equivalent to smart-idle.
The default standby mode is smart-standby, as indicated by the POR value: SATA_SYSCONFIG[5:4]STANDBYMODE = 0x2. However, the SATA controller hardware does not provide any indication about DMA activity that could be used to drive the standby dynamically (that is, the smart mode): Smart-standby is therefore strictly equivalent to the force-standby mode (that is, the module remains in or goes to permanent standby).
The standby control procedures are therefore software-driven.
To exit standby:
To enter standby:
The software is responsible to keep the DMA operations and the standby mode status in sync.
Because the standby exit is software driven, it is by definition synchronous: the asynchronous wakeup is never activated, which means that the smart-standby and smart-standby/wakeup are equivalent (as well as force-standby).
For more information on the SATA Controller master standby and slave idle management protocols with the device PRCM , see Module-Level Clock Management, in Power, Reset, and Clock Management.