| aad23f1a | 02-Sep-2022 |
Stephan Gerhold <stephan@gerhold.net> |
feat(msm8916): allow selecting which UART to use
At the moment the msm8916 platform port always uses UART number 2 for debug output. In some situations it is necessary to change this, either because
feat(msm8916): allow selecting which UART to use
At the moment the msm8916 platform port always uses UART number 2 for debug output. In some situations it is necessary to change this, either because only the other UART is exposed on the board or for runtime debugging, to avoid conflicting with the normal world.
Make the UART to use configurable using QTI_UART_NUM on the make command line and also add QTI_RUNTIME_UART as an option to keep using the UART after early boot. The latter is disabled by default since it requires reserving the UART and related clocks inside the normal world.
Change-Id: I14725f954bbcecebcf317e8601922a3d00f2ec28 Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
show more ...
|
| 7e002c8a | 06-Apr-2023 |
Stephan Gerhold <stephan@gerhold.net> |
fix(msm8916): add timeout for crash console TX flush
Resetting the UART DM controller while there are still remaining characters in the FIFO often results in corruption on the UART receiver side. To
fix(msm8916): add timeout for crash console TX flush
Resetting the UART DM controller while there are still remaining characters in the FIFO often results in corruption on the UART receiver side. To avoid this the msm8916 crash console implementation tries to wait until the TX FIFO is empty.
Unfortunately this might spin forever if the transmitter was disabled before it has fully finished transmitting. In this case the TXEMT bit console_uartdm_core_flush is waiting for will never get set.
There seems to be no good way to detect if the transmitter is actually enabled via the status registers. However, the TX FIFO is fairly small and should not take too long to get flushed, so fix this by simply limiting the amount of iterations with a short timeout.
Move the code to console_uartdm_core_init to ensure that this always happens before resetting the transmitter (also during initialization).
Change-Id: I5bb43cb0b6c029bcd15e253d60d36c0b310e108b Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
show more ...
|