From: Sonic Zhang Date: Thu, 14 Mar 2013 04:47:12 +0000 (+0800) Subject: blackfin: Uart divisor should be set after their values are generated. X-Git-Tag: v2013.07-rc1~1^2~53^2~6 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=04eeb758e746d80848b4add1515493fe565a735e;p=oweals%2Fu-boot.git blackfin: Uart divisor should be set after their values are generated. Signed-off-by: Sonic Zhang --- diff --git a/arch/blackfin/cpu/initcode.c b/arch/blackfin/cpu/initcode.c index 4b10b6c6b2..8ef0b92c23 100644 --- a/arch/blackfin/cpu/initcode.c +++ b/arch/blackfin/cpu/initcode.c @@ -715,8 +715,8 @@ update_serial_clocks(ADI_BOOT_DATA *bs, uint sdivB, uint divB, uint vcoB) * for dividing which means we'd generate a libgcc reference. */ unsigned int sdivR, vcoR; - unsigned int dividend = sdivB * divB * vcoR; - unsigned int divisor = vcoB * sdivR; + unsigned int dividend; + unsigned int divisor; unsigned int quotient; serial_putc('a'); @@ -729,6 +729,9 @@ update_serial_clocks(ADI_BOOT_DATA *bs, uint sdivB, uint divB, uint vcoB) sdivR = bfin_read_PLL_DIV() & 0xf; vcoR = (bfin_read_PLL_CTL() >> 9) & 0x3f; #endif + + dividend = sdivB * divB * vcoR; + divisor = vcoB * sdivR; quotient = early_division(dividend, divisor); serial_early_put_div(quotient - ANOMALY_05000230); serial_putc('c');