Our customer is confused about how to wait for re-establishment of communication after clearing PxSCTL.DET to 0h.
In the AHCI specification revision 1.1:
"After clearing PxSCTL.DET to 0h, software should wait for communication to be re-established as indicated by bit 0 of PxSSTS.DET being set to ‘1’."
In the AHCI specification revision 1.3.1:
"After clearing PxSCTL.DET to 0h, software should wait for communication to be re-established as indicated by PxSSTS.DET being set to 3h."
From the register description:
"Read 0x1: Device presence detected but PHY communication not established"
"Read 0x3: Device presence detected and PHY communication established"
If PxSSTS.DET is set to 3h, that indicates the re-establishment of the communication, but if bit 0 of PxSSTS.DET is set to 1b, that may not.
Should it wait for PxSSTS.DET to be set to 3h after clearing PxSCTL.DET to 0h?
Best regards,
Daisuke