[PATCH] mtd: spi-nor: aspeed: set 4B setting for all chips
Cyrille Pitchen
cyrille.pitchen at wedev4u.fr
Mon Aug 14 08:28:05 PDT 2017
Le 02/08/2017 à 10:51, Cédric Le Goater a écrit :
> The driver made the wrong assumption that the 4B setting was
> autodetected for all chips of the AST2500 FMC flash controller. This
> is only the case for the CS0.
>
> Signed-off-by: Cédric Le Goater <clg at kaod.org>
Applied to the spi-nor/next branch of l2-mtd
Thanks!
> ---
> drivers/mtd/spi-nor/aspeed-smc.c | 13 ++++++-------
> 1 file changed, 6 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/mtd/spi-nor/aspeed-smc.c b/drivers/mtd/spi-nor/aspeed-smc.c
> index 23622bf62b6b..1b76fe14a435 100644
> --- a/drivers/mtd/spi-nor/aspeed-smc.c
> +++ b/drivers/mtd/spi-nor/aspeed-smc.c
> @@ -794,19 +794,18 @@ static void aspeed_smc_chip_set_type(struct aspeed_smc_chip *chip, int type)
> }
>
> /*
> - * The AST2500 FMC flash controller should be strapped by hardware, or
> - * autodetected, but the AST2500 SPI flash needs to be set.
> + * The first chip of the AST2500 FMC flash controller is strapped by
> + * hardware, or autodetected, but other chips need to be set. Enforce
> + * the 4B setting for all chips.
> */
> static void aspeed_smc_chip_set_4b(struct aspeed_smc_chip *chip)
> {
> struct aspeed_smc_controller *controller = chip->controller;
> u32 reg;
>
> - if (chip->controller->info == &spi_2500_info) {
> - reg = readl(controller->regs + CE_CONTROL_REG);
> - reg |= 1 << chip->cs;
> - writel(reg, controller->regs + CE_CONTROL_REG);
> - }
> + reg = readl(controller->regs + CE_CONTROL_REG);
> + reg |= 1 << chip->cs;
> + writel(reg, controller->regs + CE_CONTROL_REG);
> }
>
> /*
>
More information about the linux-mtd
mailing list