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 | }; |
73 | |