From 92600edb431b03df7149ee30c1508bbc3b5ebb43 Mon Sep 17 00:00:00 2001
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Date: Tue, 8 Dec 2020 17:45:31 +0200
Subject: [PATCH] sunxi: board: Move USB ethernet initialization to
 board_late_init()

For the sake of consistency (*) and order of initialization, i.e.
after we have got the ethernet address, interrupt and timer initialized,
try to initialize USB ethernet gadget.

*) for example, zynqmp uses same order.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: Andre Przywara <andre.przywara@arm.com>
Tested-by: Andre Przywara <andre.przywara@arm.com>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 arch/arm/Kconfig    | 1 +
 board/sunxi/board.c | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index fbe90875ae..54762ce03a 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -1045,6 +1045,7 @@ config ARCH_SUNXI
 	select SPL_USE_TINY_PRINTF
 	select USE_PREBOOT
 	select SYS_RELOC_GD_ENV_ADDR
+	imply BOARD_LATE_INIT
 	imply CMD_DM
 	imply CMD_GPT
 	imply CMD_UBI if MTD_RAW_NAND
diff --git a/board/sunxi/board.c b/board/sunxi/board.c
index 708a27ed78..77e4647188 100644
--- a/board/sunxi/board.c
+++ b/board/sunxi/board.c
@@ -890,6 +890,11 @@ int misc_init_r(void)
 
 	setup_environment(gd->fdt_blob);
 
+	return 0;
+}
+
+int board_late_init(void)
+{
 #ifdef CONFIG_USB_ETHER
 	usb_ether_init();
 #endif
-- 
2.39.5