]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
mtd: mxc-nand: Implement support for PARAM command
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 10 Feb 2015 18:59:59 +0000 (19:59 +0100)
committerBrian Norris <computersforpeace@gmail.com>
Wed, 11 Mar 2015 22:20:41 +0000 (15:20 -0700)
The mxc-nand driver never supported the PARAM command to read out the
ONFI parameter page and so always relied on probing my manufacturer and
device id (as provided by the READID command).

This patch implements reading out the first parameter page copy at least
which should be good enough in practise.

This makes the boot log change from

nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xb1
nand: Micron NAND 128MiB 1,8V 16-bit

to
nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xb1
nand: Micron MT29F1G16ABBDAH4

on my machine.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/mxc_nand.c

index 0afe5904a3372076f3e9b5cc4f9cf6a0e9c95a9e..0083b4ee4f3377c5a3d9c2963ccd53e15dc21ad5 100644 (file)
@@ -1152,6 +1152,13 @@ static void mxc_nand_command(struct mtd_info *mtd, unsigned command,
                          command, column);
                mxc_do_addr_cycle(mtd, column, page_addr);
 
+               break;
+       case NAND_CMD_PARAM:
+               host->devtype_data->send_cmd(host, command, false);
+               mxc_do_addr_cycle(mtd, column, page_addr);
+               host->devtype_data->send_page(mtd, NFC_OUTPUT);
+               memcpy32_fromio(host->data_buf, host->main_area0, 512);
+               host->buf_start = 0;
                break;
        }
 }