Can't change pin modes in kernel 3.12

142 views
Skip to first unread message

Mike Bremford

unread,
Nov 21, 2013, 6:15:05 AM11/21/13
to beagl...@googlegroups.com
Following on from this: https://groups.google.com/d/msg/beagleboard/ge7kwDXxMC8/2ZS4ggbTZBgJ

Where the HDMI is active despite being apparently disabled, I think I know why: you can't change the mode of *any* of the pins in kernel 3.12

Here's my test. First, I check the state of the pinmux for each pin:

# cat /sys/kernel/debug/pinctrl/44e10800.pinmux/pins > before

Then I enable every available GPIO pin, which should change the mode for many of them:

# seq 1 140 | xargs -n 1 sh -c 'echo $@ > /sys/class/gpio/export' echo

I now have a huge number of GPIO pins apparently enabled and in input mode:

# cat /sys/class/gpio/gpio20/direction 
in

But the modes in /sys/kernel/debug/pinctrl/44e10800.pinmux/pins  are unchanged, and the signals on the pins are unchanged too: for example, P9_41 still has a 32768hz square wave generated by clkout2, which is the initial mode for that pin. If I try to read from gpio 20 (which is apparently active on teh same pin) I get 0, and whatever I write to it has no effect on the pin value.

I'm almost relieved, as it explains some of my weird test results...


Reply all
Reply to author
Forward
0 new messages