summaryrefslogtreecommitdiffstats
path: root/bsps/shared/dev/serial
diff options
context:
space:
mode:
authorG S Niteesh <gsnb.gn@gmail.com>2020-02-10 00:51:43 +0530
committerChristian Mauderer <oss@c-mauderer.de>2020-02-16 16:55:20 +0100
commit5857e83cfc89440d5dc3177f8f8fc309e1071781 (patch)
treebc96444192a21d8845a4e3f1f079a4768343675f /bsps/shared/dev/serial
parentsmpschededf02: Improve readability (diff)
downloadrtems-5857e83cfc89440d5dc3177f8f8fc309e1071781.tar.bz2
libchip/ns16550: Allow user calculate baud divisor
This patch will allow the user to pass a function to calculate the baud divisor. This will allow for more flexibility, since for some BSPs like raspberrypi, the calculation of baud divisor is different from what is in the current driver.
Diffstat (limited to 'bsps/shared/dev/serial')
-rw-r--r--bsps/shared/dev/serial/ns16550-context.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/bsps/shared/dev/serial/ns16550-context.c b/bsps/shared/dev/serial/ns16550-context.c
index ce55b8309c..dbf6c64af4 100644
--- a/bsps/shared/dev/serial/ns16550-context.c
+++ b/bsps/shared/dev/serial/ns16550-context.c
@@ -112,6 +112,8 @@ static uint32_t NS16550_GetBaudDivisor(ns16550_context *ctx, uint32_t baud)
NS16550_FRACTIONAL_DIVIDER,
fractionalDivider
);
+ } else if (ctx->calculate_baud_divisor != NULL) {
+ baudDivisor = ctx->calculate_baud_divisor(ctx, baud);
}
return baudDivisor;