RTEMS | dev/serial/zynq: Improve baud calculation and simplify code (!199)
Sebastian Huber (@sebhub)
gitlab at rtems.org
Tue Sep 17 02:27:33 UTC 2024
Sebastian Huber commented on a discussion on bsps/shared/dev/serial/zynq-uart-polled.c: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/199#note_112137
> + uint32_t desired_baud,
> + uint32_t mode_clks,
> + uint32_t *cd_ptr,
> + uint32_t *bdiv_ptr
> +)
> +{
> + uint32_t best_error = UINT32_MAX;
> + uint32_t best_cd;
> + uint32_t best_bdiv_plus_one;
> + uint32_t bdiv_plus_one;
> + uint32_t selected_clock;
> +
> + _Assert((mode_clks & ~ZYNQ_UART_MODE_CLKS) == 0);
> + selected_clock = zynq_uart_input_clock() / (1U << (3 * mode_clks));
> +
> + for (bdiv_plus_one = 5; bdiv_plus_one <= 256; ++bdiv_plus_one) {
According to the TRM: `BDIV is a programmable field in the Baud Rate Divider register and can be programmed with a value between 4 and 255.`
--
View it on GitLab: https://gitlab.rtems.org/rtems/rtos/rtems/-/merge_requests/199#note_112137
You're receiving this email because of your account on gitlab.rtems.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/bugs/attachments/20240917/a3585c54/attachment.htm>
More information about the bugs
mailing list