From 76467f2e056cc1b429cd4c2d762bb81996e104dd Mon Sep 17 00:00:00 2001 From: Hari Prasath Gujulan Elango Date: Wed, 14 May 2025 15:31:06 +0530 Subject: [PATCH 1/2] Makefile: Prepare 4.0.11-rc2 Signed-off-by: Hari Prasath Gujulan Elango --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b22a93cc..a87c8d6b 100644 --- a/Makefile +++ b/Makefile @@ -54,7 +54,7 @@ else BUILD_DATE := $(shell $(DATE) "$(DATE_FMT)") endif endif -export VERSION := v4.0.11-rc1 +export VERSION := v4.0.11-rc2 REVISION := ifdef NIX_SHELL SCMINFO := $(shell (host-utilities/setlocalversion)) From 1a75e18bee2eb237b4d6f5f1a98233c2b6fe6957 Mon Sep 17 00:00:00 2001 From: Zixun LI Date: Wed, 4 Jun 2025 11:11:34 +0200 Subject: [PATCH 2/2] driver: spiflash: add ISSI IS25 family support Add support to load image from ISSI IS25 family SPI NOR flash. Signed-off-by: Zixun LI --- driver/spi_flash.c | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/driver/spi_flash.c b/driver/spi_flash.c index 2914d0d5..5e94eb29 100644 --- a/driver/spi_flash.c +++ b/driver/spi_flash.c @@ -24,6 +24,7 @@ #define MANUFACTURER_ID_ATMEL 0x1f #define MANUFACTURER_ID_MICRON 0x20 #define MANUFACTURER_ID_WINBOND 0xef +#define MANUFACTURER_ID_ISSI 0x9d /* Family Code */ #define DF_FAMILY_AT26F 0x00 @@ -33,6 +34,10 @@ #define DF_FAMILY_N25Q 0xA0 #define DF_FAMILY_M25P 0x20 +#define DF_FAMILY_IS25LP 0x60 +#define DF_FAMILY_IS25WP 0x70 +#define DF_FAMILY_IS25LQ 0x40 + /* AT45 Density Code */ #define DENSITY_AT45DB011D 0x0C #define DENSITY_AT45DB021D 0x14 @@ -559,8 +564,8 @@ static int df_desc_init(struct dataflash_descriptor *df_desc, unsigned char vend df_desc->family = family; switch ( vendor ) { - case MANUFACTURER_ID_ATMEL: { + case MANUFACTURER_ID_ATMEL: { if ((df_desc->family == DF_FAMILY_AT26F) || (df_desc->family == DF_FAMILY_AT26DF)) { ret = df_at25_desc_init(df_desc); @@ -594,6 +599,27 @@ static int df_desc_init(struct dataflash_descriptor *df_desc, unsigned char vend } break; + case MANUFACTURER_ID_ISSI:{ + + if (df_desc->family == DF_FAMILY_IS25LP) { + ret = df_n25q_desc_init(df_desc); + if (ret) + return ret; + } else if (df_desc->family == DF_FAMILY_IS25WP) { + ret = df_n25q_desc_init(df_desc); + if (ret) + return ret; + } else if (df_desc->family == DF_FAMILY_IS25LQ) { + ret = df_n25q_desc_init(df_desc); + if (ret) + return ret; + }else { + dbg_info("SF: Unsupported SerialFlash family %x\n", family); + return -1; + } + } + break; + default: dbg_info("SF: Unsupported Manufactorer ID %x\n", vendor); return -1; @@ -625,7 +651,8 @@ static int dataflash_probe_atmel(struct dataflash_descriptor *df_desc) if (dev_id[0] != MANUFACTURER_ID_ATMEL && dev_id[0] != MANUFACTURER_ID_WINBOND && - dev_id[0] != MANUFACTURER_ID_MICRON) { + dev_id[0] != MANUFACTURER_ID_MICRON && + dev_id[0] != MANUFACTURER_ID_ISSI) { dbg_info("Not supported spi flash Manufactorer ID: %x\n", dev_id[0]); return -1;