[PATCH 6/6] mtd: nand: macronix: Unflag the support of changing timings for MX30LF2G18AC
Boris Brezillon
boris.brezillon at bootlin.com
Wed Feb 14 01:14:28 PST 2018
On Sat, 3 Feb 2018 10:55:44 +0100
Miquel Raynal <miquel.raynal at bootlin.com> wrote:
> From: Miquel Raynal <miquel.raynal at free-electrons.com>
>
> The MX30LF2G18AC chip declares in its parameter page supporting
> SET/GET_FEATURES but when it comes to timings, experience shows that it
> is not the case.
>
> Unflag this feature for this particular chip in the nand_parameters
> structure to avoid unnecessary errors and downturns.
>
> Signed-off-by: Miquel Raynal <miquel.raynal at free-electrons.com>
> ---
> drivers/mtd/nand/nand_macronix.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/drivers/mtd/nand/nand_macronix.c b/drivers/mtd/nand/nand_macronix.c
> index d290ff2a6d2f..c58567834595 100644
> --- a/drivers/mtd/nand/nand_macronix.c
> +++ b/drivers/mtd/nand/nand_macronix.c
> @@ -19,9 +19,21 @@
>
> static int macronix_nand_init(struct nand_chip *chip)
> {
> + const char model[20] = "MX30LF2G18AC";
> +
> if (nand_is_slc(chip))
> chip->bbt_options |= NAND_BBT_SCAN2NDPAGE;
>
> + /*
> + * MX30LF2G18AC chip does not support using SET/GET_FEATURES to change
> + * the timings unlike what is declared in the parameter page. Unflag
> + * this feature to avoid unnecessary downturns.
> + */
> + if (chip->parameters.support_setting_features &&
> + !strncmp(model, chip->parameters.model, ARRAY_SIZE(model)))
Why not
!strcmp("MX30LF2G18AC", chip->parameters.model)
?
> + bitmap_clear(chip->parameters.feature_list,
> + ONFI_FEATURE_ADDR_TIMING_MODE, 1);
> +
> return 0;
> }
>
--
Boris Brezillon, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
http://bootlin.com
More information about the linux-mtd
mailing list