[U-Boot] mx28: Saving env vars on MMC
Marek Vasut
marek.vasut at gmail.com
Fri Nov 25 15:30:59 CET 2011
> On Fri, Nov 25, 2011 at 6:13 AM, Marek Vasut <marek.vasut at gmail.com> wrote:
> > You have to be careful on the imx28 about the following:
> >
> > 1) sector 0 / first 512 bytes : That's where MBR is
> > 2) sector 2048 + ... : That's where U-Boot is located
> >
> > But it's strange, there's about 1MB of space between MBR and U-Boot ...
> > can you actually check the first 2MB of the card and run binary diff on
> > the good and bad card ? That way you'll see what changed.
>
> What I see is that when I do a 'save' the env variables are written to
> 0 and this causes the boot to fail.
>
> Has the mxsmmc driver been tested?
>
> Regards,
>
> Fabio Estevam
I did the following change and tested u-boot on m28evk. I saved env, restarted
board etc.
1) Env was successfully saved to MMC sector 2 (at offset 1024 bytes from start).
2) Env was successfully loaded from MMC after reset
Basically ... give it a go, Fabio, maybe you just missed something :)
PATCH:
diff --git a/include/configs/m28evk.h b/include/configs/m28evk.h
index d4bd207..25edab8 100644
--- a/include/configs/m28evk.h
+++ b/include/configs/m28evk.h
@@ -147,7 +147,7 @@
#define NAND_MAX_CHIPS 8
/* Environment is in NAND */
-#define CONFIG_ENV_IS_IN_NAND
+/*#define CONFIG_ENV_IS_IN_NAND
#define CONFIG_ENV_SIZE (16 * 1024)
#define CONFIG_ENV_SIZE_REDUND CONFIG_ENV_SIZE
#define CONFIG_ENV_SECT_SIZE (128 * 1024)
@@ -155,6 +155,12 @@
#define CONFIG_ENV_OFFSET 0x300000
#define CONFIG_ENV_OFFSET_REDUND \
(CONFIG_ENV_OFFSET + CONFIG_ENV_RANGE)
+*/
+
+#define CONFIG_ENV_IS_IN_MMC
+#define CONFIG_SYS_MMC_ENV_DEV 0
+#define CONFIG_ENV_SIZE (16 * 1024)
+#define CONFIG_ENV_OFFSET 1024
#define CONFIG_CMD_UBI
#define CONFIG_CMD_UBIFS
More information about the U-Boot
mailing list