18c2ecf20Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * Copyright (C) 2005, Intec Automation Inc. 48c2ecf20Sopenharmony_ci * Copyright (C) 2014, Freescale Semiconductor, Inc. 58c2ecf20Sopenharmony_ci */ 68c2ecf20Sopenharmony_ci 78c2ecf20Sopenharmony_ci#include <linux/mtd/spi-nor.h> 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#include "core.h" 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_cistatic const struct flash_info eon_parts[] = { 128c2ecf20Sopenharmony_ci /* EON -- en25xxx */ 138c2ecf20Sopenharmony_ci { "en25f32", INFO(0x1c3116, 0, 64 * 1024, 64, SECT_4K) }, 148c2ecf20Sopenharmony_ci { "en25p32", INFO(0x1c2016, 0, 64 * 1024, 64, 0) }, 158c2ecf20Sopenharmony_ci { "en25q32b", INFO(0x1c3016, 0, 64 * 1024, 64, 0) }, 168c2ecf20Sopenharmony_ci { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) }, 178c2ecf20Sopenharmony_ci { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, 188c2ecf20Sopenharmony_ci { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16, 198c2ecf20Sopenharmony_ci SECT_4K | SPI_NOR_DUAL_READ) }, 208c2ecf20Sopenharmony_ci { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32, 218c2ecf20Sopenharmony_ci SECT_4K | SPI_NOR_DUAL_READ) }, 228c2ecf20Sopenharmony_ci { "en25qh32", INFO(0x1c7016, 0, 64 * 1024, 64, 0) }, 238c2ecf20Sopenharmony_ci { "en25qh64", INFO(0x1c7017, 0, 64 * 1024, 128, 248c2ecf20Sopenharmony_ci SECT_4K | SPI_NOR_DUAL_READ) }, 258c2ecf20Sopenharmony_ci { "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) }, 268c2ecf20Sopenharmony_ci { "en25qh256", INFO(0x1c7019, 0, 64 * 1024, 512, 0) }, 278c2ecf20Sopenharmony_ci { "en25s64", INFO(0x1c3817, 0, 64 * 1024, 128, SECT_4K) }, 288c2ecf20Sopenharmony_ci}; 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ciconst struct spi_nor_manufacturer spi_nor_eon = { 318c2ecf20Sopenharmony_ci .name = "eon", 328c2ecf20Sopenharmony_ci .parts = eon_parts, 338c2ecf20Sopenharmony_ci .nparts = ARRAY_SIZE(eon_parts), 348c2ecf20Sopenharmony_ci}; 35