[PATCH] ARM: i.MX7/8M: reliably detect serial boot

Ahmad Fatoum a.fatoum at pengutronix.de
Mon Apr 12 23:24:16 BST 2021


While not documented in the reference manual,
info->boot_device_type was observed to equal 15 when:

 - SoC is strapped for serial boot
 - SoC falls back into serial boot after failed strapped primary

The latter went so far undetected. Fix this.
What's not tested is:

 - SoC falls back into serial boot after failed primary from fuses
 - SoC warm resets directly into serial boot because of BMODE

If those works, we could drop the imx6_bootsource_serial check at the
beginning, but for now, just leave it be.

Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
---
 arch/arm/mach-imx/boot.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-imx/boot.c b/arch/arm/mach-imx/boot.c
index c3cf4b85ff25..e9b5a4944390 100644
--- a/arch/arm/mach-imx/boot.c
+++ b/arch/arm/mach-imx/boot.c
@@ -506,6 +506,9 @@ static void __imx7_get_boot_source(enum bootsource *src, int *instance,
 	case 5:
 		*src = BOOTSOURCE_NOR;
 		break;
+	case 15:
+		*src = BOOTSOURCE_SERIAL;
+		break;
 	default:
 		break;
 	}
-- 
2.29.2




More information about the barebox mailing list