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…