From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Frysinger Date: Tue, 8 Jun 2010 17:10:12 -0400 Subject: [U-Boot] nand_plat extensions with GPIO framework Message-ID: <201006081710.12926.vapier@gentoo.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de i'm in the process of merging the GPIO layer from Linux into the Blackfin port (well, it's already done, so now i'm just converting drivers over to it). as i'm sure you're aware, the GPIO framework in Linux provides a common API across all ports, so anyone who supports asm/gpio.h is going to work. no-arch specific junk here. some Blackfin boards use GPIOs with the nand_plat driver for the dev_ready pin. so while i can easily convert the board config header to call these gpio funcs, the issue is that i cant really pull in headers like asm/gpio.h in the board config since all files will then pull it in. what i'm thinking is something like this: --- a/drivers/mtd/nand/nand_plat.c +++ b/drivers/mtd/nand/nand_plat.c @@ -16,6 +16,10 @@ #include #include +#ifdef NAND_PLAT_GPIO_DEV_READY +# include +# define NAND_PLAT_DEV_READY(chip) gpio_get_value(NAND_PLAT_GPIO_DEV_READY) +#endif #include @@ -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; now the Blackfin boards merely have to do: #define NAND_PLAT_GPIO_DEV_READY GPIO_PF12 any suggestions about how to approach this ? -mike -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part. Url : http://lists.denx.de/pipermail/u-boot/attachments/20100608/4676c6b6/attachment.pgp