davinci: fix dm644x buglets
authorDavid Brownell <dbrownell@users.sourceforge.net>
Fri, 15 May 2009 21:44:09 +0000 (23:44 +0200)
committerWolfgang Denk <wd@denx.de>
Fri, 12 Jun 2009 18:39:48 +0000 (20:39 +0200)
Fix two buglets in the dm644x support:  don't set two must-be-zero
bits in the UART management register; and only include the I2C hooks
if the I2C driver is being included.

Signed-off-by: David Brownell <dbrownell@users.sourceforge.net>
cpu/arm926ejs/davinci/dm644x.c

index df382bd..bb105b5 100644 (file)
@@ -41,7 +41,7 @@ void davinci_enable_uart0(void)
        lpsc_on(DAVINCI_LPSC_UART0);
 
        /* Bringup UART0 out of reset */
-       REG(UART0_PWREMU_MGMT) = 0x0000e003;
+       REG(UART0_PWREMU_MGMT) = 0x00006001;
 
        /* Enable UART0 MUX lines */
        REG(PINMUX1) |= PINMUX1_UART0;
@@ -62,6 +62,7 @@ void davinci_enable_emac(void)
 }
 #endif
 
+#ifdef CONFIG_DRIVER_DAVINCI_I2C
 void davinci_enable_i2c(void)
 {
        lpsc_on(DAVINCI_LPSC_I2C);
@@ -69,6 +70,7 @@ void davinci_enable_i2c(void)
        /* Enable I2C pin Mux */
        REG(PINMUX1) |= PINMUX1_I2C;
 }
+#endif
 
 void davinci_errata_workarounds(void)
 {