* [PATCH] arm: imx: Fix spl imx romapi for imx8mn
@ 2021-07-04 19:46 Michael Trimarchi
0 siblings, 0 replies; only message in thread
From: Michael Trimarchi @ 2021-07-04 19:46 UTC (permalink / raw)
To: Stefano Babic, Fabio Estevam; +Cc: uboot-imx, u-boot
We experimenting problems with imx8mn family cpu. We try to support
boot0 and boot1 fallback.
The condition to decide what function the bootrom should choose
come from is_boot_from_stream_device
This is a boot from mmcblk0boot0 with some debug
U-Boot SPL 2020.04-5.4.70-2.3.2+gf3bcbdfc62 (Jul 03 2021 - 17:00:27 +0000)
power_bd71837_init
DDRINFO: start DRAM init
DDRINFO: DRAM rate 1600MTS
DDRINFO:ddrphy calibration done
DDRINFO: ddrmix config done
Normal Boot
Trying to boot from BOOTROM
ROM API interface 2 from boot 131073
Interface is 2 MMC and boot is 131073 and according to this
static int is_boot_from_stream_device(u32 boot)
+{
+ u32 interface;
+
+ interface = boot >> 16;
+ if (interface >= BT_DEV_TYPE_USB)
+ return 1;
+
+ if (interface == BT_DEV_TYPE_MMC && (boot & 1))
+ return 1;
+
+ return 0;
+}
the return is 1, that does not allow us to boot.
Boot from boot1 give 131072 that is boot1 this let device boot because
is_boot_from_stream_device is 0 and
romapi use spl_romapi_load_image_seekable
Adjust the bootcondition let us boot from mmcblk0boot0 and
mmcblk0boot1 without any problem
mmc partconf 0
EXT_CSD[179], PARTITION_CONFIG:
BOOT_ACK: 0x0
BOOT_PARTITION_ENABLE: 0x1
PARTITION_ACCESS: 0x0
and the board was fused already.
Signed-off-by: Michael Trimarchi <michael@amarulasolutions.com>
---
arch/arm/mach-imx/spl_imx_romapi.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/mach-imx/spl_imx_romapi.c b/arch/arm/mach-imx/spl_imx_romapi.c
index 7e6a05a6f3..36f8848d45 100644
--- a/arch/arm/mach-imx/spl_imx_romapi.c
+++ b/arch/arm/mach-imx/spl_imx_romapi.c
@@ -18,10 +18,11 @@ static int is_boot_from_stream_device(u32 boot)
u32 interface;
interface = boot >> 16;
+
if (interface >= BT_DEV_TYPE_USB)
return 1;
- if (interface == BT_DEV_TYPE_MMC && (boot & 1))
+ if (!is_imx8mn() && interface == BT_DEV_TYPE_MMC && (boot & 1))
return 1;
return 0;
--
2.25.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2021-07-04 19:47 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-07-04 19:46 [PATCH] arm: imx: Fix spl imx romapi for imx8mn Michael Trimarchi
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox