[U-Boot] [PATCH 3/5] sf: Use stm_lock/unlock for Spansion and Winbond
George McCollister
george.mccollister at gmail.com
Mon Oct 10 20:57:59 CEST 2016
Spansion parts such as S25FL128S and Winbond parts such as W25Q64FV
support the block protection mechanism implemented as
stm_lock() and stm_unlock(). Use stm_lock() and stm_unlock() for
Spansion and Winbond devices.
Signed-off-by: George McCollister <george.mccollister at gmail.com>
---
drivers/mtd/spi/spi_flash.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/mtd/spi/spi_flash.c b/drivers/mtd/spi/spi_flash.c
index 0e33901..392146b 100644
--- a/drivers/mtd/spi/spi_flash.c
+++ b/drivers/mtd/spi/spi_flash.c
@@ -664,7 +664,8 @@ int sst_write_bp(struct spi_flash *flash, u32 offset, size_t len,
}
#endif
-#if defined(CONFIG_SPI_FLASH_STMICRO) || defined(CONFIG_SPI_FLASH_SST)
+#if defined(CONFIG_SPI_FLASH_STMICRO) || defined(CONFIG_SPI_FLASH_SST) || \
+ defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
static void stm_get_locked_range(struct spi_flash *flash, u8 sr, loff_t *ofs,
u64 *len)
{
@@ -1160,8 +1161,16 @@ int spi_flash_scan(struct spi_flash *flash)
flash->flash_unlock = stm_unlock;
flash->flash_is_locked = stm_is_locked;
flash->sr_protect = stm_sr_protect;
+ break;
#endif
+#if defined(CONFIG_SPI_FLASH_SPANSION) || defined(CONFIG_SPI_FLASH_WINBOND)
+ case SPI_FLASH_CFI_MFR_SPANSION:
+ case SPI_FLASH_CFI_MFR_WINBOND:
+ flash->flash_lock = stm_lock;
+ flash->flash_unlock = stm_unlock;
+ flash->flash_is_locked = stm_is_locked;
break;
+#endif
default:
debug("SF: Lock ops not supported for %02x flash\n", idcode[0]);
}
--
2.9.3
More information about the U-Boot
mailing list