AnsweredAssumed Answered

Can't save u-boot environment variable to NAND on imx28 platform.

Question asked by yongki min on Oct 31, 2013
Latest reply on Nov 1, 2013 by Fabio Estevam

I could change the path form MMC to NAND when save the u-boot variable for help.

Re: how to change the u-boot environment to NAND when saveenv on i.MX28 coustom board


And I add NAND parameters to u-boot source code so I got the below result as log.


U-Boot 2009.08 (Oct 31 2013 - 20:23:53)


Freescale i.MX28 family

CPU:   454 MHz

BUS:   151 MHz

EMI:   205 MHz

GPMI:   24 MHz

DRAM:  64 MB

NAND:  Manufacturer      : Esmt (0x92)

Device Code       : 0xf1

Cell Technology   : SLC

Chip Size         : 128 MiB

Pages per Block   : 64

Page Geometry     : 2048+64

ECC Strength      : 4 bits

ECC Size          : 512 B

Data Setup Time   : 20 ns

Data Hold Time    : 10 ns

Address Setup Time: 20 ns

GPMI Sample Delay : 6 ns

tREA              : Unknown

tRLOH             : Unknown

tRHOH             : Unknown

Description       : F59L1G81A

128 MiB

function nand_init

address of nand_info[0] = 0x41031f48

In:    serial

Out:   serial

Err:   serial

Net:   got MAC address from IIM: 00:04:00:00:00:00


Hit any key to stop autoboot:  0


But I can't save the variable when saveenv. The log is

MX28 U-Boot > saveenv

Saving Environment to NAND...

Erasing Nand...

Erasing at 0x140000000020000 --   0% complete.

Writing to Nand... done

MX28 U-Boot >


I don't understand the eraseing address. (0x140000000020000)

When do saveenv command the function saveenv in u-boot/common/env_nand.c calls nand_erase_opts function in u-boot/drivers/mtd/nand/nand_util.c

I did the check the address erase.addr value in nand_erase_opts function.

The address erase.addr value is diffeent when call it.


Can help me?