summaryrefslogtreecommitdiff
path: root/drivers/mtd/nand/raw/nand_sandisk.c
diff options
context:
space:
mode:
authorJohan Jonker <jbx6244@gmail.com>2023-06-13 23:19:58 +0200
committerMiquel Raynal <miquel.raynal@bootlin.com>2023-06-19 10:20:55 +0200
commit12ac188b9355618dbaa892eb795f48845cf7b1af (patch)
tree884327b1bc6e7da223f1b930ffc674d9380a7b12 /drivers/mtd/nand/raw/nand_sandisk.c
parent46c37b99b5cbaa69a4d2af498b7d6a6db34d4db0 (diff)
mtd: rawnand: add basic sandisk manufacturer ops
Add basic Sandisk manufacturer ops support to get SDTNQGAMA timing data with the nand_get_sdr_timings() function. Signed-off-by: Johan Jonker <jbx6244@gmail.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/aaf4580a-a368-8f70-c9c4-21b5ed4dd599@gmail.com
Diffstat (limited to 'drivers/mtd/nand/raw/nand_sandisk.c')
-rw-r--r--drivers/mtd/nand/raw/nand_sandisk.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/mtd/nand/raw/nand_sandisk.c b/drivers/mtd/nand/raw/nand_sandisk.c
new file mode 100644
index 000000000000..7c66e4187dc7
--- /dev/null
+++ b/drivers/mtd/nand/raw/nand_sandisk.c
@@ -0,0 +1,26 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+
+#include "internals.h"
+
+static int
+sdtnqgama_choose_interface_config(struct nand_chip *chip,
+ struct nand_interface_config *iface)
+{
+ onfi_fill_interface_config(chip, iface, NAND_SDR_IFACE, 0);
+
+ return nand_choose_best_sdr_timings(chip, iface, NULL);
+}
+
+static int sandisk_nand_init(struct nand_chip *chip)
+{
+ if (!strncmp("SDTNQGAMA", chip->parameters.model,
+ sizeof("SDTNQGAMA") - 1))
+ chip->ops.choose_interface_config =
+ &sdtnqgama_choose_interface_config;
+
+ return 0;
+}
+
+const struct nand_manufacturer_ops sandisk_nand_manuf_ops = {
+ .init = sandisk_nand_init,
+};