[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20211009184952.24591-1-paul@crapouillou.net>
Date: Sat, 9 Oct 2021 20:49:49 +0200
From: Paul Cercueil <paul@...pouillou.net>
To: Miquel Raynal <miquel.raynal@...tlin.com>,
Richard Weinberger <richard@....at>,
Vignesh Raghavendra <vigneshr@...com>,
Harvey Hunt <harveyhuntnexus@...il.com>
Cc: list@...ndingux.net, linux-mtd@...ts.infradead.org,
linux-kernel@...r.kernel.org, linux-mips@...r.kernel.org,
Paul Cercueil <paul@...pouillou.net>
Subject: [PATCH 0/3] mtd: Ingenic NAND fix for JZ4740
Hi,
Looks like NAND support has been broken on the JZ4740 SoC for a while;
it looks like it comes from the fact that the "hw_oob_first" mechanism
was dropped from the NAND core and moved to the Davinci driver.
It turns out the JZ4740 SoC needs it too; I didn't notice it when
writing the new ingenic-nand driver (to replace the old jz4740-nand
driver) most likely because my Device Tree had the "nand-ecc-mode" set
to "hw_oob_first".
I am not very sure about patch [1/3]; to me the original code does not
make sense, and it didn't work out-of-the-box on the JZ4740 without it.
By applying patch [1/3] the function nand_read_page_hwecc_oob_first()
can be reused for the JZ4740 SoC as well. But I did not test patch [1/3]
on Davinci.
Cheers,
-Paul
Paul Cercueil (3):
mtd: rawnand/davinci: Don't calculate ECC when reading page
mtd: rawnand: Export nand_read_page_hwecc_oob_first()
mtd: rawnand/ingenic: JZ4740 needs 'oob_first' read page function
drivers/mtd/nand/raw/davinci_nand.c | 73 +------------------
.../mtd/nand/raw/ingenic/ingenic_nand_drv.c | 5 ++
drivers/mtd/nand/raw/nand_base.c | 69 ++++++++++++++++++
include/linux/mtd/rawnand.h | 2 +
4 files changed, 77 insertions(+), 72 deletions(-)
--
2.33.0
Powered by blists - more mailing lists