GNU Linux-libre 6.8.7-gnu
[releases.git] / drivers / mtd / spi-nor / eon.c
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 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
68 const struct spi_nor_manufacturer spi_nor_eon = {
69         .name = "eon",
70         .parts = eon_nor_parts,
71         .nparts = ARRAY_SIZE(eon_nor_parts),
72 };