diff --git a/drivers/amlogic/mtd/nand_flash.c b/drivers/amlogic/mtd/nand_flash.c index 206e615aaaea..9f29f4d6f988 100644 --- a/drivers/amlogic/mtd/nand_flash.c +++ b/drivers/amlogic/mtd/nand_flash.c @@ -288,6 +288,19 @@ struct aml_nand_flash_dev aml_nand_flash_ids[] = { 0, (NAND_TIMING_MODE5 | NAND_ECC_BCH8_MODE)}, + {"Zetta NAND ZDND2GXXXXX 2Gb", + {NAND_MFR_ZETTA, 0xda, 0x90, 0x95, 0x46}, + 2048, + 256, + 0x20000, + 64, + 1, + 20, + 15, + 0, + 0, + (NAND_TIMING_MODE5 | NAND_ECC_BCH8_MODE)}, + {"A revision NAND 1GiB sF1G-A", {NAND_MFR_AMD, 0xf1, 0x80, 0x1d, 0x01, 0xf1}, 2048, diff --git a/drivers/amlogic/mtd/rsv_manage.c b/drivers/amlogic/mtd/rsv_manage.c index 79699363a573..f0ddbc462c17 100644 --- a/drivers/amlogic/mtd/rsv_manage.c +++ b/drivers/amlogic/mtd/rsv_manage.c @@ -324,7 +324,8 @@ int aml_nand_scan_shipped_bbt(struct mtd_info *mtd) if (aml_chip->mfr_type == NAND_MFR_DOSILICON || aml_chip->mfr_type == NAND_MFR_ATO || - aml_chip->mfr_type == NAND_MFR_HYNIX) { + aml_chip->mfr_type == NAND_MFR_HYNIX || + aml_chip->mfr_type == NAND_MFR_ZETTA) { if (col0_oob != 0xFF) { pr_info("factory Bad blk:%llx blk=%d chip=%d\n", (uint64_t)addr, start_blk, i); diff --git a/drivers/mtd/nand/nand_ids.c b/drivers/mtd/nand/nand_ids.c index 2af9869a115e..8eda039c87fd 100644 --- a/drivers/mtd/nand/nand_ids.c +++ b/drivers/mtd/nand/nand_ids.c @@ -182,6 +182,7 @@ struct nand_manufacturers nand_manuf_ids[] = { {NAND_MFR_SANDISK, "SanDisk"}, {NAND_MFR_INTEL, "Intel"}, {NAND_MFR_ATO, "ATO"}, + {NAND_MFR_ZETTA, "Zetta"}, {0x0, "Unknown"} }; diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 838e109107de..43496fb357be 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h @@ -929,6 +929,7 @@ static inline void nand_set_controller_data(struct nand_chip *chip, void *priv) #define NAND_MFR_INTEL 0x89 #define NAND_MFR_ATO 0x9b #define NAND_MFR_DOSILICON 0xf8 +#define NAND_MFR_ZETTA 0xba /* add extra flash manufacturer ID Codes */ #if defined(CONFIG_AMLOGIC_NAND) || defined(CONFIG_AMLOGIC_M8B_NAND)