Some NAND controllers need SDR timing mode value, instead of timings. i.e the NAND controller will change its operating mode by just configuring the sdr timing mode number. So add a mode field to struct nand_sdr_timings Signed-off-by: Naga Sureshkumar Relli <naga.sureshkumar.relli@xxxxxxxxxx> Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxx> --- Changes in v12: - Typo corrections as suggested by Boris Changes in v11: - None Changes in v10: - None Changes in v9: - None Changes in v8: - None Changes in v7: - None Changes in v6: - None Changes in v5: - None Changes in v4: - None Changes in v3: - None Changes in v2: - None --- drivers/mtd/nand/raw/nand_timings.c | 6 ++++++ include/linux/mtd/rawnand.h | 2 ++ 2 files changed, 8 insertions(+) diff --git a/drivers/mtd/nand/raw/nand_timings.c b/drivers/mtd/nand/raw/nand_timings.c index bea3062..500c16b 100644 --- a/drivers/mtd/nand/raw/nand_timings.c +++ b/drivers/mtd/nand/raw/nand_timings.c @@ -57,6 +57,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { .tWHR_min = 120000, .tWP_min = 50000, .tWW_min = 100000, + .mode = 0, }, }, /* Mode 1 */ @@ -99,6 +100,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { .tWHR_min = 80000, .tWP_min = 25000, .tWW_min = 100000, + .mode = 1, }, }, /* Mode 2 */ @@ -141,6 +143,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { .tWHR_min = 80000, .tWP_min = 17000, .tWW_min = 100000, + .mode = 2, }, }, /* Mode 3 */ @@ -183,6 +186,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { .tWHR_min = 80000, .tWP_min = 15000, .tWW_min = 100000, + .mode = 3, }, }, /* Mode 4 */ @@ -225,6 +229,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { .tWHR_min = 80000, .tWP_min = 12000, .tWW_min = 100000, + .mode = 4, }, }, /* Mode 5 */ @@ -267,6 +272,7 @@ static const struct nand_data_interface onfi_sdr_timings[] = { .tWHR_min = 80000, .tWP_min = 10000, .tWW_min = 100000, + .mode = 5, }, }, }; diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h index e10b126..223b656 100644 --- a/include/linux/mtd/rawnand.h +++ b/include/linux/mtd/rawnand.h @@ -466,6 +466,7 @@ struct nand_ecc_ctrl { * @tWHR_min: WE# high to RE# low * @tWP_min: WE# pulse width * @tWW_min: WP# transition to WE# low + * @mode: sdr timing mode value */ struct nand_sdr_timings { u64 tBERS_max; @@ -506,6 +507,7 @@ struct nand_sdr_timings { u32 tWHR_min; u32 tWP_min; u32 tWW_min; + u32 mode; }; /** -- 2.7.4 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/