[U-Boot] [PATCH v2 2/2] dm: sf: Make SST flash write op work again

Jagan Teki jagannadh.teki at gmail.com
Tue Apr 28 10:08:03 CEST 2015


On 24 April 2015 at 17:21, Bin Meng <bmeng.cn at gmail.com> wrote:
> With SPI flash moving to driver model, commit fbb0991 "dm: Convert
> spi_flash_probe() and 'sf probe' to use driver model" ignored the
> SST flash-specific write op (byte program & word program), which
> actually broke the SST flash from wroking.
>
> This commit makes SST flash work again under driver model, by adding
> SST flash-specific handling in the spi_flash_std_write().
>
> Signed-off-by: Bin Meng <bmeng.cn at gmail.com>
>
> ---
>
> Changes in v2:
> - Instead of creating an SST flash-specifc driver to handle the write
>   op, handle that in the standard spi_flash_std_write().
> - Drop the crownbay.dts update patch
>
>  drivers/mtd/spi/sf_probe.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c
> index ac93114..038fe2d 100644
> --- a/drivers/mtd/spi/sf_probe.c
> +++ b/drivers/mtd/spi/sf_probe.c
> @@ -472,6 +472,15 @@ int spi_flash_std_write(struct udevice *dev, u32 offset, size_t len,
>  {
>         struct spi_flash *flash = dev_get_uclass_priv(dev);
>
> +#if defined(CONFIG_SPI_FLASH_SST)
> +       if (flash->flags & SST_WR) {
> +               if (flash->spi->op_mode_tx & SPI_OPM_TX_BP)
> +                       return sst_write_bp(flash, offset, len, buf);
> +               else
> +                       return sst_write_wp(flash, offset, len, buf);
> +       }
> +#endif
> +
>         return spi_flash_cmd_write_ops(flash, offset, len, buf);
>  }
>
> --
> 1.8.2.1
>

Applied to u-boot-spi/master

thanks!
-- 
Jagan.


More information about the U-Boot mailing list