diff options
author | Stefan Roese <sr@denx.de> | 2008-07-07 09:51:25 +0200 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2008-07-07 09:51:25 +0200 |
commit | 7c6237b3e2f2ee0098897da39b79aff4642b8946 (patch) | |
tree | d768b7851bb688f543da0a3ed50c927a2bde2804 /drivers/block/fsl_sata.c | |
parent | dd1c5523d6f44e842e69f2fcb50788c6060eab86 (diff) | |
parent | c956717ab25c962ef49d49064dfc73f4edcba1fb (diff) | |
download | u-boot-7c6237b3e2f2ee0098897da39b79aff4642b8946.tar.gz |
Merge branch 'master' of /home/stefan/git/u-boot/u-boot
Diffstat (limited to 'drivers/block/fsl_sata.c')
-rw-r--r-- | drivers/block/fsl_sata.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/block/fsl_sata.c b/drivers/block/fsl_sata.c index d14f5bc6bf..d441a30ed5 100644 --- a/drivers/block/fsl_sata.c +++ b/drivers/block/fsl_sata.c @@ -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); |