This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

OMAP-L138 SOM: UART1 access

Other Parts Discussed in Thread: OMAP-L138, DA8XX

Hello,

I am using a custom board that resembles the Zoom OMAP-L138 EVM Exp. Kit. We connected to a GPS processor to UART1 on the SOM, and we are having problems writing to the processor on pin UART1_TxD. This is what I did so far:

1. The GPS processor transmits data periodically every second. I probed UART1_RxD and verified signal activity. Once Linux booted up I type <cat /dev/ttyS1> in the terminal, and I all of the ASCII NEMA messages were displayed. This means the UARTs Rx path is working as expected.

2. When I type <echo "hello" > /dev/ttyS1> in the terminal, but I didn't see any activity on the UART1_TxD pin.

3. I did verify that UART1_TxD is functional by adding code in the user-bootloader (UBL) to write data to UART1. This code was added after device initialization.

4. I modified "board-da850-evm.c," by commenting the following line:

         __raw_writel(0, IO_ADDRESS(DA8XX_UART1_BASE) + 0x30);

I don't think there are any Kernel configuration options that missed because the UART receiver is working as expected.

Any ideas?

Thanks!

  • Looks like you using DVSDK 3.20.00.14. Appears that DVSDK 3.21.00.04 supports UART1 by default. The board-da850-evm.c file has extra lines:

        /* Support for UART 1 */
        ret = davinci_cfg_reg_list(da850_uart1_pins);
        if (ret)
            pr_warning("da850_evm_init: UART 1 mux setup failed:"
                            " %d\n", ret);

    There is also extra code to check for conflict with McASP. Perhaps your da850_evm_init() is still setting up the McASP.

  • Hello michael,

    I am also facing similar issue on UART1. I am getting data from GPS (UART1 interface) on RX line, But i am not able to send any data on TX line.

    I have commented below line.

              __raw_writel(0, IO_ADDRESS(DA8XX_UART1_BASE) + 0x30);

    Have you rectified this issue. Please help me, how to resolve this issue.

    Thanks//

    kumar

  • The UART_RX line worked once the pin configuration was setup. Just add the following line for kernel version 2.6.32-rc6:


        ret = da8xx_pinmux_setup(da850_uart1_pins);
        if( ret ){
            pr_warning("da850_evm_init: UART 1 mux setup failed: %d\n", ret);
        }