Skip to content

Commit 991cf4c

Browse files
committed
SoC/evalsoc: fix UART stop-bit and watermark configuration
Related to Github issue #68 Correct control-register masks without clearing unrelated fields. Co-authored-by: KafCoppelia <k740677208@gmail.com> Signed-off-by: Jiandong Qiu <qiujiandong@nucleisys.com>
1 parent dc64681 commit 991cf4c

2 files changed

Lines changed: 13 additions & 4 deletions

File tree

SoC/evalsoc/Common/Source/Drivers/evalsoc_uart.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ int32_t uart_config_stopbit(UART_TypeDef* uart, UART_STOP_BIT stopbit)
1818
return -1;
1919
}
2020
uint32_t stopval = stopbit;
21-
stopval = (stopbit << UART_TXCTRL_NSTOP_OFS) & UART_TXCTRL_TXCNT_MASK;
22-
uart->TXCTRL &= stopval | (~UART_TXCTRL_TXCNT_MASK);
21+
stopval = (stopval << UART_TXCTRL_NSTOP_OFS) & UART_TXCTRL_NSTOP_MASK;
22+
uart->TXCTRL = stopval | (~UART_TXCTRL_NSTOP_MASK & uart->TXCTRL);
2323
return 0;
2424
}
2525

@@ -51,7 +51,7 @@ int32_t uart_set_tx_watermark(UART_TypeDef* uart, uint32_t watermark)
5151
return -1;
5252
}
5353
watermark = (watermark << UART_TXCTRL_TXCNT_OFS) & UART_TXCTRL_TXCNT_MASK;
54-
uart->TXCTRL &= watermark | (~UART_TXCTRL_TXCNT_MASK);
54+
uart->TXCTRL = watermark | (~UART_TXCTRL_TXCNT_MASK & uart->TXCTRL);
5555
return 0;
5656
}
5757

@@ -79,7 +79,7 @@ int32_t uart_set_rx_watermark(UART_TypeDef* uart, uint32_t watermark)
7979
return -1;
8080
}
8181
watermark = (watermark << UART_RXCTRL_RXCNT_OFS) & UART_RXCTRL_RXCNT_MASK;
82-
uart->RXCTRL &= watermark | (~UART_RXCTRL_RXCNT_MASK);
82+
uart->RXCTRL = watermark | (~UART_RXCTRL_RXCNT_MASK & uart->RXCTRL);
8383
return 0;
8484
}
8585

doc/source/changelog.rst

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@
33
Changelog
44
=========
55

6+
V0.4.0-dev
7+
----------
8+
9+
This is release version of ``0.4.0`` of N100 SDK, which is still under development.
10+
11+
* SoC
12+
13+
- Fix EvalSoC UART stop-bit and FIFO watermark configuration to update the intended control-register fields.
14+
615
V0.3.0
716
------
817

0 commit comments

Comments
 (0)