On 2014-04-30 10:45, Peter Robinson wrote:
> We have several pieces of software that make use of the
> userspace interface to the GPIO subsystem.
> One important prerequisite to being able to use the userspace GPIO
> is to be able to put the corresponding package pins into GPIO mode, by
> modifying the chip's mux settings.
> With Fedora 19 on the Pandaboard, we were able to achieve this by
> around in /sys/kernel/debug/omap_mux. However, when running Fedora
> 20, this
> directory is empty. My assumption is that this functionality has been
> subsumed by the pinctrl subsystem in recent kernels. Unfortunately,
> doesn't seem to be any documented userspace API.
> I'd greatly appreciate it if someone could give me some pointers about
> to deal with this issue!
Recently, sorry don't remember which kernel, most of the gpio stuff
moved over to the gpiolib interface which changed some of the user
space access but it at least appears to be documented in
Documentation/gpio/sysfs.txt and at least on my Panda-es running
3.15rc3 there is /sys/class/gpio/export interface which is I suspect
Yes, we're already using the /sys/class/gpio interface for all our GPIO
stuff. It does everything we need it to do -- other than change pinmux
settings to make the GPIOs actually work.
From the pinctl PoV looking at a presentation  on the topic
sure there is a userspace API yet according to page 18, although
there's been quite some water under the bridge since 3.9 but it might
be that the gpiolib stuff above is all you need.
But if you do need the pinctrl stuff there's a bunch of options in
/sys/kernel/debug/pinctrl/ and the files in there map out how the pins
are currently mapped and there's means to change them there too.
Hmm, yes, I found the /sys/kernel/debug/pinctrl interface, but I can't
find any documentation *at all* about what can be written into those
files to change the configuration, despite extensive googling. Do you
know of any documentation or examples? Or is the only option to read
the kernel sources?
Dr Peter Brett <peter(a)peter-b.co.uk>