Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.75 Removed upstream: bcm27xx/patches-6.12/950-0225-media-i2c-ov5647-Correct-pixel-array-offset.patch[1] bcm27xx/patches-6.12/950-0226-media-i2c-ov5647-Correct-minimum-VBLANK-value.patch[2] bcm27xx/patches-6.12/950-0248-media-i2c-ov5647-Sensor-should-report-RAW-color-spac.patch[3] qualcommax/patches-6.12/0074-v6.20-clk-qcom-gcc-ipq5018-flag-sleep-clock-as-critical.patch[4] Manually rebased: bcm27xx/patches-6.12/950-0262-mfd-simple-mfd-i2c-Add-configuration-for-RPi-POE-HAT.patch bcm27xx/patches-6.12/950-0071-drivers-mfd-sensehat-Add-Raspberry-Pi-Sense-HAT-to-s.patch bcm27xx/patches-6.12/950-0516-media-i2c-ov5647-Add-V4L2_CID_LINK_FREQUENCY-control.patch lantiq/patches-6.12/101-find_active_root.patch All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=58f1767ad5c9eda3dd0befddc1843259d46d64fa 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=ff65571ffae52b65577121e7696bf22156e1928a 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=fbf2a108ed5eb1c896d3f354bd05314c2e22e78f 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.75&id=b109dd4970a0fc89d54b1198b163f86125dd2977 Build system: x86/64 Build-tested: flogic/glinet_gl-mt6000 Run-tested: flogic/glinet_gl-mt6000 Co-authored-by: Shiji Yang <yangshiji66@outlook.com> Signed-off-by: John Audia <therealgraysky@proton.me> Link: https://github.com/openwrt/openwrt/pull/22276 Signed-off-by: Robert Marko <robimarko@gmail.com>
85 lines
3.2 KiB
Diff
85 lines
3.2 KiB
Diff
From b98994cb9bc24f5c7575c86650f96c384576fdfa Mon Sep 17 00:00:00 2001
|
|
From: Daniel Golle <daniel@makrotopia.org>
|
|
Date: Mon, 17 Nov 2025 02:54:19 +0000
|
|
Subject: [PATCH] mtd: spinand: esmt: add support for F50L1G41LC
|
|
|
|
This adds support for ESMT F50L1G41LC, which appears to be an updated
|
|
version of the already supported F50L1G41LB.
|
|
Add esmt_8c SPI_NAND manufacturer to account for the newly used vendor
|
|
ID with support for the ESMT F50L1G41LC chip.
|
|
|
|
Link: https://github.com/openwrt/openwrt/pull/15214#issuecomment-3514824435
|
|
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
|
|
---
|
|
drivers/mtd/nand/spi/core.c | 1 +
|
|
drivers/mtd/nand/spi/esmt.c | 24 ++++++++++++++++++++++++
|
|
include/linux/mtd/spinand.h | 1 +
|
|
3 files changed, 26 insertions(+)
|
|
|
|
--- a/drivers/mtd/nand/spi/core.c
|
|
+++ b/drivers/mtd/nand/spi/core.c
|
|
@@ -1184,6 +1184,7 @@ static const struct nand_ops spinand_ops
|
|
static const struct spinand_manufacturer *spinand_manufacturers[] = {
|
|
&alliancememory_spinand_manufacturer,
|
|
&ato_spinand_manufacturer,
|
|
+ &esmt_8c_spinand_manufacturer,
|
|
&esmt_c8_spinand_manufacturer,
|
|
&fmsh_spinand_manufacturer,
|
|
&foresee_spinand_manufacturer,
|
|
--- a/drivers/mtd/nand/spi/esmt.c
|
|
+++ b/drivers/mtd/nand/spi/esmt.c
|
|
@@ -11,6 +11,7 @@
|
|
|
|
/* ESMT uses GigaDevice 0xc8 JECDEC ID on some SPI NANDs */
|
|
#define SPINAND_MFR_ESMT_C8 0xc8
|
|
+#define SPINAND_MFR_ESMT_8C 0x8c
|
|
|
|
static SPINAND_OP_VARIANTS(read_cache_variants,
|
|
SPINAND_PAGE_READ_FROM_CACHE_X4_OP(0, 1, NULL, 0),
|
|
@@ -102,6 +103,19 @@ static const struct mtd_ooblayout_ops f5
|
|
.free = f50l1g41lb_ooblayout_free,
|
|
};
|
|
|
|
+
|
|
+static const struct spinand_info esmt_8c_spinand_table[] = {
|
|
+ SPINAND_INFO("F50L1G41LC",
|
|
+ SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x2C),
|
|
+ NAND_MEMORG(1, 2048, 64, 64, 1024, 20, 1, 1, 1),
|
|
+ NAND_ECCREQ(1, 512),
|
|
+ SPINAND_INFO_OP_VARIANTS(&read_cache_variants,
|
|
+ &write_cache_variants,
|
|
+ &update_cache_variants),
|
|
+ 0,
|
|
+ SPINAND_ECCINFO(&f50l1g41lb_ooblayout, NULL)),
|
|
+};
|
|
+
|
|
static const struct spinand_info esmt_c8_spinand_table[] = {
|
|
SPINAND_INFO("F50L1G41LB",
|
|
SPINAND_ID(SPINAND_READID_METHOD_OPCODE_ADDR, 0x01, 0x7f,
|
|
@@ -138,6 +152,14 @@ static const struct spinand_info esmt_c8
|
|
static const struct spinand_manufacturer_ops esmt_spinand_manuf_ops = {
|
|
};
|
|
|
|
+const struct spinand_manufacturer esmt_8c_spinand_manufacturer = {
|
|
+ .id = SPINAND_MFR_ESMT_8C,
|
|
+ .name = "ESMT",
|
|
+ .chips = esmt_8c_spinand_table,
|
|
+ .nchips = ARRAY_SIZE(esmt_8c_spinand_table),
|
|
+ .ops = &esmt_spinand_manuf_ops,
|
|
+};
|
|
+
|
|
const struct spinand_manufacturer esmt_c8_spinand_manufacturer = {
|
|
.id = SPINAND_MFR_ESMT_C8,
|
|
.name = "ESMT",
|
|
--- a/include/linux/mtd/spinand.h
|
|
+++ b/include/linux/mtd/spinand.h
|
|
@@ -262,6 +262,7 @@ struct spinand_manufacturer {
|
|
/* SPI NAND manufacturers */
|
|
extern const struct spinand_manufacturer alliancememory_spinand_manufacturer;
|
|
extern const struct spinand_manufacturer ato_spinand_manufacturer;
|
|
+extern const struct spinand_manufacturer esmt_8c_spinand_manufacturer;
|
|
extern const struct spinand_manufacturer esmt_c8_spinand_manufacturer;
|
|
extern const struct spinand_manufacturer fmsh_spinand_manufacturer;
|
|
extern const struct spinand_manufacturer foresee_spinand_manufacturer;
|