mirror of
				https://github.com/Ysurac/openmptcprouter.git
				synced 2025-03-09 15:40:20 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			81 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
	
		
			2.7 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
From patchwork Thu Feb  6 17:19:41 2020
 | 
						|
Content-Type: text/plain; charset="utf-8"
 | 
						|
MIME-Version: 1.0
 | 
						|
Content-Transfer-Encoding: 7bit
 | 
						|
X-Patchwork-Submitter: Daniel Golle <daniel@makrotopia.org>
 | 
						|
X-Patchwork-Id: 1234465
 | 
						|
Date: Thu, 6 Feb 2020 19:19:41 +0200
 | 
						|
From: Daniel Golle <daniel@makrotopia.org>
 | 
						|
To: linux-mtd@lists.infradead.org
 | 
						|
Subject: [PATCH v2] mtd: spi-nor: Add support for xt25f128b chip
 | 
						|
Message-ID: <20200206171941.GA2398@makrotopia.org>
 | 
						|
MIME-Version: 1.0
 | 
						|
Content-Disposition: inline
 | 
						|
List-Subscribe: <http://lists.infradead.org/mailman/listinfo/linux-mtd>,
 | 
						|
 <mailto:linux-mtd-request@lists.infradead.org?subject=subscribe>
 | 
						|
Cc: Eitan Cohen <eitan@neot-semadar.com>, Piotr Dymacz <pepe2k@gmail.com>,
 | 
						|
 Tudor Ambarus <tudor.ambarus@microchip.com>
 | 
						|
Sender: "linux-mtd" <linux-mtd-bounces@lists.infradead.org>
 | 
						|
Errors-To: linux-mtd-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org
 | 
						|
 | 
						|
Add XT25F128B made by XTX Technology (Shenzhen) Limited.
 | 
						|
This chip supports dual and quad read and uniform 4K-byte erase.
 | 
						|
Verified on Teltonika RUT955 which comes with XT25F128B in recent
 | 
						|
versions of the device.
 | 
						|
 | 
						|
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
 | 
						|
Signed-off-by: Felix Fietkau <nbd@nbd.name>
 | 
						|
---
 | 
						|
 drivers/mtd/spi-nor/spi-nor.c | 4 ++++
 | 
						|
 1 file changed, 4 insertions(+)
 | 
						|
 | 
						|
--- a/drivers/mtd/spi-nor/Makefile
 | 
						|
+++ b/drivers/mtd/spi-nor/Makefile
 | 
						|
@@ -17,6 +17,7 @@ spi-nor-objs			+= sst.o
 | 
						|
 spi-nor-objs			+= winbond.o
 | 
						|
 spi-nor-objs			+= xilinx.o
 | 
						|
 spi-nor-objs			+= xmc.o
 | 
						|
+spi-nor-objs			+= xtx.o
 | 
						|
 spi-nor-$(CONFIG_DEBUG_FS)	+= debugfs.o
 | 
						|
 obj-$(CONFIG_MTD_SPI_NOR)	+= spi-nor.o
 | 
						|
 
 | 
						|
--- /dev/null
 | 
						|
+++ b/drivers/mtd/spi-nor/xtx.c
 | 
						|
@@ -0,0 +1,17 @@
 | 
						|
+// SPDX-License-Identifier: GPL-2.0
 | 
						|
+#include <linux/mtd/spi-nor.h>
 | 
						|
+
 | 
						|
+#include "core.h"
 | 
						|
+
 | 
						|
+static const struct flash_info xtx_parts[] = {
 | 
						|
+	/* XTX Technology (Shenzhen) Limited */
 | 
						|
+	{ "xt25f128b", INFO(0x0B4018, 0, 64 * 1024, 256)
 | 
						|
+		NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ |
 | 
						|
+			      SPI_NOR_QUAD_READ) },
 | 
						|
+};
 | 
						|
+
 | 
						|
+const struct spi_nor_manufacturer spi_nor_xtx = {
 | 
						|
+	.name = "xtx",
 | 
						|
+	.parts = xtx_parts,
 | 
						|
+	.nparts = ARRAY_SIZE(xtx_parts),
 | 
						|
+};
 | 
						|
--- a/drivers/mtd/spi-nor/core.c
 | 
						|
+++ b/drivers/mtd/spi-nor/core.c
 | 
						|
@@ -1636,6 +1636,7 @@ static const struct spi_nor_manufacturer
 | 
						|
 	&spi_nor_winbond,
 | 
						|
 	&spi_nor_xilinx,
 | 
						|
 	&spi_nor_xmc,
 | 
						|
+	&spi_nor_xtx,
 | 
						|
 };
 | 
						|
 
 | 
						|
 static const struct flash_info *spi_nor_match_id(struct spi_nor *nor,
 | 
						|
--- a/drivers/mtd/spi-nor/core.h
 | 
						|
+++ b/drivers/mtd/spi-nor/core.h
 | 
						|
@@ -633,6 +633,7 @@ extern const struct spi_nor_manufacturer
 | 
						|
 extern const struct spi_nor_manufacturer spi_nor_winbond;
 | 
						|
 extern const struct spi_nor_manufacturer spi_nor_xilinx;
 | 
						|
 extern const struct spi_nor_manufacturer spi_nor_xmc;
 | 
						|
+extern const struct spi_nor_manufacturer spi_nor_xtx;
 | 
						|
 
 | 
						|
 extern const struct attribute_group *spi_nor_sysfs_groups[];
 | 
						|
 
 |