[MTD] [NAND] at91_nand: control NCE signal
authorAtsushi Nemoto <anemo@mba.ocn.ne.jp>
Thu, 24 Apr 2008 14:51:29 +0000 (23:51 +0900)
committerDavid Woodhouse <dwmw2@infradead.org>
Fri, 25 Apr 2008 08:08:05 +0000 (09:08 +0100)
This driver did not control NCE signal during normal operations (only
enable NCE on probing and disable NCE on removing).  This patch make
NCE signal inactive on idle state.

Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
drivers/mtd/nand/at91_nand.c

index 09ebcc93ed3b189986308f6b9820b085c7210a4e..414ceaecdb3a2058bbba13def192553ed40ce29f 100644 (file)
@@ -101,6 +101,12 @@ static void at91_nand_cmd_ctrl(struct mtd_info *mtd, int cmd, unsigned int ctrl)
        struct nand_chip *nand_chip = mtd->priv;
        struct at91_nand_host *host = nand_chip->priv;
 
+       if (host->board->enable_pin && (ctrl & NAND_CTRL_CHANGE)) {
+               if (ctrl & NAND_NCE)
+                       at91_set_gpio_value(host->board->enable_pin, 0);
+               else
+                       at91_set_gpio_value(host->board->enable_pin, 1);
+       }
        if (cmd == NAND_CMD_NONE)
                return;