Re: [U-Boot] nand_plat extensions with GPIO framework

2010-06-09 Thread Thomas Chou
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


[U-Boot] nand_plat extensions with GPIO framework

2010-06-08 Thread Mike Frysinger
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 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;

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

2010-06-08 Thread Thomas Chou
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 tho...@wytron.com.tw
___
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

2010-06-08 Thread Mike Frysinger
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