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.

[OMAP4460] register setting to get UART1 using pin originally mapped to I2C2

Hi,

I'm working with pandabaord with OMAP4460 and now I'd like to get another UART channel.

I already take two serial channels, UART3 and UART4 but UART2 seems dedicated for BT so I'm trying to get UART1 now. Follwing the OMAP4 technical reference, it seems possible get UART1 by setting control module pad (shown at Table 18.9 on p. 3427). I put UART1 value(0x1) to both 0x4A10 0124[16:18] and 0x4A10 0128[16:18] for tx and rx, but I don't get proper signal that I sent to UART1.

Any of you try this before or have any suggestion to solve this issue? Thanks for your help in advance.

Sincerely,

Jaeyeon

  • Hi Jaeyeon,

    I checked the register settings according to OMAP4460 TRM http://www.ti.com/litv/pdf/swpu235aa

    On p.3700 Table 18.10 are listed the uart1_rx and uart1_tx registers to set. Those are:

    For uart1_rx register is CONTROL_CORE_PAD0_I2C1_SDA_PAD1_I2C2_SCL[31:16]

    address: 0x4A10 0124 bits [18:16] set to 0x1 for muxmode uart1_rx on ball C26

    For uart1_tx register is CONTROL_CORE_PAD0_I2C2_SDA_PAD1_I2C3_SCL[15:0]

    address: 0x4A10 0128 bits [2:0] set to 0x1 for muxmode uart1_tx on ball D26

    Then set the mode of UART1

    Register UART_MDR1 adress 0x4806 A020 bits [0:2] set fore one of the UART modes

    Then see the TRM section 23.3 UART/IrDA/CIR for how to configure UART parameters.

    Please do not forget to set the correct baudrate, parity and stop bits to make a proper communication.

    Let me know if you succeeded.

    BR,

    Vidin

  • Hi Vidin,

    Thanks for your point. I made mistake to set uart1_tx previously.

    As you pointed I set both for tx and rx as well as set MODE_SELECT at UART_MDR1 as 0x2: UART 16x auto-baud. Still I don't think the UART port is not set up correctly since the signals from the C26 and D26 look not really serial communication. Here's what I collected. Above graph is one before I set register values and the below is one after setting register value. The rx and rx port is active somehow.

    What I thought was as long as I set the pin mode as Uart1, the baud rate and everything set up automatically by linux system command such as doing screen /dev/ttyO1 115200. Do you have any idea what I missed and moreover, what should I check out about UART parameter in chapter 23.3?

    Many Thanks for your help.

    --

    Jaeyeon