mtd: rawnand: toshiba: Implement ->choose_interface_config() for TC58TEG5DCLTA00
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 29 May 2020 11:13:17 +0000 (13:13 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 26 Jun 2020 06:35:07 +0000 (08:35 +0200)
Implement this hook for the tc58teg5dclta00 NAND chip and stop setting
->default_timing_mode.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Link: https://lore.kernel.org/linux-mtd/20200529111322.7184-24-miquel.raynal@bootlin.com
drivers/mtd/nand/raw/nand_toshiba.c

index 333037b..d23bb43 100644 (file)
@@ -194,11 +194,21 @@ static void toshiba_nand_decode_id(struct nand_chip *chip)
        }
 }
 
+static int
+tc58teg5dclta00_choose_interface_config(struct nand_chip *chip,
+                                       struct nand_interface_config *iface)
+{
+       onfi_fill_interface_config(chip, iface, NAND_SDR_IFACE, 5);
+
+       return nand_choose_best_sdr_timings(chip, iface, NULL);
+}
+
 static int tc58teg5dclta00_init(struct nand_chip *chip)
 {
        struct mtd_info *mtd = nand_to_mtd(chip);
 
-       chip->onfi_timing_mode_default = 5;
+       chip->ops.choose_interface_config =
+               &tc58teg5dclta00_choose_interface_config;
        chip->options |= NAND_NEED_SCRAMBLING;
        mtd_set_pairing_scheme(mtd, &dist3_pairing_scheme);