omap mux input ignored?

Hi,

I'm trying to get uart1 to work on the beagle bone, and I'm having a
problem setting the pin mux. I understand that I'm supposed to set
uart1_rxd to mode 0 and input, but the input part of the command gets
ignored:

echo 20 > uart1_rxd
root@beagleboard:/sys/kernel/debug/omap_mux# cat uart1_rxd
name: uart1_rxd.uart1_rxd (0x44e10980/0x980 = 0x0020), b NA, t NA
mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE0
signals: uart1_rxd | mmc1_sdwp | NA | NA | NA | pr1_uart0_rxd_mux1 |
NA | NA

So it says the input bit is set, but it's still listed as output
mode. Also, I can see data on the line using an oscope, but reading /
dev/ttyO1 just returns nothing--probably because the pin is set as an
output. What's going on here?

I'm running ubuntu, in case that makes a difference.

Thanks,

Brian

Hi Brian,

Specify that “21” as hex would work better. I have this script to set up uart 1, 2, and 4:

echo 0x0000 > /debugfs/omap_mux/uart1_txd # uart1_txd on mode 0
echo 0x0020 > /debugfs/omap_mux/uart1_rxd # uart1_rxd on mode 0
echo 0x0001 > /debugfs/omap_mux/spi0_d0 # uart2_txd on mode 1
echo 0x0021 > /debugfs/omap_mux/spi0_sclk # uart2_rxd on mode 1
echo 0x0006 > /debugfs/omap_mux/gpmc_wpn # uart4_txd on mode 6
echo 0x0026 > /debugfs/omap_mux/gpmc_wait0 # uart4_rxd on mode 6

George

George,

Thanks for the reply, but that doesn't seem to be the issue. Using
0x0020 gives the same result as just 20--I think it interprets the
value as hex by default. Anyway, if you look at the output from cat:

name: uart1_rxd.uart1_rxd (0x44e10980/0x980 = 0x0020), b NA, t NA
mode: OMAP_PIN_OUTPUT | OMAP_MUX_MODE0

it specifically says that the value is 0x0020, but the pin is still an
output. How can that be?

Incidentally, I tried reverting to the stock angstrom image, and got
the exact same result. Has anybody else encountered this?

Brian