On 04/17/2018 12:24 PM, Ronak Desai wrote: > Corrected the chip selection in IFC_NAND_CSEL register. Due to this > issue in multi-chip nand use-case, IFC was always pointing to the last > probed chip even though user select another device through "nand device > <dev>" command. > > Also, updated the driver to remove usage of ifc_ctrl->cs_nand as it's > the property of chip not the controller. > > Signed-off-by: Ronak Desai <ronak.de...@rockwellcollins.com> > --- > drivers/mtd/nand/fsl_ifc_nand.c | 15 ++++++--------- > 1 file changed, 6 insertions(+), 9 deletions(-) > > -- > 1.7.9.5 > > diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c > index 495e3aa..2d0ca54 100644 > --- a/drivers/mtd/nand/fsl_ifc_nand.c > +++ b/drivers/mtd/nand/fsl_ifc_nand.c > @@ -48,7 +48,6 @@ struct fsl_ifc_ctrl { > /* device info */ > struct fsl_ifc regs; > void __iomem *addr; /* Address of assigned IFC buffer */ > - unsigned int cs_nand; /* On which chipsel NAND is connected */ > unsigned int page; /* Last page written to / read from */ > unsigned int read_bytes; /* Number of bytes read during command */ > unsigned int column; /* Saved column from SEQIN */ > @@ -296,7 +295,7 @@ static int fsl_ifc_run_command(struct mtd_info *mtd) > int i; > > /* set the chip select for NAND Transaction */ > - ifc_out32(&ifc->ifc_nand.nand_csel, ifc_ctrl->cs_nand); > + ifc_out32(&ifc->ifc_nand.nand_csel, priv->bank << IFC_NAND_CSEL_SHIFT); >
Can you check your code base? Commit 99145c488f78 has some of your change already. York _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot