On Fri, May 17, 2024 at 08:39:04PM +0200, Miquel Raynal wrote: > Hi Frank, > > Frank.Li@xxxxxxx wrote on Fri, 17 May 2024 14:09:50 -0400: > > > From: Han Xu <han.xu@xxxxxxx> > > > > Add "fsl,imx8qxp-gpmi-nand" compatible string. iMX8QXP gpmi nand is similar > > with iMX7D. But it using 4 clock: "gpmi_io", "gpmi_apb", "gpmi_bch" and > > to? is clocks > > > "gpmi_bch_apb". > > > > Signed-off-by: Han Xu <han.xu@xxxxxxx> > > Signed-off-by: Frank Li <Frank.Li@xxxxxxx> > > --- > > drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 20 +++++++++++++++++--- > > drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.h | 4 ++++ > > 2 files changed, 21 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > > index e71ad2fcec232..f90c5207bacb6 100644 > > --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > > +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > > @@ -983,7 +983,8 @@ static int gpmi_setup_interface(struct nand_chip *chip, int chipnr, > > return PTR_ERR(sdr); > > > > /* Only MX28/MX6 GPMI controller can reach EDO timings */ > > - if (sdr->tRC_min <= 25000 && !GPMI_IS_MX28(this) && !GPMI_IS_MX6(this)) > > + if (sdr->tRC_min <= 25000 && !GPMI_IS_MX28(this) && > > + !(GPMI_IS_MX6(this) || GPMI_IS_MX8(this))) > > Feels completely redundant, no? If it's not an imx6 nor an imx28, it > already returns -ENOTSUPP. if this is mx8 sdr->tRC_min <= 25000: true !GPMI_IS_MX28(this): true !GPMI_IS_MX6(this): true so whole statement is true after change sdr->tRC_min <= 25000: true !GPMI_IS_MX28(this): true !(GPMI_IS_MX6(this) || GPMI_IS_MX8(this)): false (GPMI_IS_MX6(this) || GPMI_IS_MX8(this)): true GPMI_IS_MX6(this): false GPMI_IS_MX8(this): true so whole statement is false. Maybe use sdr->tRC_min <= 25000 && !GPMI_IS_MX28(this) && !(GPMI_IS_MX6(this) && !(GPMI_IS_MX8(this)) looks better. Or use a drvflag. if (sdr->tRC_min <= 25000 && (!this->drvflag->support_tRC_min)) Frank > > > return -ENOTSUPP; > > > Fine otherwise. > > Thanks, > Miquèl