I am desperately trying to do some tricks with GPIO lines at the expansion connector of my Beagle rev C running Ångström console image and custom compiled 2.6.29-r31 kernel from OE sources. So far I have had no luck.
I can control leds USR0 and USR1 via /sys/class/leds/... For USR1 led I just
echo none > trigger
echo 1 > brightness
And to turn the led off:
echo 0 > brightness
Great. These work as they should. As the USR1 led is connected to GPIO 149 I took a look at arch/arm/mach-omap2/board-omap3beagle.c. There one can find a line in struct gpio_led gpio_leds which links the USR1 to GPIO 149. What I'm now trying to do is to change that GPIO number from 149 to 162. Shouldn't that redirect the MMC activity led control to the expansion connector pin 14? That is, echoing 0 or 1 to brightness should now control pin 14. However, I can see no change on that pin when I'm measuring the state using digital multimeter.
Could mux config be the problem? I have not enabled CONFIG_OMAP_MUX in kernel. At mux config in U-Boot (Sakoman's omap3/dev branch) I have identical configs for both GPIO 149 and 162 in file board/omap3/beagle/beagle.h:
MUX_VAL(CP(UART1_RTS), (IDIS | PTD | DIS | M4)) /*GPIO_149*/ \
MUX_VAL(CP(MCBSP1_CLKX), (IDIS | PTD | DIS | M4)) /*GPIO_162*/\
Any ideas what's the problem here?