I am currently writing some programs for the user space which help to
understand the whole muxing part.
There are certain pins which I cannot mux successfully, e.g. when I look at:
BONE:/sys/kernel/debug# cat gpio
GPIOs 0-31, gpio:
gpio-6 (mmc_cd ) in lo
GPIOs 32-63, gpio:
gpio-34 (sysfs ) out hi
gpio-35 (w1 ) in lo
gpio-38 (sysfs ) out hi
gpio-39 (sysfs ) out hi
gpio-53 (beaglebone::usr0 ) out lo
gpio-54 (beaglebone::usr1 ) out lo
gpio-55 (beaglebone::usr2 ) out lo
gpio-56 (beaglebone::usr3 ) out lo
GPIOs 64-95, gpio:
gpio-66 (sysfs ) out hi
gpio-67 (sysfs ) out hi
There is gpio_35 (aka GPIO1_3, aka P8_6) on the beaglebone. The above
output seems to tell me that another user "w1" claims the pin. The
others were hopefully all muxed córrectly by me. My guess is, that
some of the pins are reserved, e.g. I cannot simply do what I want
from userspace. My questions:
- who or what is "w1"?
- how can I find out more about who claims certain pins?
- where could I find out more about particular functions of pins, such
as gpmc_ad3, mmc1_dat6... So far I more or less learned by
coincidence that uart pins are for serial communication and ain pins
are my analog inputs.
I have to admit that the processor technical reference is a bit too
much for my current state of knowlegde.
Oh, while being at it -
how much can the GPIO pins sink or source? In some discussion about
the beagleboard it was mentioned per pin 8mA. Is that applicable to
the beaglebone too? Is there an upper total limit?
Thank you very much,