Messages in this thread | | | Date | Wed, 22 Dec 2021 17:08:54 +0100 | From | Miquel Raynal <> | Subject | Re: [RFC PATCH 2/4] mtd: rawnand: gpmi: support fast edo timings for mx28 |
| |
Hi Dario,
dario.binacchi@amarulasolutions.com wrote on Fri, 17 Dec 2021 16:55:10 +0100:
> In the mx28 reference manual there are examples of how to set up the > GPMI controller to support fast NAND EDO timing.
... which are? I am not sure to understand what you mean here.
And what you change below is just "not refusing EDO timings with on MX28". There is a mismatch between the the two.
Plus, it seems that this patch should come last given the fact that you're fixing the EDO calculations.
> This patch has been tested on a 2048/64 byte NAND (Micron MT29F2G08ABAEAH4). > Kernel mtd tests: > - mtd_nandbiterrs > - mtd_nandecctest > - mtd_oobtest > - mtd_pagetest > - mtd_readtest > - mtd_speedtest > - mtd_stresstest > - mtd_subpagetest > - mtd_torturetest [cycles_count = 10000000] > run without errors. > > Before this patch (mode 0): > --------------------------- > eraseblock write speed is 2098 KiB/s > eraseblock read speed is 2680 KiB/s > page write speed is 1689 KiB/s > page read speed is 2522 KiB/s > 2 page write speed is 1899 KiB/s > 2 page read speed is 2579 KiB/s > erase speed is 128000 KiB/s > 2x multi-block erase speed is 73142 KiB/s > 4x multi-block erase speed is 204800 KiB/s > 8x multi-block erase speed is 256000 KiB/s > 16x multi-block erase speed is 256000 KiB/s > 32x multi-block erase speed is 256000 KiB/s > 64x multi-block erase speed is 256000 KiB/s > > After this patch (mode 5): > ------------------------- > eraseblock write speed is 3390 KiB/s > eraseblock read speed is 5688 KiB/s > page write speed is 2680 KiB/s > page read speed is 4876 KiB/s > 2 page write speed is 2909 KiB/s > 2 page read speed is 5224 KiB/s > erase speed is 170666 KiB/s > 2x multi-block erase speed is 204800 KiB/s > 4x multi-block erase speed is 256000 KiB/s > 8x multi-block erase speed is 256000 KiB/s > 16x multi-block erase speed is 256000 KiB/s > 32x multi-block erase speed is 256000 KiB/s > 64x multi-block erase speed is 256000 KiB/s > > Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com> > Co-developed-by: Michael Trimarchi <michael@amarulasolutions.com> > --- > > drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > index 65bcd1c548d2..fd935e893daf 100644 > --- a/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > +++ b/drivers/mtd/nand/raw/gpmi-nand/gpmi-nand.c > @@ -772,8 +772,8 @@ static int gpmi_setup_interface(struct nand_chip *chip, int chipnr, > if (IS_ERR(sdr)) > return PTR_ERR(sdr); > > - /* Only MX6 GPMI controller can reach EDO timings */ > - if (sdr->tRC_min <= 25000 && !GPMI_IS_MX6(this)) > + /* Only MX28/MX6 GPMI controller can reach EDO timings */ > + if (sdr->tRC_min <= 25000 && !GPMI_IS_MX28(this) && !GPMI_IS_MX6(this)) > return -ENOTSUPP; > > /* Stop here if this call was just a check */
Thanks, Miquèl
| |