|
@@ -2450,6 +2450,12 @@ static struct nand_flash_dev *nand_get_flash_type(struct mtd_info *mtd,
|
|
|
/* Select the device */
|
|
|
chip->select_chip(mtd, 0);
|
|
|
|
|
|
+ /*
|
|
|
+ * Reset the chip, required by some chips (e.g. Micron MT29FxGxxxxx)
|
|
|
+ * after power-up
|
|
|
+ */
|
|
|
+ chip->cmdfunc(mtd, NAND_CMD_RESET, -1, -1);
|
|
|
+
|
|
|
/* Send the command for reading device ID */
|
|
|
chip->cmdfunc(mtd, NAND_CMD_READID, 0x00, -1);
|
|
|
|
|
@@ -2620,6 +2626,8 @@ int nand_scan_ident(struct mtd_info *mtd, int maxchips)
|
|
|
/* Check for a chip array */
|
|
|
for (i = 1; i < maxchips; i++) {
|
|
|
chip->select_chip(mtd, i);
|
|
|
+ /* See comment in nand_get_flash_type for reset */
|
|
|
+ chip->cmdfunc(mtd, NAND_CMD_RESET, -1, -1);
|
|
|
/* Send the command for reading device ID */
|
|
|
chip->cmdfunc(mtd, NAND_CMD_READID, 0x00, -1);
|
|
|
/* Read manufacturer and device IDs */
|