> -----Original Message-----
> From: Z.Q. Hou
> Sent: Tuesday, March 07, 2017 12:27 PM
> To: Prabhakar Kushwaha <[email protected]>; u-
> [email protected]; [email protected]; york sun <[email protected]>;
> [email protected]; [email protected]; Xiaobo Xie
> <[email protected]>
> Subject: RE: [U-Boot] [PATCH 1/5] mtd: nand: add initialization flag
> 
> Hi Prabhakar,
> 
> Thanks for your comments!
> 
> > -----Original Message-----
> > From: Prabhakar Kushwaha
> > Sent: Tuesday, March 07, 2017 11:17 AM
> > To: Z.Q. Hou <[email protected]>; [email protected];
> > [email protected]; york sun <[email protected]>;
> > [email protected]; [email protected]; Xiaobo Xie
> > <[email protected]>
> > Cc: Z.Q. Hou <[email protected]>
> > Subject: RE: [U-Boot] [PATCH 1/5] mtd: nand: add initialization flag
> >
> >
> > > -----Original Message-----
> > > From: U-Boot [mailto:[email protected]] On Behalf Of
> > > Zhiqiang Hou
> > > Sent: Friday, March 03, 2017 7:01 PM
> > > To: [email protected]; [email protected]; york sun
> > > <[email protected]>; [email protected]; [email protected];
> > Xiaobo
> > > Xie <[email protected]>
> > > Cc: Z.Q. Hou <[email protected]>
> > > Subject: [U-Boot] [PATCH 1/5] mtd: nand: add initialization flag
> > >
> > > From: Hou Zhiqiang <[email protected]>
> > >
> > > Add initialization flag to avoid initializing NAND Flash multiple
> > > times, otherwise it will calculate a wrong total size.
> > >
> > > Signed-off-by: Hou Zhiqiang <[email protected]>
> > > ---
> > >  drivers/mtd/nand/nand.c | 10 ++++++++++
> > >  1 file changed, 10 insertions(+)
> > >
> > > diff --git a/drivers/mtd/nand/nand.c b/drivers/mtd/nand/nand.c index
> > > 0551241..3ea2dcf 100644
> > > --- a/drivers/mtd/nand/nand.c
> > > +++ b/drivers/mtd/nand/nand.c
> > > @@ -133,6 +133,16 @@ static void create_mtd_concat(void)
> > >
> > >  void nand_init(void)
> > >  {
> > > + static int initialized;
> > > +
> > > + /*
> > > +  * Avoid initializing NAND Flash multiple times,
> > > +  * otherwise it will calculate a wrong total size.
> > > +  */
> > > + if (initialized)
> > > +         return;
> > > + initialized = 1;
> > > +
> > >  #ifdef CONFIG_SYS_NAND_SELF_INIT
> > >   board_nand_init();
> > >  #else
> >
> > If I am correct, above has done to avoid nand_init() if already done from 
> > SPL
> > boot.
> > I will suggest to use compile time option to skip nand_init from board_r.c
> > instead of global variable
> >
> 
> It is not the SPL's matter.
> When PPA is loaded from NAND flash, the nand_init() will be called by 
> ppa_init(),
> which is called earlier than the initr_nand(), so it will calculate a wrong 
> total size
> without this flag.
> 

This means you have to use CONFIG_LS_PPA to avoid initr_nand() calling if 
nand_init() has been used earlier.

--prabhakar

_______________________________________________
U-Boot mailing list
[email protected]
https://lists.denx.de/listinfo/u-boot

Reply via email to