Hello Rico,
I think it is my turn :)
1.) you can find the definition of the configuration of the GPIO's under:
/sys/kernel/debug/omap_mux/
for example if you want to learn the current configuration of the gpmc_ad6 pin
you should look for:
cat /sys/kernel/debug/omap_mux/gpmc_ad6
to make it availible for output you should write
echo 7 > /sys/kernel/debug/omap_mux/gpmc_ad6
and then if you want to use it you should export that pin.
echo 38 > /sys/class/gpio/export
after you exported it you can make it output
echo "out" > /sys/class/gpio/gpio38/direction
or input
echo "out" > /sys/class/gpio/gpio38/direction
you can change the output value as low:
echo "0" > /sys/class/gpio/gpio38/value
or as high
echo "0" > /sys/class/gpio/gpio38/value
you can find the manings of the numbers like 7 or 37 from the user guide of AM335X.
2. As I know, normally first configuration is made by bootloader. (like mux.h) After bootloader, kernel changes the configuration as in the
/sys/kernel/debug/omap_mux/ directory. Whatever you write here will be executed with kernel.
3. I think you should edit u-boot's pin mux configurations and recompile it.
4. As I know there is no major pin config changes on revisions of Beaglebone.
Regards