SPRZ450B February 2018 – September 2024 DRA74P , DRA75P , DRA76P , DRA77P
SATA Host Controller Locks Up if PIO Setup FIS Is Received and Bus Busy and Data Request Bits Are Cleared
Low
A bug in the SATA core is integrated into the SATA controller.
The host fails to proceed when receiving a D2H PIO setup FIS with bus busy (BSY) and data request (DRQ) bits cleared.
When the three following events occur simultaneously, the host controller fails to proceed and locks up:
The bug is due to a state-machine in the SATA core that is not well implemented for this scenario.
A reset is required to continue communication between the host and the device.
From a user point of view, the impact can be some latency that is seen while proceeding.
Implement a software time-out for locks and then issue one of the followoing two resets, first the least intrusive and/or more intrusive if it does not solve the lock.
Least intrusive, software reset:
More intrusive, Port reset (or COMRESET):
SR 1.0
AM574x: 1.0
DRA75xP, DRA74xP, DRA77xP, DRA76xP: 1.0
TDA2Px: 1.0
AM576x: 1.0