public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH] mtd: spi-nor: cypress: Add support for CY15V104QSN
@ 2026-04-29 13:58 Fabian Pflug
  2026-04-29 14:14 ` Michael Walle
  0 siblings, 1 reply; 2+ messages in thread
From: Fabian Pflug @ 2026-04-29 13:58 UTC (permalink / raw)
  To: Tudor Ambarus, Pratyush Yadav, Michael Walle, Miquel Raynal,
	Richard Weinberger, Vignesh Raghavendra
  Cc: linux-kernel, linux-mtd, kernel, Fabian Pflug

Infineon CY15V104QSN is an FRAM Chip with Quad-SPI interface, a size of
4Mb and a nominal Voltage of 1.8V
It should be the same as CY15B104QSN, just with a different Voltage
range. (3.0V)

Cypress is an Infineon company. The FRAM was originally developed by
Cypress.

Link: https://www.infineon.com/assets/row/public/documents/10/49/infineon-cy15b104qsn-cy15v104qsn-4mb-excelon-ultra-ferroelectric-ram-f-ram-serial-quad-spi-512k-8-108-mhz-industrial-datasheet-en.pdf
Signed-off-by: Fabian Pflug <f.pflug@pengutronix.de>
---
 drivers/mtd/spi-nor/Makefile  |  1 +
 drivers/mtd/spi-nor/core.c    |  1 +
 drivers/mtd/spi-nor/core.h    |  1 +
 drivers/mtd/spi-nor/cypress.c | 24 ++++++++++++++++++++++++
 4 files changed, 27 insertions(+)

diff --git a/drivers/mtd/spi-nor/Makefile b/drivers/mtd/spi-nor/Makefile
index 5dd9c35f6b6f8..73267677c22ad 100644
--- a/drivers/mtd/spi-nor/Makefile
+++ b/drivers/mtd/spi-nor/Makefile
@@ -2,6 +2,7 @@
 
 spi-nor-objs			:= core.o sfdp.o swp.o otp.o sysfs.o
 spi-nor-objs			+= atmel.o
+spi-nor-objs			+= cypress.o
 spi-nor-objs			+= eon.o
 spi-nor-objs			+= esmt.o
 spi-nor-objs			+= everspin.o
diff --git a/drivers/mtd/spi-nor/core.c b/drivers/mtd/spi-nor/core.c
index 20ea80450f222..b52219216f872 100644
--- a/drivers/mtd/spi-nor/core.c
+++ b/drivers/mtd/spi-nor/core.c
@@ -1941,6 +1941,7 @@ int spi_nor_sr2_bit7_quad_enable(struct spi_nor *nor)
 
 static const struct spi_nor_manufacturer *manufacturers[] = {
 	&spi_nor_atmel,
+	&spi_nor_cypress,
 	&spi_nor_eon,
 	&spi_nor_esmt,
 	&spi_nor_everspin,
diff --git a/drivers/mtd/spi-nor/core.h b/drivers/mtd/spi-nor/core.h
index ceff412f7d65a..95b09ca981c8b 100644
--- a/drivers/mtd/spi-nor/core.h
+++ b/drivers/mtd/spi-nor/core.h
@@ -585,6 +585,7 @@ struct sfdp {
 
 /* Manufacturer drivers. */
 extern const struct spi_nor_manufacturer spi_nor_atmel;
+extern const struct spi_nor_manufacturer spi_nor_cypress;
 extern const struct spi_nor_manufacturer spi_nor_eon;
 extern const struct spi_nor_manufacturer spi_nor_esmt;
 extern const struct spi_nor_manufacturer spi_nor_everspin;
diff --git a/drivers/mtd/spi-nor/cypress.c b/drivers/mtd/spi-nor/cypress.c
new file mode 100644
index 0000000000000..20079d3338e73
--- /dev/null
+++ b/drivers/mtd/spi-nor/cypress.c
@@ -0,0 +1,24 @@
+// SPDX-License-Identifier: GPL-2.0-only
+/*
+ * Copyright (C) 2026 Pengutronix, Fabian Pflug <kernel@pengutronix.de>
+ */
+
+#include <linux/mtd/spi-nor.h>
+
+#include "core.h"
+
+static const struct flash_info cypress_nor_parts[] = {
+	{
+		.id = SNOR_ID(0x50, 0x51, 0x80, 0x06),
+		.name = "cy15x104qs",
+		.size = SZ_512K,
+		.sector_size = SZ_512K,
+		.flags = SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_NO_ERASE,
+	}
+};
+
+const struct spi_nor_manufacturer spi_nor_cypress = {
+	.name = "cypress",
+	.parts = cypress_nor_parts,
+	.nparts = ARRAY_SIZE(cypress_nor_parts),
+};

---
base-commit: 7d0a66e4bb9081d75c82ec4957c50034cb0ea449
change-id: 20260429-v6-18-topic-infineon_fram-8404ffbae826

Best regards,
-- 
Fabian Pflug <f.pflug@pengutronix.de>


______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] mtd: spi-nor: cypress: Add support for CY15V104QSN
  2026-04-29 13:58 [PATCH] mtd: spi-nor: cypress: Add support for CY15V104QSN Fabian Pflug
@ 2026-04-29 14:14 ` Michael Walle
  0 siblings, 0 replies; 2+ messages in thread
From: Michael Walle @ 2026-04-29 14:14 UTC (permalink / raw)
  To: Fabian Pflug, Tudor Ambarus, Pratyush Yadav, Miquel Raynal,
	Richard Weinberger, Vignesh Raghavendra
  Cc: linux-kernel, linux-mtd, kernel


[-- Attachment #1.1: Type: text/plain, Size: 563 bytes --]

Hi Fabian,

On Wed Apr 29, 2026 at 3:58 PM CEST, Fabian Pflug wrote:
> Infineon CY15V104QSN is an FRAM Chip with Quad-SPI interface, a size of
> 4Mb and a nominal Voltage of 1.8V
> It should be the same as CY15B104QSN, just with a different Voltage
> range. (3.0V)

Please have a look at the at25 driver. This isn't a flash as it
doesn't have (not even an emulated) erase command and there are no
erase blocks. (And I really like to get rid of the NO_ERASE flag.)

Btw, you seem to have an old linux kernel with an outdated
MAINTAINERS.

-michael

[-- Attachment #1.2: signature.asc --]
[-- Type: application/pgp-signature, Size: 297 bytes --]

[-- Attachment #2: Type: text/plain, Size: 144 bytes --]

______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2026-04-29 14:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-29 13:58 [PATCH] mtd: spi-nor: cypress: Add support for CY15V104QSN Fabian Pflug
2026-04-29 14:14 ` Michael Walle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox