mtd: OneNAND: add support for OneNAND manufactured by Numonyx
In addition to adding the Numonyx manufacturer code, this patch also ensures 'sync. write' is disabled when reading identification data - something that the Numonyx chip objects to, but the Samsung chip seems to ignore. Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com> Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:
committed by
David Woodhouse
parent
1e42d142e6
commit
ee8f376889
@@ -2576,6 +2576,7 @@ static void onenand_print_device_info(int device, int version)
|
|||||||
|
|
||||||
static const struct onenand_manufacturers onenand_manuf_ids[] = {
|
static const struct onenand_manufacturers onenand_manuf_ids[] = {
|
||||||
{ONENAND_MFR_SAMSUNG, "Samsung"},
|
{ONENAND_MFR_SAMSUNG, "Samsung"},
|
||||||
|
{ONENAND_MFR_NUMONYX, "Numonyx"},
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -2621,7 +2622,7 @@ static int onenand_probe(struct mtd_info *mtd)
|
|||||||
/* Save system configuration 1 */
|
/* Save system configuration 1 */
|
||||||
syscfg = this->read_word(this->base + ONENAND_REG_SYS_CFG1);
|
syscfg = this->read_word(this->base + ONENAND_REG_SYS_CFG1);
|
||||||
/* Clear Sync. Burst Read mode to read BootRAM */
|
/* Clear Sync. Burst Read mode to read BootRAM */
|
||||||
this->write_word((syscfg & ~ONENAND_SYS_CFG1_SYNC_READ), this->base + ONENAND_REG_SYS_CFG1);
|
this->write_word((syscfg & ~ONENAND_SYS_CFG1_SYNC_READ & ~ONENAND_SYS_CFG1_SYNC_WRITE), this->base + ONENAND_REG_SYS_CFG1);
|
||||||
|
|
||||||
/* Send the command for reading device ID from BootRAM */
|
/* Send the command for reading device ID from BootRAM */
|
||||||
this->write_word(ONENAND_CMD_READID, this->base + ONENAND_BOOTRAM);
|
this->write_word(ONENAND_CMD_READID, this->base + ONENAND_BOOTRAM);
|
||||||
|
@@ -176,6 +176,7 @@ struct onenand_chip {
|
|||||||
* OneNAND Flash Manufacturer ID Codes
|
* OneNAND Flash Manufacturer ID Codes
|
||||||
*/
|
*/
|
||||||
#define ONENAND_MFR_SAMSUNG 0xec
|
#define ONENAND_MFR_SAMSUNG 0xec
|
||||||
|
#define ONENAND_MFR_NUMONYX 0x20
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct onenand_manufacturers - NAND Flash Manufacturer ID Structure
|
* struct onenand_manufacturers - NAND Flash Manufacturer ID Structure
|
||||||
|
Reference in New Issue
Block a user