From 080ea65692fd4ebf1040f67614c9e953f295baf5 Mon Sep 17 00:00:00 2001
From: Mathew McBride <matt@traverse.com.au>
Date: Fri, 21 Jul 2023 04:39:24 +0000
Subject: [PATCH] board: traverse: ten64: init nvme devices in late boot to
 ensure bootflow availability

Ensure nvme devices are scanned before reaching the shell,
otherwise extra user intervention ("nvme scan") is required
before they are visible to bootdev/bootflow.

Signed-off-by: Mathew McBride <matt@traverse.com.au>
Reviewed-by: Peng Fan <peng.fan@nxp.com>
---
 board/traverse/ten64/ten64.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/board/traverse/ten64/ten64.c b/board/traverse/ten64/ten64.c
index df44baf24f..39f0d107cd 100644
--- a/board/traverse/ten64/ten64.c
+++ b/board/traverse/ten64/ten64.c
@@ -31,6 +31,7 @@
 #include <asm/arch/fsl_serdes.h>
 #include <asm/arch/soc.h>
 #include <asm/arch-fsl-layerscape/fsl_icid.h>
+#include <nvme.h>
 
 #include <fsl_immap.h>
 
@@ -184,6 +185,11 @@ void fdt_fixup_board_enet(void *fdt)
 int fsl_board_late_init(void)
 {
 	ten64_board_retimer_ds110df410_init();
+
+	/* Ensure nvme storage devices are available to bootflow */
+	if (IS_ENABLED(CONFIG_NVME))
+		nvme_scan_namespace();
+
 	return 0;
 }
 
@@ -444,3 +450,4 @@ static void ten64_board_retimer_ds110df410_init(void)
 
 	puts("OK\n");
 }
+
-- 
2.39.5