123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- From 52d14545d2fc276b1bf9ccf48d4612fab6edfb6a Mon Sep 17 00:00:00 2001
- From: David Bauer <[email protected]>
- Date: Thu, 6 May 2021 17:49:55 +0200
- Subject: [PATCH] mtd: spi-nor: Add support for BoHong bh25q128as
- Add MTD support for the BoHong bh25q128as SPI NOR chip.
- The chip has 16MB of total capacity, divided into a total of 256
- sectors, each 64KB sized. The chip also supports 4KB sectors.
- Additionally, it supports dual and quad read modes.
- Functionality was verified on an Tenbay WR1800K / MTK MT7621 board.
- Signed-off-by: David Bauer <[email protected]>
- ---
- drivers/mtd/spi-nor/Makefile | 1 +
- drivers/mtd/spi-nor/bohong.c | 21 +++++++++++++++++++++
- drivers/mtd/spi-nor/core.c | 1 +
- drivers/mtd/spi-nor/core.h | 1 +
- 4 files changed, 24 insertions(+)
- create mode 100644 drivers/mtd/spi-nor/bohong.c
- --- a/drivers/mtd/spi-nor/Makefile
- +++ b/drivers/mtd/spi-nor/Makefile
- @@ -2,6 +2,7 @@
-
- spi-nor-objs := core.o sfdp.o swp.o otp.o sysfs.o
- spi-nor-objs += atmel.o
- +spi-nor-objs += bohong.o
- spi-nor-objs += catalyst.o
- spi-nor-objs += eon.o
- spi-nor-objs += esmt.o
- --- /dev/null
- +++ b/drivers/mtd/spi-nor/bohong.c
- @@ -0,0 +1,21 @@
- +// 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 bohong_parts[] = {
- + /* BoHong Microelectronics */
- + { "bh25q128as", INFO(0x684018, 0, 64 * 1024, 256)
- + NO_SFDP_FLAGS(SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) },
- +};
- +
- +const struct spi_nor_manufacturer spi_nor_bohong = {
- + .name = "bohong",
- + .parts = bohong_parts,
- + .nparts = ARRAY_SIZE(bohong_parts),
- +};
- --- a/drivers/mtd/spi-nor/core.c
- +++ b/drivers/mtd/spi-nor/core.c
- @@ -1620,6 +1620,7 @@ int spi_nor_sr2_bit7_quad_enable(struct
-
- static const struct spi_nor_manufacturer *manufacturers[] = {
- &spi_nor_atmel,
- + &spi_nor_bohong,
- &spi_nor_catalyst,
- &spi_nor_eon,
- &spi_nor_esmt,
- --- a/drivers/mtd/spi-nor/core.h
- +++ b/drivers/mtd/spi-nor/core.h
- @@ -617,6 +617,7 @@ struct sfdp {
-
- /* Manufacturer drivers. */
- extern const struct spi_nor_manufacturer spi_nor_atmel;
- +extern const struct spi_nor_manufacturer spi_nor_bohong;
- extern const struct spi_nor_manufacturer spi_nor_catalyst;
- extern const struct spi_nor_manufacturer spi_nor_eon;
- extern const struct spi_nor_manufacturer spi_nor_esmt;
|