When strobing the EATARST signal, the core will generate a hard-reset
instead of a soft-reset. Use this to have the core and ATA drive in a
better defined state.

Signed-off-by: Steffen Trumtrar <s.trumt...@pengutronix.de>
---
 drivers/ata/sata_mv.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/ata/sata_mv.c b/drivers/ata/sata_mv.c
index dd326428f4..49205d24d8 100644
--- a/drivers/ata/sata_mv.c
+++ b/drivers/ata/sata_mv.c
@@ -136,6 +136,8 @@ static int mv_sata_probe(struct device_d *dev)
 
        mv_soc_65n_phy_errata(base);
 
+       /* strobe for hard-reset */
+       writel(REG_EDMA_COMMAND__EATARST, base + REG_EDMA_COMMAND(0));
        writel(REG_EDMA_COMMAND__EATARST, base + REG_EDMA_COMMAND(0));
        udelay(25);
        writel(0x0, base + REG_EDMA_COMMAND(0));
-- 
2.30.2


_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox

Reply via email to