1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun * Copyright (C) 2005, Intec Automation Inc.
4*4882a593Smuzhiyun * Copyright (C) 2014, Freescale Semiconductor, Inc.
5*4882a593Smuzhiyun */
6*4882a593Smuzhiyun
7*4882a593Smuzhiyun #include <linux/mtd/spi-nor.h>
8*4882a593Smuzhiyun
9*4882a593Smuzhiyun #include "core.h"
10*4882a593Smuzhiyun
11*4882a593Smuzhiyun static const struct flash_info intel_parts[] = {
12*4882a593Smuzhiyun /* Intel/Numonyx -- xxxs33b */
13*4882a593Smuzhiyun { "160s33b", INFO(0x898911, 0, 64 * 1024, 32, 0) },
14*4882a593Smuzhiyun { "320s33b", INFO(0x898912, 0, 64 * 1024, 64, 0) },
15*4882a593Smuzhiyun { "640s33b", INFO(0x898913, 0, 64 * 1024, 128, 0) },
16*4882a593Smuzhiyun };
17*4882a593Smuzhiyun
intel_default_init(struct spi_nor * nor)18*4882a593Smuzhiyun static void intel_default_init(struct spi_nor *nor)
19*4882a593Smuzhiyun {
20*4882a593Smuzhiyun nor->flags |= SNOR_F_HAS_LOCK;
21*4882a593Smuzhiyun }
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun static const struct spi_nor_fixups intel_fixups = {
24*4882a593Smuzhiyun .default_init = intel_default_init,
25*4882a593Smuzhiyun };
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun const struct spi_nor_manufacturer spi_nor_intel = {
28*4882a593Smuzhiyun .name = "intel",
29*4882a593Smuzhiyun .parts = intel_parts,
30*4882a593Smuzhiyun .nparts = ARRAY_SIZE(intel_parts),
31*4882a593Smuzhiyun .fixups = &intel_fixups,
32*4882a593Smuzhiyun };
33