davinci: fix dm644x buglets
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>
diff --git a/cpu/arm926ejs/davinci/dm644x.c b/cpu/arm926ejs/davinci/dm644x.c
index df382bd..bb105b5 100644
--- a/cpu/arm926ejs/davinci/dm644x.c
+++ b/cpu/arm926ejs/davinci/dm644x.c
@@ -41,7 +41,7 @@
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 @@
}
#endif
+#ifdef CONFIG_DRIVER_DAVINCI_I2C
void davinci_enable_i2c(void)
{
lpsc_on(DAVINCI_LPSC_I2C);
@@ -69,6 +70,7 @@
/* Enable I2C pin Mux */
REG(PINMUX1) |= PINMUX1_I2C;
}
+#endif
void davinci_errata_workarounds(void)
{