On 24 April 2015 at 17:21, Bin Meng <bmeng...@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...@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. _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot