mtd: spi-nor: Move ESMT bits out of core.c
Create a SPI NOR manufacturer driver for ESMT chips, and move the ESMT definitions outside of core.c. Signed-off-by: Boris Brezillon <bbrezillon@kernel.org> Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com>
This commit is contained in:
Родитель
d22a3be613
Коммит
74c7e0e3b9
|
@ -3,4 +3,5 @@
|
||||||
spi-nor-objs := core.o sfdp.o
|
spi-nor-objs := core.o sfdp.o
|
||||||
spi-nor-objs += atmel.o
|
spi-nor-objs += atmel.o
|
||||||
spi-nor-objs += eon.o
|
spi-nor-objs += eon.o
|
||||||
|
spi-nor-objs += esmt.o
|
||||||
obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o
|
obj-$(CONFIG_MTD_SPI_NOR) += spi-nor.o
|
||||||
|
|
|
@ -2081,11 +2081,6 @@ static struct spi_nor_fixups gd25q256_fixups = {
|
||||||
* old entries may be missing 4K flag.
|
* old entries may be missing 4K flag.
|
||||||
*/
|
*/
|
||||||
static const struct flash_info spi_nor_ids[] = {
|
static const struct flash_info spi_nor_ids[] = {
|
||||||
/* ESMT */
|
|
||||||
{ "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64, SECT_4K | SPI_NOR_HAS_LOCK) },
|
|
||||||
{ "f25l32qa", INFO(0x8c4116, 0, 64 * 1024, 64, SECT_4K | SPI_NOR_HAS_LOCK) },
|
|
||||||
{ "f25l64qa", INFO(0x8c4117, 0, 64 * 1024, 128, SECT_4K | SPI_NOR_HAS_LOCK) },
|
|
||||||
|
|
||||||
/* Everspin */
|
/* Everspin */
|
||||||
{ "mr25h128", CAT25_INFO( 16 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
{ "mr25h128", CAT25_INFO( 16 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||||
{ "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
{ "mr25h256", CAT25_INFO( 32 * 1024, 1, 256, 2, SPI_NOR_NO_ERASE | SPI_NOR_NO_FR) },
|
||||||
|
@ -2441,6 +2436,7 @@ static const struct flash_info spi_nor_ids[] = {
|
||||||
static const struct spi_nor_manufacturer *manufacturers[] = {
|
static const struct spi_nor_manufacturer *manufacturers[] = {
|
||||||
&spi_nor_atmel,
|
&spi_nor_atmel,
|
||||||
&spi_nor_eon,
|
&spi_nor_eon,
|
||||||
|
&spi_nor_esmt,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const struct flash_info *
|
static const struct flash_info *
|
||||||
|
|
|
@ -169,6 +169,7 @@ struct spi_nor_manufacturer {
|
||||||
/* Manufacturer drivers. */
|
/* Manufacturer drivers. */
|
||||||
extern const struct spi_nor_manufacturer spi_nor_atmel;
|
extern const struct spi_nor_manufacturer spi_nor_atmel;
|
||||||
extern const struct spi_nor_manufacturer spi_nor_eon;
|
extern const struct spi_nor_manufacturer spi_nor_eon;
|
||||||
|
extern const struct spi_nor_manufacturer spi_nor_esmt;
|
||||||
|
|
||||||
int spi_nor_write_enable(struct spi_nor *nor);
|
int spi_nor_write_enable(struct spi_nor *nor);
|
||||||
int spi_nor_write_disable(struct spi_nor *nor);
|
int spi_nor_write_disable(struct spi_nor *nor);
|
||||||
|
|
|
@ -0,0 +1,25 @@
|
||||||
|
// SPDX-License-Identifier: GPL-2.0
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2005, Intec Automation Inc.
|
||||||
|
* Copyright (C) 2014, Freescale Semiconductor, Inc.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <linux/mtd/spi-nor.h>
|
||||||
|
|
||||||
|
#include "core.h"
|
||||||
|
|
||||||
|
static const struct flash_info esmt_parts[] = {
|
||||||
|
/* ESMT */
|
||||||
|
{ "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64,
|
||||||
|
SECT_4K | SPI_NOR_HAS_LOCK) },
|
||||||
|
{ "f25l32qa", INFO(0x8c4116, 0, 64 * 1024, 64,
|
||||||
|
SECT_4K | SPI_NOR_HAS_LOCK) },
|
||||||
|
{ "f25l64qa", INFO(0x8c4117, 0, 64 * 1024, 128,
|
||||||
|
SECT_4K | SPI_NOR_HAS_LOCK) },
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct spi_nor_manufacturer spi_nor_esmt = {
|
||||||
|
.name = "esmt",
|
||||||
|
.parts = esmt_parts,
|
||||||
|
.nparts = ARRAY_SIZE(esmt_parts),
|
||||||
|
};
|
Загрузка…
Ссылка в новой задаче