[U-Boot-Users] [PATCH/review] Blackfin: make baud calculation more accurate
Wolfgang Denk
wd at denx.de
Sun Apr 20 08:36:46 CEST 2008
In message <1207721182-29697-1-git-send-email-vapier at gentoo.org> you wrote:
> We should use the algorithm in the Linux kernel so that the UART divisor
> calculation is more accurate. It also fixes problems on some picky UARTs
> that have sampling anomalies.
>
> Signed-off-by: Mike Frysinger <vapier at gentoo.org>
> ---
> cpu/blackfin/serial.h | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/cpu/blackfin/serial.h b/cpu/blackfin/serial.h
> index 1f0f4b4..d268da5 100644
> --- a/cpu/blackfin/serial.h
> +++ b/cpu/blackfin/serial.h
> @@ -179,7 +179,7 @@ static inline void serial_early_set_baud(uint32_t baud)
> * The +1 is to make sure we over sample just a little
^^^^^^^^^^^^^^^^^^^
Fix!
> * rather than under sample the incoming signals.
> */
> - uint16_t divisor = (get_sclk() / (baud * 16)) + 1;
> + uint16_t divisor = (get_sclk() + (baud * 8)) / (baud * 16);
Please make sure to adjust the comment, as there is no "+1" any more
in the new code.
Best regards,
Wolfgang Denk
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
I am pleased to see that we have differences. May we together become
greater than the sum of both of us.
-- Surak of Vulcan, "The Savage Curtain", stardate 5906.4
More information about the U-Boot
mailing list