diff options
author | Pali Rohár <pali@kernel.org> | 2021-01-18 12:52:55 +0100 |
---|---|---|
committer | Pali Rohár <pali@kernel.org> | 2021-01-18 12:52:55 +0100 |
commit | b8e637f49ea90d06b21f160eba3180717787730f (patch) | |
tree | b33ce8874631dff31e4d2bbe3d746d218bd556a5 | |
parent | 74867756ef5c8f2a33af2fc59915cbd8905a23e5 (diff) | |
download | platform_external_arm-trusted-firmware-b8e637f49ea90d06b21f160eba3180717787730f.tar.gz platform_external_arm-trusted-firmware-b8e637f49ea90d06b21f160eba3180717787730f.tar.bz2 platform_external_arm-trusted-firmware-b8e637f49ea90d06b21f160eba3180717787730f.zip |
marvell: uart: a3720: Fix macro name for 6th bit of Status Register
This patch does not change code, it only updates comments and macro name
for 6th bit of Status Register. So TF-A binary stay same.
6th bit of the Status Register is named TX EMPTY and is set to 1 when both
Transmitter Holding Register (THR) or Transmitter Shift Register (TSR) are
empty. It is when all characters were already transmitted.
There is also TX FIFO EMPTY bit in the Status Register which is set to 1
only when THR is empty.
In both console_a3700_core_init() and console_a3700_core_flush() functions
we should wait until both THR and TSR are empty therefore we should check
6th bit of the Status Register.
So current code is correct, just had misleading macro names and comments.
This change fixes this "documentation" issue, fixes macro name for 6th bit
of the Status Register and also updates comments.
Signed-off-by: Pali Rohár <pali@kernel.org>
Change-Id: I19e4e7f53a90bcfb318e6dd1b1249b6cbf81c4d3
-rw-r--r-- | drivers/marvell/uart/a3700_console.S | 12 | ||||
-rw-r--r-- | include/drivers/marvell/uart/a3700_console.h | 2 |
2 files changed, 7 insertions, 7 deletions
diff --git a/drivers/marvell/uart/a3700_console.S b/drivers/marvell/uart/a3700_console.S index 9a557aac3..58dad7aa5 100644 --- a/drivers/marvell/uart/a3700_console.S +++ b/drivers/marvell/uart/a3700_console.S @@ -60,14 +60,14 @@ func console_a3700_core_init str w3, [x0, #UART_POSSR_REG] /* - * Wait for the TX FIFO to be empty. If wait for 20ms, the TX FIFO is + * Wait for the TX (THR and TSR) to be empty. If wait for 20ms, the TX FIFO is * still not empty, TX FIFO will reset by all means. */ mov w1, #20 /* max time out 20ms */ 2: - /* Check whether TX FIFO is empty */ + /* Check whether TX (THR and TSR) is empty */ ldr w3, [x0, #UART_STATUS_REG] - and w3, w3, #UARTLSR_TXFIFOEMPTY + and w3, w3, #UARTLSR_TXEMPTY cmp w3, #0 b.ne 4f @@ -241,10 +241,10 @@ endfunc console_a3700_getc * --------------------------------------------- */ func console_a3700_core_flush - /* Wait for the TX FIFO to be empty */ + /* Wait for the TX (THR and TSR) to be empty */ 1: ldr w1, [x0, #UART_STATUS_REG] - and w1, w1, #UARTLSR_TXFIFOEMPTY - cmp w1, #UARTLSR_TXFIFOEMPTY + and w1, w1, #UARTLSR_TXEMPTY + cmp w1, #UARTLSR_TXEMPTY b.ne 1b ret endfunc console_a3700_core_flush diff --git a/include/drivers/marvell/uart/a3700_console.h b/include/drivers/marvell/uart/a3700_console.h index e77a16560..12d2cdc52 100644 --- a/include/drivers/marvell/uart/a3700_console.h +++ b/include/drivers/marvell/uart/a3700_console.h @@ -48,12 +48,12 @@ /* Line Status Register bits */ #define UARTLSR_TXFIFOFULL (1 << 11) /* Tx Fifo Full */ +#define UARTLSR_TXEMPTY (1 << 6) /* Tx Empty */ #define UARTLSR_RXRDY (1 << 4) /* Rx Ready */ /* UART Control Register bits */ #define UART_CTRL_RXFIFO_RESET (1 << 14) #define UART_CTRL_TXFIFO_RESET (1 << 15) -#define UARTLSR_TXFIFOEMPTY (1 << 6) #ifndef __ASSEMBLER__ |