--- a/target/linux/generic/config-5.15 +++ b/target/linux/generic/config-5.15 @@ -3853,8 +3853,8 @@ # CONFIG_MTD_SPINAND_MT29F is not set # CONFIG_MTD_SPI_NAND is not set # CONFIG_MTD_SPI_NOR is not set -# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set -CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y +CONFIG_MTD_SPI_NOR_SWP_DISABLE=y +# CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE is not set # CONFIG_MTD_SPI_NOR_SWP_KEEP is not set # CONFIG_MTD_SPI_NOR_USE_4K_SECTORS is not set # CONFIG_MTD_SPI_NOR_USE_VARIABLE_ERASE is not set --- /dev/null +++ b/target/linux/generic/backport-5.15/420-flash-fixes.patch @@ -0,0 +1,11 @@ +--- a/drivers/mtd/spi-nor/spansion.c ++++ b/drivers/mtd/spi-nor/spansion.c +@@ -254,7 +254,7 @@ + { "s25fl016k", INFO(0xef4015, 0, 64 * 1024, 32, + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "s25fl064k", INFO(0xef4017, 0, 64 * 1024, 128, +- SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, ++ SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_HAS_LOCK) }, + { "s25fl116k", INFO(0x014015, 0, 64 * 1024, 32, + SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, + { "s25fl132k", INFO(0x014016, 0, 64 * 1024, 64, SECT_4K) }, --- /dev/null +++ b/target/linux/ath79/patches-5.15/941-mikrotik-nand-flash.patch @@ -0,0 +1,11 @@ +--- a/drivers/mtd/nand/raw/nand_amd.c ++++ b/drivers/mtd/nand/raw/nand_amd.c +@@ -44,6 +44,8 @@ + chip->options |= NAND_BBM_FIRSTPAGE | NAND_BBM_SECONDPAGE | + NAND_BBM_LASTPAGE; + ++ chip->options |= NAND_NO_SUBPAGE_WRITE; ++ + return 0; + } +