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
11static const struct flash_info eon_nor_parts[] = {
12	{
13		.id = SNOR_ID(0x1c, 0x20, 0x16),
14		.name = "en25p32",
15		.size = SZ_4M,
16	}, {
17		.id = SNOR_ID(0x1c, 0x20, 0x17),
18		.name = "en25p64",
19		.size = SZ_8M,
20	}, {
21		.id = SNOR_ID(0x1c, 0x30, 0x14),
22		.name = "en25q80a",
23		.size = SZ_1M,
24		.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ,
25	}, {
26		.id = SNOR_ID(0x1c, 0x30, 0x16),
27		.name = "en25q32b",
28		.size = SZ_4M,
29	}, {
30		.id = SNOR_ID(0x1c, 0x30, 0x17),
31		.name = "en25q64",
32		.size = SZ_8M,
33		.no_sfdp_flags = SECT_4K,
34	}, {
35		.id = SNOR_ID(0x1c, 0x31, 0x16),
36		.name = "en25f32",
37		.size = SZ_4M,
38		.no_sfdp_flags = SECT_4K,
39	}, {
40		.name = "en25s64",
41		.id = SNOR_ID(0x1c, 0x38, 0x17),
42		.size = SZ_8M,
43		.no_sfdp_flags = SECT_4K,
44	}, {
45		.id = SNOR_ID(0x1c, 0x70, 0x15),
46		.name = "en25qh16",
47		.size = SZ_2M,
48		.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ,
49	}, {
50		.id = SNOR_ID(0x1c, 0x70, 0x16),
51		.name = "en25qh32",
52		.size = SZ_4M,
53	}, {
54		.id = SNOR_ID(0x1c, 0x70, 0x17),
55		.name = "en25qh64",
56		.size = SZ_8M,
57		.no_sfdp_flags = SECT_4K | SPI_NOR_DUAL_READ,
58	}, {
59		.id = SNOR_ID(0x1c, 0x70, 0x18),
60		.name = "en25qh128",
61		.size = SZ_16M,
62	}, {
63		.id = SNOR_ID(0x1c, 0x70, 0x19),
64		.name = "en25qh256",
65	},
66};
67
68const struct spi_nor_manufacturer spi_nor_eon = {
69	.name = "eon",
70	.parts = eon_nor_parts,
71	.nparts = ARRAY_SIZE(eon_nor_parts),
72};
73