[U-Boot] [Patch V2 4/4] dm: env_sf: fix saveenv() to use driver model

Qianyu Gong qianyu.gong at nxp.com
Mon Dec 21 06:25:27 CET 2015



> -----Original Message-----
> From: sjg at google.com [mailto:sjg at google.com] On Behalf Of Simon Glass
> Sent: Saturday, December 19, 2015 10:51 AM
> To: Gong Qianyu
> Cc: U-Boot Mailing List; Mingkai Hu; R58495 at freescale.com;
> yao.yuan at freescale.com; Jagan Teki
> Subject: Re: [Patch V2 4/4] dm: env_sf: fix saveenv() to use driver model
> 
> Hi Gong,
> 
> On 15 December 2015 at 03:32, Gong Qianyu <Qianyu.Gong at freescale.com>
> wrote:
> >
> > It might be missed when converting spi_flash_probe() in cmd_sf.c.
> >
> > This commit refers to fbb099183e3a53f77a975964cdf2e73d11e565af.
> >
> > Signed-off-by: Gong Qianyu <Qianyu.Gong at freescale.com>
> > ---
> > V2:
> >  - New Patch.
> >
> >  common/env_sf.c | 49
> > +++++++++++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 49 insertions(+)
> 
> The 'saveenv' command seems to work OK for me with driver model. Can you
> please explain what problem this patch solves?
> 
> Regards,
> Simon

Hi Simon,

The saveenv() always keeps the latest 'sf probe' value of env_flash. So if I run 'sf probe' 
a few more times till it returns a different value, saveenv() will then get into sync abort.

Actually the problem I met is:
=> saveenv
Saving Environment to SPI Flash...
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16MiB
Erasing SPI flash...Writing to SPI flash...done
=> sf probe
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16MiB
=> saveenv
Saving Environment to SPI Flash...
"Synchronous Abort" handler, esr 0x02000000
ELR:     fffa8520
LR:      fff6fd28
x0 : 00000000ffe44850 x1 : 0000000000102000
x2 : 000000000000e000 x3 : 00000000ffe6a670
x4 : 00000000fffa8520 x5 : 00000000fffa89c0
x6 : 00000000fffa8340 x7 : 0000000000000053
x8 : 0000000000000000 x9 : 000000000000000c
x10: 00000000ffe6a660 x11: 00000000fff90000
x12: 000000000000000f x13: 0000000040000000
x14: 0000000000200000 x15: 00000000fff490d0
x16: 00000000fff4984c x17: 0000000000000064
x18: 00000000ffe43da0 x19: 00000000fffb7000
x20: 00000000ffe6a670 x21: 00000000fffb7000
x22: 00000000fffb7000 x23: 0000000000000001
x24: 00000000fffb6db0 x25: 0000000000000000
x26: 0000000000000000 x27: 0000000000000000
x28: 0000000000000000 x29: 00000000ffe3f4d0

Resetting CPU ...

resetting ...





More information about the U-Boot mailing list