Pin Mux settings not changing

Setting the mux depends greatly on which version of the kernel you are running, but setting the eeprom mux values currently does not automatically set the pinmux in any version of the kernel. I wasted a day storing the eeprom data, just like you, before I realized this.

For kernel 3.8, you need to create a device tree file that sets up the pin mux registers. You will then need to use sysfs methods to set the other pin functions (direction, value, etc). Even if you set them up in the dts file, they will not be set properly.


Any idea how to do it on 3.2.5?
Or should I just write a script and use sysfs to change the mux settings?

I only had 3.2 for a short while, so anything I would say wouldn’t be verified.

If you are designing a new cape, I would bite the bullet and go to 3.8, there is a lot more information out there now, than when I took the plunge (couple months ago), and 3.2 support will be waning.