From: Chris Morgan <macromor...@hotmail.com> Add pairing info for the Hynix H27UCG8T2ETR NAND so that we may utilize slc-mode emulation for enhanced reliability and compatibility with upstream Linux.
I have checked with the team at #mtd and they can confirm based on a cursory reading of the datasheet for this flash chip it appears to use the same dist3 pairing scheme used by the Toshiba NAND which already supports dist3 today in mainline Linux. Signed-off-by: Chris Morgan <macromor...@hotmail.com> --- drivers/mtd/nand/raw/nand_base.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/mtd/nand/raw/nand_base.c b/drivers/mtd/nand/raw/nand_base.c index 70b4a76bad..fc6ee36514 100644 --- a/drivers/mtd/nand/raw/nand_base.c +++ b/drivers/mtd/nand/raw/nand_base.c @@ -4555,6 +4555,14 @@ ident_done: mtd_set_pairing_scheme(mtd, &dist3_pairing_scheme); } + /* Enable slc-mode on H27UCG8T2ETR to enable upstream Linux */ + if (id_data[0] == NAND_MFR_HYNIX && id_data[1] == 0xde + && id_data[2] == 0x14 && id_data[3] == 0xa7 + && id_data[4] == 0x42 && id_data[5] == 0x4a) { + chip->options |= NAND_NEED_SCRAMBLING; + mtd_set_pairing_scheme(mtd, &dist3_pairing_scheme); + } + if (chip->options & NAND_BUSWIDTH_AUTO) { WARN_ON(chip->options & NAND_BUSWIDTH_16); chip->options |= busw; -- 2.30.2