mtd: nand_plat: add simple GPIO framework DEV_READY option
authorMike Frysinger <vapier@gentoo.org>
Mon, 5 Jul 2010 08:55:04 +0000 (04:55 -0400)
committerScott Wood <scottwood@freescale.com>
Thu, 8 Jul 2010 21:52:12 +0000 (16:52 -0500)
Make it easy to use GPIOs for the DEV_READY pin by using the common GPIO
framework.  Also make the NAND_PLAT_INIT() define optional.

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Tested-by: Thomas Chou <thomas@wytron.com.tw>
drivers/mtd/nand/nand_plat.c

index b35492b9fc425e096c0ff04384fc8ec029db1a89..37a0206ad6531d1169668d93b1195183e1bfed58 100644 (file)
 
 #include <common.h>
 #include <asm/io.h>
+#ifdef NAND_PLAT_GPIO_DEV_READY
+# include <asm/gpio.h>
+# define NAND_PLAT_DEV_READY(chip) gpio_get_value(NAND_PLAT_GPIO_DEV_READY)
+#endif
 
 #include <nand.h>
 
@@ -43,7 +47,14 @@ static int plat_dev_ready(struct mtd_info *mtd)
 
 int board_nand_init(struct nand_chip *nand)
 {
+#ifdef NAND_PLAT_GPIO_DEV_READY
+       gpio_request(NAND_PLAT_GPIO_DEV_READY, "nand-plat");
+       gpio_direction_input(NAND_PLAT_GPIO_DEV_READY);
+#endif
+
+#ifdef NAND_PLAT_INIT
        NAND_PLAT_INIT();
+#endif
 
        nand->cmd_ctrl = plat_cmd_ctrl;
        nand->dev_ready = plat_dev_ready;