Or is it x-load?
I've been looking but have been unable to find the code that initializes the
gpio pins on the expansion connector.
Once linux is loaded I looked at the mux register (0x4800216a) which is
gpio_139 (MMC2_DAT7 or AE3). It has the value 0x11c which means input
enabled, pullup, pullup enabled and mode4 (gpio mode).
The doc says that the default should be mode 7, safe mode, and pull
disabled, on reset, which I can confirm by watching the hardware. It seems
that soon as u-boot starts, it goes from mode 7 to mode 4 and pullup
enabled.
The x-load source shows a bunch of mux registers being set, but not that
one.
I've been unable to find any mux register setup in either u-boot nor the
kernel that sets up mode 4 or the pullup for that i/o pin. There are setups
for lots of other pins, but not that one, nor others near it. It must be
hidden in there somewhere, but I'm not sure where.
If anyone could point to the code that does this initialization it would be
appreciated.
I'm using x-load-1.42+r7+git73eb0caf065b3b3f407d8af5c4836624e5cc7b69-r7
And u-boot-git-r18. These versions are whatever the standard oe and
beagleboard.conf provides.
Thanks,
Kevin