summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Goede <hdegoede@redhat.com>2014-11-14 16:27:07 +0100
committerHans de Goede <hdegoede@redhat.com>2014-11-25 13:38:46 +0100
commitf222c73afaaa2430f700f56e7f3b6d8889b96e8c (patch)
treeb0999fe6d70c2da114e8c36fd9623557bd59f86b
parent86b4909340a272a1a040db61565f639d845b170f (diff)
downloadu-boot-imx-f222c73afaaa2430f700f56e7f3b6d8889b96e8c.zip
u-boot-imx-f222c73afaaa2430f700f56e7f3b6d8889b96e8c.tar.gz
u-boot-imx-f222c73afaaa2430f700f56e7f3b6d8889b96e8c.tar.bz2
sunxi: ahci: Add a delay after enabling target power
If the target power is connected through a gpio, then give the target some time to power up before continuing with ahci / sata probing, this avoids link timeouts, without penalizing other boards where there is no target power gpio. Why 500 ms ? I started with 200, that was not enough, then I went to 500 which worked, lowering it to 350 broke things again, so 500 seems the minimum my vertex2 needs to be ready to get probed. Signed-off-by: Hans de Goede <hdegoede@redhat.com> Acked-by: Ian Campbell <ijc@hellion.org.uk>
-rw-r--r--board/sunxi/ahci.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/board/sunxi/ahci.c b/board/sunxi/ahci.c
index 5e12328..b7f0dda 100644
--- a/board/sunxi/ahci.c
+++ b/board/sunxi/ahci.c
@@ -76,6 +76,8 @@ void scsi_init(void)
#ifdef CONFIG_SATAPWR
gpio_request(CONFIG_SATAPWR, "satapwr");
gpio_direction_output(CONFIG_SATAPWR, 1);
+ /* Give attached sata device time to power-up to avoid link timeouts */
+ mdelay(500);
#endif
if (sunxi_ahci_phy_init(SUNXI_SATA_BASE) < 0)