marvell: uart: a3720: Fix comments in console_a3700_core_init() function
The delay loop executes 3 instructions. These 3 instructions are executed in 2 processor ticks and 30000 iterations on a 600 MHz CPU should yield approximately 100 us. This means we are waiting 2 ms, not 20 ms, for TX FIFO to be empty. Signed-off-by: Pali Rohár <pali@kernel.org> Change-Id: I2cccad405bcc73cd6d1062adc0205c405c16c15f
This commit is contained in:
parent
6630681458
commit
ab1fe18841
|
@ -60,10 +60,10 @@ func console_a3700_core_init
|
|||
str w3, [x0, #UART_POSSR_REG]
|
||||
|
||||
/*
|
||||
* Wait for the TX (THR and TSR) to be empty. If wait for 20ms, the TX FIFO is
|
||||
* Wait for the TX (THR and TSR) to be empty. If wait for 2ms, the TX FIFO is
|
||||
* still not empty, TX FIFO will reset by all means.
|
||||
*/
|
||||
mov w1, #20 /* max time out 20ms */
|
||||
mov w1, #20 /* max time out 20 * 100 us */
|
||||
2:
|
||||
/* Check whether TX (THR and TSR) is empty */
|
||||
ldr w3, [x0, #UART_STATUS_REG]
|
||||
|
@ -72,13 +72,13 @@ func console_a3700_core_init
|
|||
b.ne 4f
|
||||
|
||||
/* Delay */
|
||||
mov w2, #30000
|
||||
mov w2, #30000 /* 30000 cycles of below 3 instructions on 600 MHz CPU ~~ 100 us */
|
||||
3:
|
||||
sub w2, w2, #1
|
||||
cmp w2, #0
|
||||
b.ne 3b
|
||||
|
||||
/* Check whether 10ms is waited */
|
||||
/* Check whether wait timeout expired */
|
||||
sub w1, w1, #1
|
||||
cmp w1, #0
|
||||
b.ne 2b
|
||||
|
|
Loading…
Reference in New Issue