diff mbox

[U-Boot,v2] sf_probe: Add lock ops for SST SPI NOR flash

Message ID 1447784974-8813-1-git-send-email-festevam@gmail.com
State Superseded
Delegated to: Jagannadha Sutradharudu Teki
Headers show

Commit Message

Fabio Estevam Nov. 17, 2015, 6:29 p.m. UTC
From: Fabio Estevam <fabio.estevam@freescale.com>

SST SPI NOR flash has the same locking programming bits as ST Micro.

Add support for it.

Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
---
Changes since v1:
- Also add SST defined in sf_ops (Jagan)

 drivers/mtd/spi/sf_internal.h | 1 +
 drivers/mtd/spi/sf_ops.c      | 4 ++--
 drivers/mtd/spi/sf_probe.c    | 3 ++-
 3 files changed, 5 insertions(+), 3 deletions(-)

Comments

Jagan Teki Nov. 17, 2015, 6:48 p.m. UTC | #1
On 17 November 2015 at 23:59, Fabio Estevam <festevam@gmail.com> wrote:
> From: Fabio Estevam <fabio.estevam@freescale.com>
>
> SST SPI NOR flash has the same locking programming bits as ST Micro.
>
> Add support for it.
>
> Signed-off-by: Fabio Estevam <fabio.estevam@freescale.com>
> ---

Reviewed-by: Jagan Teki <jteki@openedev.com>

> Changes since v1:
> - Also add SST defined in sf_ops (Jagan)
>
>  drivers/mtd/spi/sf_internal.h | 1 +
>  drivers/mtd/spi/sf_ops.c      | 4 ++--
>  drivers/mtd/spi/sf_probe.c    | 3 ++-
>  3 files changed, 5 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/mtd/spi/sf_internal.h b/drivers/mtd/spi/sf_internal.h
> index 8793f18..85c8a89 100644
> --- a/drivers/mtd/spi/sf_internal.h
> +++ b/drivers/mtd/spi/sf_internal.h
> @@ -64,6 +64,7 @@ enum spi_nor_option_flags {
>  #define SPI_FLASH_CFI_MFR_SPANSION     0x01
>  #define SPI_FLASH_CFI_MFR_STMICRO      0x20
>  #define SPI_FLASH_CFI_MFR_MACRONIX     0xc2
> +#define SPI_FLASH_CFI_MFR_SST          0xbf
>  #define SPI_FLASH_CFI_MFR_WINBOND      0xef
>
>  /* Erase commands */
> diff --git a/drivers/mtd/spi/sf_ops.c b/drivers/mtd/spi/sf_ops.c
> index 6cc2d31..f045471 100644
> --- a/drivers/mtd/spi/sf_ops.c
> +++ b/drivers/mtd/spi/sf_ops.c
> @@ -583,7 +583,7 @@ int sst_write_bp(struct spi_flash *flash, u32 offset, size_t len,
>  }
>  #endif
>
> -#ifdef CONFIG_SPI_FLASH_STMICRO
> +#if defined CONFIG_SPI_FLASH_STMICRO || defined CONFIG_SPI_FLASH_SST

#if defined(CONFIG_SPI_FLASH_STMICRO) || defined(CONFIG_SPI_FLASH_SST)
this look more readable - comments?

thanks!
diff mbox

Patch

diff --git a/drivers/mtd/spi/sf_internal.h b/drivers/mtd/spi/sf_internal.h
index 8793f18..85c8a89 100644
--- a/drivers/mtd/spi/sf_internal.h
+++ b/drivers/mtd/spi/sf_internal.h
@@ -64,6 +64,7 @@  enum spi_nor_option_flags {
 #define SPI_FLASH_CFI_MFR_SPANSION	0x01
 #define SPI_FLASH_CFI_MFR_STMICRO	0x20
 #define SPI_FLASH_CFI_MFR_MACRONIX	0xc2
+#define SPI_FLASH_CFI_MFR_SST		0xbf
 #define SPI_FLASH_CFI_MFR_WINBOND	0xef
 
 /* Erase commands */
diff --git a/drivers/mtd/spi/sf_ops.c b/drivers/mtd/spi/sf_ops.c
index 6cc2d31..f045471 100644
--- a/drivers/mtd/spi/sf_ops.c
+++ b/drivers/mtd/spi/sf_ops.c
@@ -583,7 +583,7 @@  int sst_write_bp(struct spi_flash *flash, u32 offset, size_t len,
 }
 #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,
 				 u32 *len)
 {
@@ -756,4 +756,4 @@  int stm_unlock(struct spi_flash *flash, u32 ofs, size_t len)
 
 	return 0;
 }
-#endif  /* CONFIG_SPI_FLASH_STMICRO */
+#endif
diff --git a/drivers/mtd/spi/sf_probe.c b/drivers/mtd/spi/sf_probe.c
index bc05d30..fea6c24 100644
--- a/drivers/mtd/spi/sf_probe.c
+++ b/drivers/mtd/spi/sf_probe.c
@@ -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 */
 	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_SST:
 		flash->flash_lock = stm_lock;
 		flash->flash_unlock = stm_unlock;
 		flash->flash_is_locked = stm_is_locked;