xref: /OK3568_Linux_fs/kernel/drivers/mtd/spi-nor/esmt.c (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (C) 2005, Intec Automation Inc.
4  * Copyright (C) 2014, Freescale Semiconductor, Inc.
5  */
6 
7 #include <linux/mtd/spi-nor.h>
8 
9 #include "core.h"
10 
11 static const struct flash_info esmt_parts[] = {
12 	/* ESMT */
13 	{ "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64,
14 			   SECT_4K | SPI_NOR_HAS_LOCK) },
15 	{ "f25l32qa", INFO(0x8c4116, 0, 64 * 1024, 64,
16 			   SECT_4K | SPI_NOR_HAS_LOCK) },
17 	{ "f25l64qa", INFO(0x8c4117, 0, 64 * 1024, 128,
18 			   SECT_4K | SPI_NOR_HAS_LOCK) },
19 	{ "en25qh128",
20 		INFO(0x1c7018, 0, 64 * 1024, 256, SECT_4K) },
21 	{ "en25s64",
22 		INFO(0x1c3817, 0, 64 * 1024, 128, SECT_4K) },
23 	{ "en25qh256a",
24 		INFO(0x1c7019, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
25 	{ "en25qx256a",
26 		INFO(0x1c7119, 0, 64 * 1024, 512, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ | SPI_NOR_4B_OPCODES) },
27 	{ "en25qx128a",
28 		INFO(0x1c7118, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
29 };
30 
31 const struct spi_nor_manufacturer spi_nor_esmt = {
32 	.name = "esmt",
33 	.parts = esmt_parts,
34 	.nparts = ARRAY_SIZE(esmt_parts),
35 };
36