sunxi: Turn satapwr on from board_init
authorHans de Goede <hdegoede@redhat.com>
Tue, 22 Mar 2016 19:10:30 +0000 (20:10 +0100)
committerHans de Goede <hdegoede@redhat.com>
Wed, 23 Mar 2016 21:04:13 +0000 (22:04 +0100)
There are 2 reasons for doing this:

1) The main reason for doing this is to move it outside of
   board/sunxi/ahci.c, so that it can be used on boards which use
   a usb<->sata chip too;
2) While doing this I realized that doing it from board_init also meant
   doing it much earlier. Some printf get_timer(0) calls show that the
   time between board_init() and scsi_init() is more then 600 ms,
   so we can drop the mdelay(500)

While at it also drop the printf("SUNXI SCSI INIT\n") AHCI init is
noisy enough by itself.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
board/sunxi/ahci.c
board/sunxi/board.c

index 6d51b9b8e95b81ce6b84e1a982ce699b816a16de..522e54ab160e1c576c3beecf5beb773636b775d8 100644 (file)
@@ -72,14 +72,6 @@ static int sunxi_ahci_phy_init(u32 base)
 
 void scsi_init(void)
 {
-       printf("SUNXI SCSI INIT\n");
-#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)
                return;
 
index e16718f30871e8aa57adcb4e438fba31bc98801c..2e2a1f59bcf2a0f093d293ee5349d8d3675adad7 100644 (file)
@@ -90,6 +90,10 @@ int board_init(void)
        if (ret)
                return ret;
 
+#ifdef CONFIG_SATAPWR
+       gpio_request(CONFIG_SATAPWR, "satapwr");
+       gpio_direction_output(CONFIG_SATAPWR, 1);
+#endif
 #ifdef CONFIG_MACPWR
        gpio_request(CONFIG_MACPWR, "macpwr");
        gpio_direction_output(CONFIG_MACPWR, 1);