mtd: nand: export nand_get_flash_type function

`nand_get_flash_type()` allows identification of supported NAND flashs.
The function is useful in SPL (like mxs_nand_spl.c) to lookup for a NAND
flash (which does not support ONFi) instead of using nand_simple.c and
hard-coding all required NAND parameters.

Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>
This commit is contained in:
Jörg Krause 2018-01-14 19:26:37 +01:00 committed by Stefano Babic
parent 02bbe2aaa2
commit da37d09682
2 changed files with 9 additions and 4 deletions

View file

@ -3755,7 +3755,7 @@ static bool find_full_id_nand(struct mtd_info *mtd, struct nand_chip *chip,
/* /*
* Get the flash and manufacturer id and lookup if the type is supported. * Get the flash and manufacturer id and lookup if the type is supported.
*/ */
static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd, struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd,
struct nand_chip *chip, struct nand_chip *chip,
int *maf_id, int *dev_id, int *maf_id, int *dev_id,
struct nand_flash_dev *type) struct nand_flash_dev *type)
@ -3927,6 +3927,7 @@ ident_done:
mtd->erasesize >> 10, mtd->writesize, mtd->oobsize); mtd->erasesize >> 10, mtd->writesize, mtd->oobsize);
return type; return type;
} }
EXPORT_SYMBOL(nand_get_flash_type);
#if CONFIG_IS_ENABLED(OF_CONTROL) #if CONFIG_IS_ENABLED(OF_CONTROL)
DECLARE_GLOBAL_DATA_PTR; DECLARE_GLOBAL_DATA_PTR;

View file

@ -22,9 +22,16 @@
#include <asm/cache.h> #include <asm/cache.h>
struct mtd_info; struct mtd_info;
struct nand_chip;
struct nand_flash_dev; struct nand_flash_dev;
struct device_node; struct device_node;
/* Get the flash and manufacturer id and lookup if the type is supported. */
struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd,
struct nand_chip *chip,
int *maf_id, int *dev_id,
struct nand_flash_dev *type);
/* Scan and identify a NAND device */ /* Scan and identify a NAND device */
int nand_scan(struct mtd_info *mtd, int max_chips); int nand_scan(struct mtd_info *mtd, int max_chips);
/* /*
@ -247,9 +254,6 @@ typedef enum {
#define NAND_CI_CELLTYPE_MSK 0x0C #define NAND_CI_CELLTYPE_MSK 0x0C
#define NAND_CI_CELLTYPE_SHIFT 2 #define NAND_CI_CELLTYPE_SHIFT 2
/* Keep gcc happy */
struct nand_chip;
/* ONFI features */ /* ONFI features */
#define ONFI_FEATURE_16_BIT_BUS (1 << 0) #define ONFI_FEATURE_16_BIT_BUS (1 << 0)
#define ONFI_FEATURE_EXT_PARAM_PAGE (1 << 7) #define ONFI_FEATURE_EXT_PARAM_PAGE (1 << 7)