summaryrefslogtreecommitdiffstats
path: root/c/src/libchip/serial/ns16550.h
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-18 07:18:57 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-18 07:21:54 +0200
commit67015b617e68c97e73266d625bea0edccfa42d44 (patch)
treef6e41c85af8b358107468568110909e7d13c1222 /c/src/libchip/serial/ns16550.h
parentposix: Simplify _POSIX_Threads_Create_extension() (diff)
downloadrtems-67015b617e68c97e73266d625bea0edccfa42d44.tar.bz2
dev/serial: Lazy update of NS16550 settings
Updates of the line control and baud divisor while transfers are in progress may lead to unpredictable behaviour on some chips. Perform the updates only if necessary. Close #3198.
Diffstat (limited to '')
-rw-r--r--c/src/libchip/serial/ns16550.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/c/src/libchip/serial/ns16550.h b/c/src/libchip/serial/ns16550.h
index 19ac3f1152..4f1b98bf0b 100644
--- a/c/src/libchip/serial/ns16550.h
+++ b/c/src/libchip/serial/ns16550.h
@@ -70,6 +70,8 @@ typedef struct {
uint32_t initial_baud;
bool has_fractional_divider_register;
uint8_t modem_control;
+ uint8_t line_control;
+ uint32_t baud_divisor;
size_t out_total;
size_t out_remaining;
size_t out_current;