lpc43xx/uart: Fix TER register definition
I'm not sure why bit 7 and offset 0x30 were used previously. Revision 1.6 of UM10503 claims that the TXEN bit is bit 0 in all UARTs' TER registers.
This commit is contained in:
parent
dbf9c3bc39
commit
fa47bb80d5
|
@ -74,9 +74,6 @@
|
|||
/* Oversampling Register only for UART0/2/3 */
|
||||
#define UART_OSR(port) MMIO32(port + 0x02C)
|
||||
|
||||
/* Transmit Enable Register Only for UART1 */
|
||||
#define UART_TER_UART1(port) MMIO32(port + 0x030)
|
||||
|
||||
/* Half-Duplex enable Register only for UART0/2/3 */
|
||||
#define UART_HDEN(port) MMIO32(port + 0x040)
|
||||
|
||||
|
@ -95,7 +92,7 @@
|
|||
/* Synchronous Mode Control Register only for UART0/2/3 */
|
||||
#define UART_SYNCCTRL(port) MMIO32(port + 0x058)
|
||||
|
||||
/* Transmit Enable Register Only for UART0/2/3 */
|
||||
/* Transmit Enable Register */
|
||||
#define UART_TER(port) MMIO32(port + 0x05C)
|
||||
|
||||
/* --------------------- BIT DEFINITIONS -------------------------------------- */
|
||||
|
@ -255,8 +252,7 @@
|
|||
/*********************************************************************
|
||||
* Macro defines for Macro defines for UART Tx Enable register
|
||||
**********************************************************************/
|
||||
#define UART1_TER_TXEN ((uint8_t)(BIT7)) /* Transmit enable bit */
|
||||
#define UART0_2_3_TER_TXEN ((uint8_t)(BIT0)) /* Transmit enable bit */
|
||||
#define UART_TER_TXEN ((uint8_t)(BIT0)) /* Transmit enable bit */
|
||||
|
||||
/**********************************************************************
|
||||
* Macro defines for Macro defines for UART FIFO Level register
|
||||
|
|
|
@ -94,25 +94,13 @@ void uart_init(uart_num_t uart_num,
|
|||
}
|
||||
|
||||
/* Wait end of TX & disable TX */
|
||||
if(uart_num == UART1_NUM)
|
||||
{
|
||||
UART_TER_UART1(uart_port) = UART1_TER_TXEN;
|
||||
UART_TER(uart_port) = UART_TER_TXEN;
|
||||
|
||||
/* Wait for current transmit complete */
|
||||
while (!(UART_LSR(uart_port) & UART_LSR_THRE));
|
||||
/* Wait for current transmit complete */
|
||||
while (!(UART_LSR(uart_port) & UART_LSR_THRE));
|
||||
|
||||
/* Disable Tx */
|
||||
UART_TER_UART1(uart_port) = 0;
|
||||
}else
|
||||
{
|
||||
UART_TER(uart_port) = UART0_2_3_TER_TXEN;
|
||||
|
||||
/* Wait for current transmit complete */
|
||||
while (!(UART_LSR(uart_port) & UART_LSR_THRE));
|
||||
|
||||
/* Disable Tx */
|
||||
UART_TER(uart_port) = 0;
|
||||
}
|
||||
/* Disable Tx */
|
||||
UART_TER(uart_port) = 0;
|
||||
|
||||
/* Disable interrupt */
|
||||
UART_IER(uart_port) = 0;
|
||||
|
@ -153,13 +141,7 @@ void uart_init(uart_num_t uart_num,
|
|||
UART_LCR(uart_port) = (lcr_config & UART_LCR_BITMASK);
|
||||
|
||||
/* Enable TX */
|
||||
if(uart_num == UART1_NUM)
|
||||
{
|
||||
UART_TER_UART1(uart_port) = UART1_TER_TXEN;
|
||||
}else
|
||||
{
|
||||
UART_TER(uart_port) = UART0_2_3_TER_TXEN;
|
||||
}
|
||||
UART_TER(uart_port) = UART_TER_TXEN;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in New Issue