Using UART1 on the beagleboard or equivalent boards (IGEP)

Hello everyone,

I am trying to use the uart1 of the omap3530 chip but it doesn't seem
to work !

Here is what I have done :

I changed the mux.c adding this

MUX_CFG_34XX("AG22_3430_UART1_CTS_UP", 0x0DC,
               OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLUP)
MUX_CFG_34XX("AH22_3430_UART1_RTS", 0x0DE,
               OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_OUTPUT)
MUX_CFG_34XX("E26_3430_UART1_TX", 0x0E8,
               OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_OUTPUT)
MUX_CFG_34XX("F28_3430_UART1_RX_DOWN", 0x0EA,
               OMAP34XX_MUX_MODE2 | OMAP34XX_PIN_INPUT_PULLDOWN)

I call those functions at init

       omap_cfg_reg(AG22_3430_UART1_CTS_UP);
       omap_cfg_reg(AH22_3430_UART1_RTS);
       omap_cfg_reg(E26_3430_UART1_TX);
       omap_cfg_reg(F28_3430_UART1_RX_DOWN);

I modfied the kernel config to allow the CONFIG_OMAP_MUX

At boot I have those prints :

[ 0.000000] MUX: setup AG22_3430_UART1_CTS_UP (0xd80020dc): 0x0000 -

0x011a

[ 0.000000] MUX: setup AH22_3430_UART1_RTS (0xd80020de): 0x0000 ->
0x0002
[ 0.000000] MUX: setup E26_3430_UART1_TX (0xd80020e8): 0x0000 ->
0x0002
[ 0.000000] MUX: setup F28_3430_UART1_RX_DOWN (0xd80020ea): 0x0000 -

0x010a

(Here I don't realy get the "0x0000 -> 0x011a" part but I do think the
mux has been done)

My test is to plug the TX pin to the RX pin.

I do those commands :

root@igep:~# echo hello > /dev/ttyS0
root@igep:~# cat /proc/tty/driver/serial
serinfo:1.0 driver revision:
0: uart:ST16654 mmio:0x4806A000 irq:72 tx:11 rx:0 DSR|CD|RI
1: uart:ST16654 mmio:0x4806C000 irq:73 tx:0 rx:0 CTS|DSR|CD|RI
2: uart:ST16654 mmio:0x49020000 irq:74 tx:1233 rx:129 RTS|CTS|DTR|DSR|
CD>RI
3: uart:unknown port:00000000 irq:0

As you can see the bits go through TX but are not received.

Do you see anything wrong I would have done or forgotten to do ?

OK !

It works now the modification is to mux the UART1 defined in primary
mode.

2 UART1 doesn't work fine !

Yes it works, but a simple loopback its not enough, put an pull up to
1.8v in the loopback using an resistor and it will work fine... i lost
one day because of that !!!!

Hi,

I wanna ask how to set the baud rate for the uart?

Thanks and Regards,
King.S

Well I did'nt put a pull up and it works fine. But if I have a problem
later on I will think of that !

For me the baud rate is set when you open your /dev/ttySx.

http://tldp.org/HOWTO/Serial-Programming-HOWTO/x115.html