diff mbox

[U-Boot,1/2] sunxi: Turn satapwr on from board_init

Message ID 1458679744-13831-1-git-send-email-hdegoede@redhat.com
State Accepted
Commit 9fbb0c3aa49f4604b0342cb527a6bd099f92eaeb
Delegated to: Hans de Goede
Headers show

Commit Message

Hans de Goede March 22, 2016, 8:49 p.m. UTC
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>
---
 board/sunxi/ahci.c  | 8 --------
 board/sunxi/board.c | 4 ++++
 2 files changed, 4 insertions(+), 8 deletions(-)

Comments

Ian Campbell March 22, 2016, 9:50 p.m. UTC | #1
On Tue, 2016-03-22 at 21:49 +0100, Hans de Goede wrote:
> 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>

Both: Acked-by: Ian Campbell <ijc@hellion.org.uk>
diff mbox

Patch

diff --git a/board/sunxi/ahci.c b/board/sunxi/ahci.c
index 6d51b9b..522e54a 100644
--- a/board/sunxi/ahci.c
+++ b/board/sunxi/ahci.c
@@ -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;
 
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index e16718f..2e2a1f5 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -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);