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.

UART3 booting

Other Parts Discussed in Thread: OMAP3530

Hi,

   For our OMAP3530 based custom board we want to use serial booting. From the technical manual we came to know that UART3 can be used. But, we are having UART3 interfaces on DSS pad, and HSUSB0 pad, and GPIO pad. our question is which pads to be used for UART3 boooting?

can we do booting by selecting hard ware interface Any UART3 pad ?

Thanks

bhimesh

  • You can only do UART3 booting on pads which have UART3 as muxmode 0.  Check the datasheet for OMAP3530 and look at the muxmode tables for your particular device.  This will show which pads correspond to UART3 on muxmode 0.

    Regards,

    James

  • Hi James,

                      Thanks for the reply. Just before we studied this point in technical reference manual. On our custom board we have only UART 1 ,2 ports. we have xds100v2 jtag.

    So, we are using JTAG to download xloader into our board. After that how can we enable UART1 or 2 for console in xloader?  

    please refer following configuration changes that we followed..

    // MUX for UART2 interface  in omap3530beagle.h

    MUX_VAL(CP(UART3_CTS_RCTX), (IEN | PID | EN | M4))  /*UART3_CTS_RCTX */

    MUX_VAL(CP(UART3_RTS_SD),    (IDIS | PTD | DIS | M4 ))  /*UART3_RTS_SD */

    MUX_VAL(CP(UART3_RX_IRRX), (IEN | PTD| DIS| M4))  /*UART3_RX_IRTX */

    MUX_VAL(CP(UART3_TX_IRTX), (IDIS| PTD| DIS|M4))  /*UART3_TX_IRTX*/

    //in the above mux values initially in mux mode M0 is for UART3 interface,  and now we changed to M4 to disable UART3 default interface.

    //and then  Enable driver for UART2

    MUX_VAL(CP(McBSP3_CLKx), (IEN | PTD|DIS| M1)) /*UART2 TX */

    MUX_VAL(CP(McBSP3_FSX),  (IEN| PTD| DIS| M1)) /*UART2 RX */

    // for UART3 interface in file omap3530beagle.h

    #define CONFIG_SERIAL1  3

    #define CONFIG_CONS_INDEX 3

    #define CFG_NS16550_COM3  OMAP34XX_UART3

    // now we changed for  UART2  interface in file omap3530beagle.h

    #define CONFIG_SERIAL1  2

    #define CONFIG_CONS_INDEX 2

    #define CFG_NS16550_COM2 OMAP34XX_UART2

    Still UART2 not working. what else we can configure to enable UART2 for the above pads?

    what if we enable #define CFG_PRINTF 1 ?

    Thanks

    bhimesh

  • Are you enabling the UART2 clocks? You would add something like this in u-boot

            /* Enable UART2 clocks */
            sr32(&prcm_base->fclken1_core, 14, 1, 0x1);
            sr32(&prcm_base->iclken1_core, 14, 1, 0x1);

    Steve K.

  • Hi Steve,

                    Thanks for the reply. We enabled the UART2 clocks  besides to MUX padding and 

     #define CONFIG_SERIAL1 2

    #define   CONFIG_CONS_INDEX 2

    #define CFG_NS16550_COM2 OMAP34XX_UART2

    Now we got UART2 communication in X-loader level.

    Thanks

    bhimesh