board: traverse: ten64: init nvme devices in late boot to ensure bootflow availability
authorMathew McBride <matt@traverse.com.au>
Fri, 21 Jul 2023 04:39:24 +0000 (04:39 +0000)
committerTom Rini <trini@konsulko.com>
Thu, 3 Aug 2023 13:40:50 +0000 (09:40 -0400)
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

index df44baf..39f0d10 100644 (file)
@@ -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");
 }
+