Merge branch 'mpc86xx'
[oweals/u-boot.git] / cpu / arm920t / at91rm9200 / serial.c
index a9693bf44e372dd40eb8967ae084beb33578ed5e..d5634454927591eb4b3e52a4d9499b8988fff7ec 100644 (file)
@@ -33,6 +33,8 @@
 #include <asm/io.h>
 #include <asm/arch/hardware.h>
 
+DECLARE_GLOBAL_DATA_PTR;
+
 #if !defined(CONFIG_DBGU) && !defined(CONFIG_USART0) && !defined(CONFIG_USART1)
 #error must define one of CONFIG_DBGU or CONFIG_USART0 or CONFIG_USART1
 #endif
@@ -50,16 +52,12 @@ AT91PS_USART us = (AT91PS_USART) AT91C_BASE_US1;
 
 void serial_setbrg (void)
 {
-       DECLARE_GLOBAL_DATA_PTR;
        int baudrate;
 
        if ((baudrate = gd->baudrate) <= 0)
                baudrate = CONFIG_BAUDRATE;
-       if (baudrate == 0 || baudrate == CONFIG_BAUDRATE)
-               us->US_BRGR = CFG_AT91C_BRGR_DIVISOR;   /* hardcode so no __divsi3 */
-       else
-               /* MASTER_CLOCK/(16 * baudrate) */
-               us->US_BRGR = (AT91C_MASTER_CLOCK >> 4)/baudrate;
+       /* MASTER_CLOCK/(16 * baudrate) */
+       us->US_BRGR = (AT91C_MASTER_CLOCK >> 4) / (unsigned)baudrate;
 }
 
 int serial_init (void)