[U-Boot] nand_plat extensions with GPIO framework
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 signature.asc Description: This is a digitally signed message part. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] nand_plat extensions with GPIO framework
Mike Frysinger wrote: > 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. > Hi Mike, Thanks. This is what I have been looking for. Nios2 has asm/gpio.h already, then I added gpio_request() and tested on my boards. Tested-by: Thomas Chou ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] nand_plat extensions with GPIO framework
On Tuesday, June 08, 2010 20:58:50 Thomas Chou wrote: > Thanks. This is what I have been looking for. Nios2 has asm/gpio.h > already, then I added gpio_request() and tested on my boards. i couldnt seem to find anyone else who had imported asm/gpio.h yet, but i guess was looking in the wrong place. i have generic GPIO implementations pending for: - command line 'gpio' to toggle/set/clear pins - soft i2c via gpio - i had a status led gpio, but i'll convert to your version - examples for doing parallel flash with GPIO-assisted address lines i'll try and generalize them a bit more and send thing out. not sure if you'll find any of these useful though. -mike signature.asc Description: This is a digitally signed message part. ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot
Re: [U-Boot] nand_plat extensions with GPIO framework
Mike Frysinger wrote: > i'll try and generalize them a bit more and send thing out. not sure if > you'll find any of these useful though. > -mike Hi Mike, I believe it will be very useful. We are using gpio for led, key switch, i2c, nand flash status and other bit-oriented i/o. Cheers, Thomas ___ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot