sf: Add lock ops for SST SPI NOR flash

SST SPI NOR flash has the same locking programming bits
as ST Micro - added support for it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
[Minor change on commit message]
Signed-off-by: Jagan Teki <jteki@openedev.com>
Reviewed-by: Jagan Teki <jteki@openedev.com>
This commit is contained in:
Fabio Estevam 2015-11-17 16:50:53 -02:00 committed by Jagan Teki
parent 7693fb3756
commit 5168721e58
3 changed files with 5 additions and 3 deletions

View File

@ -64,6 +64,7 @@ enum spi_nor_option_flags {
#define SPI_FLASH_CFI_MFR_SPANSION 0x01 #define SPI_FLASH_CFI_MFR_SPANSION 0x01
#define SPI_FLASH_CFI_MFR_STMICRO 0x20 #define SPI_FLASH_CFI_MFR_STMICRO 0x20
#define SPI_FLASH_CFI_MFR_MACRONIX 0xc2 #define SPI_FLASH_CFI_MFR_MACRONIX 0xc2
#define SPI_FLASH_CFI_MFR_SST 0xbf
#define SPI_FLASH_CFI_MFR_WINBOND 0xef #define SPI_FLASH_CFI_MFR_WINBOND 0xef
/* Erase commands */ /* Erase commands */

View File

@ -583,7 +583,7 @@ int sst_write_bp(struct spi_flash *flash, u32 offset, size_t len,
} }
#endif #endif
#ifdef CONFIG_SPI_FLASH_STMICRO #if defined(CONFIG_SPI_FLASH_STMICRO) || defined(CONFIG_SPI_FLASH_SST)
static void stm_get_locked_range(struct spi_flash *flash, u8 sr, loff_t *ofs, static void stm_get_locked_range(struct spi_flash *flash, u8 sr, loff_t *ofs,
u32 *len) u32 *len)
{ {
@ -750,4 +750,4 @@ int stm_unlock(struct spi_flash *flash, u32 ofs, size_t len)
return 0; return 0;
} }
#endif /* CONFIG_SPI_FLASH_STMICRO */ #endif

View File

@ -184,8 +184,9 @@ static int spi_flash_validate_params(struct spi_slave *spi, u8 *idcode,
/* lock hooks are flash specific - assign them based on idcode0 */ /* lock hooks are flash specific - assign them based on idcode0 */
switch (idcode[0]) { switch (idcode[0]) {
#ifdef CONFIG_SPI_FLASH_STMICRO #if defined(CONFIG_SPI_FLASH_STMICRO) || defined(CONFIG_SPI_FLASH_SST)
case SPI_FLASH_CFI_MFR_STMICRO: case SPI_FLASH_CFI_MFR_STMICRO:
case SPI_FLASH_CFI_MFR_SST:
flash->flash_lock = stm_lock; flash->flash_lock = stm_lock;
flash->flash_unlock = stm_unlock; flash->flash_unlock = stm_unlock;
flash->flash_is_locked = stm_is_locked; flash->flash_is_locked = stm_is_locked;