> -----Original Message----- > From: Qianyu Gong > Sent: Monday, December 21, 2015 1:25 PM > To: 'Simon Glass'; Gong Qianyu > Cc: U-Boot Mailing List; Mingkai Hu; [email protected]; > [email protected]; Jagan Teki > Subject: RE: [Patch V2 4/4] dm: env_sf: fix saveenv() to use driver model > > > > > -----Original Message----- > > From: [email protected] [mailto:[email protected]] On Behalf Of Simon Glass > > Sent: Saturday, December 19, 2015 10:51 AM > > To: Gong Qianyu > > Cc: U-Boot Mailing List; Mingkai Hu; [email protected]; > > [email protected]; 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 <[email protected]> > > wrote: > > > > > > It might be missed when converting spi_flash_probe() in cmd_sf.c. > > > > > > This commit refers to fbb099183e3a53f77a975964cdf2e73d11e565af. > > > > > > Signed-off-by: Gong Qianyu <[email protected]> > > > --- > > > 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 ... > >
This patch makes 'saveenv' probes the flash every time like 'sf probe'. Maybe there is a better way to solve this. I'm also confused why the current 'sf probe' may return different values for the same SPI flash(the same cs and bus)..Isn't it freed cleanly? Regards, Qianyu _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

