[U-Boot] [PATCH] at91sam9x5: mmc: save environment as a file in FAT partition.

This patch will save U-Boot environment as a file: uboot.env, in FAT partition instead of saving it in raw sector of SD card. Since saving environment in raw sector has risk of corrupting the SD card and only can use very small size. Save as a FAT file has no above limitation.
Signed-off-by: Josh Wu josh.wu@atmel.com --- this patch is based on v2013.01.
include/configs/at91sam9x5ek.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/include/configs/at91sam9x5ek.h b/include/configs/at91sam9x5ek.h index 6fac5ac..b01bb30 100644 --- a/include/configs/at91sam9x5ek.h +++ b/include/configs/at91sam9x5ek.h @@ -217,11 +217,13 @@ "bootm 0x22000000" #else /* CONFIG_SYS_USE_MMC */ /* bootstrap + u-boot + env + linux in mmc */ -#define CONFIG_ENV_IS_IN_MMC -/* For FAT system, most cases it should be in the reserved sector */ -#define CONFIG_ENV_OFFSET 0x2000 -#define CONFIG_ENV_SIZE 0x1000 -#define CONFIG_SYS_MMC_ENV_DEV 0 +#define CONFIG_ENV_IS_IN_FAT +#define CONFIG_FAT_WRITE +#define FAT_ENV_INTERFACE "mmc" +#define FAT_ENV_FILE "uboot.env" +#define FAT_ENV_DEVICE 0 +#define FAT_ENV_PART 1 +#define CONFIG_ENV_SIZE 0x4000 #endif
#ifdef CONFIG_SYS_USE_MMC

Hi Josh,
On 01/22/2013 04:36 PM, Josh Wu wrote:
This patch will save U-Boot environment as a file: uboot.env, in FAT partition instead of saving it in raw sector of SD card. Since saving environment in raw sector has risk of corrupting the SD card and only can use very small size. Save as a FAT file has no above limitation.
Signed-off-by: Josh Wujosh.wu@atmel.com
this patch is based on v2013.01.
include/configs/at91sam9x5ek.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
When I test this on at91sam9g35ek board, execute "saveenv", it will report following information, any information for this? ---------------------------- U-Boot 2013.01-00001-g4ab0497 (Jan 23 2013 - 17:12:28)
CPU: AT91SAM9G35 Crystal frequency: 12 MHz CPU clock : 400 MHz Master clock : 133.333 MHz DRAM: 128 MiB WARNING: Caches not enabled NAND: No NAND device found!!! atmel_nand: Fail to initialize #0 chip0 MiB MMC: mci: 0 mci: setting clock 260416 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 22222222 Hz, block size 512 ** Partition 1 not valid on device 0 ** Failed to register mmc0:1 Using default environment
In: serial Out: serial Err: serial Net: macb0 Warning: failed to set MAC address
U-Boot> saveenv Saving Environment to FAT... mci: setting clock 260416 Hz, block size 512 mci: setting clock 22222222 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 22222222 Hz, block size 512 ** Partition 1 not valid on device 0 ** Failed to register mmc0:1 ------------------------------------------------
Best Regards, Bo Shen

Hi, Bo Shen
Sorry for the late reply. I am taken over by other stuff. check my comments below.
On 1/23/2013 5:31 PM, Bo Shen wrote:
Hi Josh,
On 01/22/2013 04:36 PM, Josh Wu wrote:
This patch will save U-Boot environment as a file: uboot.env, in FAT partition instead of saving it in raw sector of SD card. Since saving environment in raw sector has risk of corrupting the SD card and only can use very small size. Save as a FAT file has no above limitation.
Signed-off-by: Josh Wujosh.wu@atmel.com
this patch is based on v2013.01.
include/configs/at91sam9x5ek.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
When I test this on at91sam9g35ek board, execute "saveenv", it will report following information, any information for this?
I also tested some sd card, and I meet this issue you met too. In such situation, the command "mmc part" will report a unknow partition error. I suspect the issue is caused by either mmc driver or FAT partition part of code. And I will continue digging this issue. Thanks for report the errors.
Best Regards, Josh Wu
U-Boot 2013.01-00001-g4ab0497 (Jan 23 2013 - 17:12:28)
CPU: AT91SAM9G35 Crystal frequency: 12 MHz CPU clock : 400 MHz Master clock : 133.333 MHz DRAM: 128 MiB WARNING: Caches not enabled NAND: No NAND device found!!! atmel_nand: Fail to initialize #0 chip0 MiB MMC: mci: 0 mci: setting clock 260416 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 22222222 Hz, block size 512 ** Partition 1 not valid on device 0 ** Failed to register mmc0:1 Using default environment
In: serial Out: serial Err: serial Net: macb0 Warning: failed to set MAC address
U-Boot> saveenv Saving Environment to FAT... mci: setting clock 260416 Hz, block size 512 mci: setting clock 22222222 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 260416 Hz, block size 512 mci: setting clock 22222222 Hz, block size 512 ** Partition 1 not valid on device 0 ** Failed to register mmc0:1
Best Regards, Bo Shen

Dear Josh Wu,
On 22.02.2013 11:36, Josh Wu wrote:
Hi, Bo Shen
Sorry for the late reply. I am taken over by other stuff. check my comments below.
On 1/23/2013 5:31 PM, Bo Shen wrote:
Hi Josh,
On 01/22/2013 04:36 PM, Josh Wu wrote:
This patch will save U-Boot environment as a file: uboot.env, in FAT partition instead of saving it in raw sector of SD card. Since saving environment in raw sector has risk of corrupting the SD card and only can use very small size. Save as a FAT file has no above limitation.
Signed-off-by: Josh Wujosh.wu@atmel.com
this patch is based on v2013.01.
include/configs/at91sam9x5ek.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
When I test this on at91sam9g35ek board, execute "saveenv", it will report following information, any information for this?
I also tested some sd card, and I meet this issue you met too. In such situation, the command "mmc part" will report a unknow partition error. I suspect the issue is caused by either mmc driver or FAT partition part of code. And I will continue digging this issue. Thanks for report the errors.
Have you an updated version of this patch?
Best regards
Andreas Bießmann

On 3/10/2013 11:55 PM, Andreas Bießmann wrote:
Hi, Andreas
Dear Josh Wu,
On 22.02.2013 11:36, Josh Wu wrote:
Hi, Bo Shen
Sorry for the late reply. I am taken over by other stuff. check my comments below.
On 1/23/2013 5:31 PM, Bo Shen wrote:
Hi Josh,
On 01/22/2013 04:36 PM, Josh Wu wrote:
This patch will save U-Boot environment as a file: uboot.env, in FAT partition instead of saving it in raw sector of SD card. Since saving environment in raw sector has risk of corrupting the SD card and only can use very small size. Save as a FAT file has no above limitation.
Signed-off-by: Josh Wujosh.wu@atmel.com
this patch is based on v2013.01.
include/configs/at91sam9x5ek.h | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)
When I test this on at91sam9g35ek board, execute "saveenv", it will report following information, any information for this?
I also tested some sd card, and I meet this issue you met too. In such situation, the command "mmc part" will report a unknow partition error. I suspect the issue is caused by either mmc driver or FAT partition part of code. And I will continue digging this issue. Thanks for report the errors.
Have you an updated version of this patch?
Sorry, I didn't follow up this issue yet. So no update so far. I will continue work on it when I have time.
Best Regards, Josh Wu
Best regards
Andreas Bießmann
participants (3)
-
Andreas Bießmann
-
Bo Shen
-
Josh Wu