> Hi Peter,
>
>> We have several pieces of software that make use of the /sys/class/gpio
>> userspace interface to the GPIO subsystem.
>>
>> One important prerequisite to being able to use the userspace GPIO
>> interface
>> 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 poking
>> 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,
>> there
>> doesn't seem to be any documented userspace API.
>>
>> I'd greatly appreciate it if someone could give me some pointers about
>> how
>> 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
> what you'll
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 [1] on the topic I'm not
> 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?
I'm not aware of anything else other than the pdf I referenced above
and the kernel documentation like pinctrl.txt gpio/* etc.
Peter