// SPDX-License-Identifier: GPL-2.0 /* * Copyright (C) 2005, Intec Automation Inc. * Copyright (C) 2014, Freescale Semiconductor, Inc. */ #include #include "core.h" static void en25qh256_post_sfdp_fixups(struct spi_nor *nor) { if (nor->params->hwcaps.mask & SNOR_HWCAPS_READ_1_1_4) nor->flags |= SNOR_F_4B_OPCODES; } static const struct spi_nor_fixups en25qh256_fixups = { .post_sfdp = en25qh256_post_sfdp_fixups, }; static const struct flash_info eon_parts[] = { /* EON -- en25xxx */ { "en25f32", INFO(0x1c3116, 0, 64 * 1024, 64, SECT_4K) }, { "en25p32", INFO(0x1c2016, 0, 64 * 1024, 64, 0) }, { "en25q32b", INFO(0x1c3016, 0, 64 * 1024, 64, 0) }, { "en25p64", INFO(0x1c2017, 0, 64 * 1024, 128, 0) }, { "en25q64", INFO(0x1c3017, 0, 64 * 1024, 128, SECT_4K) }, { "en25q128", INFO(0x1c3018, 0, 64 * 1024, 256, SECT_4K) }, { "en25qx128a", INFO(0x1c7118, 0, 64 * 1024, 256, 0) }, { "en25q80a", INFO(0x1c3014, 0, 64 * 1024, 16, SECT_4K | SPI_NOR_DUAL_READ) }, { "en25qh16", INFO(0x1c7015, 0, 64 * 1024, 32, SECT_4K | SPI_NOR_DUAL_READ) }, { "en25qh32", INFO(0x1c7016, 0, 64 * 1024, 64, 0) }, { "en25qh64", INFO(0x1c7017, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_DUAL_READ) }, { "en25qh128", INFO(0x1c7018, 0, 64 * 1024, 256, 0) }, { "en25qh256", INFO(0x1c7019, 0, 64 * 1024, 512, SPI_NOR_DUAL_READ) .fixups = &en25qh256_fixups }, { "en25s64", INFO(0x1c3817, 0, 64 * 1024, 128, SECT_4K) }, }; const struct spi_nor_manufacturer spi_nor_eon = { .name = "eon", .parts = eon_parts, .nparts = ARRAY_SIZE(eon_parts), };