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.

Linux/AM3352: UART soft reset required for baud rate change.

Part Number: AM3352


Tool/software: Linux

I am working on a custom UART driver for AM3352 that is running on Linux kernel 4.9.28 that comes with TI SDK 4.4. To change the baud rate first the SOFTRESET bit in system configuration register (SYSC) is asserted high then wait for RESETDONE in system status register (SYSS) to go high. After reset is complete new values are assigned to UART_DLL and UART_DLM register. Time take by UART soft reset to complete is not consistent sometimes it varies from 9ms to 250ms. My questions are

1. Why the time to soft reset UART is varying so much? Why soft reset sometimes take more time?

2. Does UART reset is needed to change baud rate?

  • Hi,

    I've notified the sw team. Their feedback will be posted here.

    Best Regards,
    Yordan
  • Hi Ankur,

    Answers to your questions below:

    1. It is very likely your request to reset the UART takes a variable amount of time because typically when the kernel has to wait on something to complete, it is able to be preempted by the scheduler. In other words, we would not want to stall the kernel or prevent interrupt handlers from running while waiting for a bit to flip.

    2. Yes, the UART needs to be reset after a BAUD rate change.

    Regards,
    Mike