sata: wait for device updating signature to host
The driver need wait for the device updating signature to host. If we don't wait for it, the driver can not detect the device(disk) when the system powers up. Signed-off-by: Dave Liu <daveliu@freescale.com>
This commit is contained in:
parent
8b616edb11
commit
9810263afe
@ -248,6 +248,10 @@ int init_sata(int dev)
|
||||
else
|
||||
printf(" %s ", sata->name);
|
||||
|
||||
/* Wait PHY RDY signal changed for 500ms */
|
||||
ata_wait_register(®->hstatus, HSTATUS_PHY_RDY,
|
||||
HSTATUS_PHY_RDY, 500);
|
||||
|
||||
/* Check PHYRDY */
|
||||
val32 = in_le32(®->hstatus);
|
||||
if (val32 & HSTATUS_PHY_RDY) {
|
||||
@ -258,6 +262,10 @@ int init_sata(int dev)
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* Wait for signature updated, which is 1st D2H */
|
||||
ata_wait_register(®->hstatus, HSTATUS_SIGNATURE,
|
||||
HSTATUS_SIGNATURE, 10000);
|
||||
|
||||
if (val32 & HSTATUS_SIGNATURE) {
|
||||
sig = in_le32(®->sig);
|
||||
debug("Signature updated, the sig =%08x\n\r", sig);
|
||||
|
Loading…
Reference in New Issue
Block a user