2009-03-14 22:28:24 simple-gpio problem
andy (UNITED STATES)
Message: 70989
Hi
Am using cm-bf537. I have included the simple-gpio driver in menuconfig. I also copied the simple-gpio resource allocation from arch/blackfin/mach-bf537/boards/stamp.c to arch/blackfin/mach-bf537/boards/cm_bf537.c.
But I still dont see anything in dev/gpio*.
I have nothing listed in /sys/class/simple-gpio -- but that directory does exist.
/var/log/messages contains the line:
Blackfin GPIO Controllers
but no message about simple-gpio: now handling anything.
Result of cat /proc/gpio:
GPIO_32: bfin_mac Peripheral
GPIO_33: bfin_mac Peripheral
GPIO_34: bfin_mac Peripheral
GPIO_35: bfin_mac Peripheral
GPIO_36: bfin_mac Peripheral
GPIO_37: bfin_mac Peripheral
GPIO_38: bfin_mac Peripheral
GPIO_39: bfin_mac Peripheral
GPIO_40: bfin_mac Peripheral
GPIO_41: bfin_mac Peripheral
GPIO_42: bfin_mac Peripheral
GPIO_43: bfin_mac Peripheral
GPIO_44: bfin_mac Peripheral
GPIO_45: bfin_mac Peripheral
GPIO_46: bfin_mac Peripheral
GPIO_47: bfin_mac Peripheral
GPIO_48: bfin_mac Peripheral
GPIO_49: bfin_mac Peripheral
GPIO_50: i2c-bfin-twi Peripheral
GPIO_51: i2c-bfin-twi Peripheral
What step am I missing here to get the gpio to show up under /dev?
thanks.
QuoteReplyEditDelete
2009-03-15 00:32:38 Re: simple-gpio problem
andy (UNITED STATES)
Message: 70990
Ok I added gpio resource structure pointer to the devices structure and now the gpios appear under devices.
I have been developing on the 2006 release of uclinux previously. In order to access gpio, I would use IOCTL commands and open the /dev/pf$ file. In the latest release I noticed that simple-gpio driver does not have IOCTL provisions? Also how does the gpio$ map to the corresponding pf$ ? for example if I wanted to open pf12 from the application level how would I go about it?
I tried searching for the simple-gpio and pflags test program source code on the distribution but could not find it. Could anyone point me to where I can find it?
thanks.
QuoteReplyEditDelete
2009-03-15 00:37:32 Re: simple-gpio problem
Mike Frysinger (UNITED STATES)
Message: 70991
please read the documentation:
http://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:drivers:simple-gpio
how the previous pflag driver works is unrelated as the simple gpio driver was written from scratch
QuoteReplyEditDelete
2009-03-15 03:51:55 Re: simple-gpio problem
andy (UNITED STATES)
Message: 70992
thanks. I had already looked at that page. My problem was the mapping between the pflags and the gpio numbers. It finally dawned upon me that PF is gpio1-16 , PG is gpio17-32 and so on...
I grepped for the test source files in the distribution but could not find it. Could you please point me to the location of the source files.
QuoteReplyEditDelete
2009-03-15 04:17:31 Re: simple-gpio problem
Mike Frysinger (UNITED STATES)
Message: 71000
they werent in the last release
QuoteReplyEditDelete
2009-03-18 05:28:41 Re: simple-gpio problem
Ashish Gupta (INDIA)
Message: 71194
Hi
I am also using the same module - Bluetechnix CM-BF537E. I want to access the simple-gpio driver from my application but no device nodes appear in the /dev folder, hence i cannot access the devices. "simple-gpio-test" test binary also fails with "no such file or directory" error.
The symbolic links (simple-gpio:gpio0 ... 1) for devices are created in the /sys/devices/platform/simple-gpio folder which point to directories gpio0, gpio1, gpio2 ...etc in the folder /sys/class/simple-gpio.
and /proc/gpio contentents are: -
GPIO_0: bfin-uart Peripheral
GPIO_1: bfin-uart Peripheral
GPIO_32: bfin_mac Peripheral
GPIO_33: bfin_mac Peripheral
GPIO_34: bfin_mac Peripheral
GPIO_35: bfin_mac Peripheral
GPIO_36: bfin_mac Peripheral
GPIO_37: bfin_mac Peripheral
GPIO_38: bfin_mac Peripheral
GPIO_39: bfin_mac Peripheral
GPIO_40: bfin_mac Peripheral
GPIO_41: bfin_mac Peripheral
GPIO_42: bfin_mac Peripheral
GPIO_43: bfin_mac Peripheral
GPIO_44: bfin_mac Peripheral
GPIO_45: bfin_mac Peripheral
GPIO_46: bfin_mac Peripheral
GPIO_47: bfin_mac Peripheral
GPIO_48: bfin_mac Peripheral
GPIO_49: bfin_mac Peripheral
GPIO_50: i2c-bfin-twi Peripheral
GPIO_51: i2c-bfin-twi Peripheral
GPIO_54: soc-audio Peripheral
GPIO_55: soc-audio Peripheral
GPIO_56: soc-audio Peripheral
GPIO_57: soc-audio Peripheral
GPIO_59: soc-audio Peripheral
I tried the following
A. Manual creation of device nodes
root: /> mknod /dev/gpio0 c 253 0
mknod: /dev/gpio0: Read-only file system
B. using mdev to creat device nodes
root: /> mdev -s
mdev: mknod ram0: Read-only file system
so /dev is romfs and i also checked the config file found in /proc directory, and found that HOT PLUGGING was not enabled.
# CONFIG_HOTPLUG is not set
Is there any other way apart from recompiling and re flashing the image to get around this problem.?
Files attached:
1. config file found in /proc
config
QuoteReplyEditDelete
2009-03-18 05:55:11 Re: simple-gpio problem
Mike Frysinger (UNITED STATES)
Message: 71196
you need to remount your root so it is read/write, then run `mknod` manually
QuoteReplyEditDelete
2009-03-19 03:39:07 Re: simple-gpio problem
Ashish Gupta (INDIA)
Message: 71233
Thanks Mike,
the problem is solved now, I've modified the bootargs in u-boot to
bootargs = root=/dev/mtdblock0 rw
this makes /dev as rw and i can see the devices nodes in /dev now :-) .
Ashish