summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--board/edb93xx/early_udelay.h2
-rw-r--r--board/edb93xx/edb93xx.c6
-rw-r--r--include/asm-arm/arch-ep93xx/ep93xx.h3
3 files changed, 9 insertions, 2 deletions
diff --git a/board/edb93xx/early_udelay.h b/board/edb93xx/early_udelay.h
index 3b26b3f16cd..185283d98dc 100644
--- a/board/edb93xx/early_udelay.h
+++ b/board/edb93xx/early_udelay.h
@@ -26,7 +26,7 @@
static inline void early_udelay(uint32_t usecs)
{
/* loop takes 4 cycles at 5.0ns (fastest case, running at 200MHz) */
- register uint32_t loops = (usecs * 1000) / 20;
+ register uint32_t loops = usecs * (1000 / 20);
__asm__ volatile ("1:\n"
"subs %0, %1, #1\n"
diff --git a/board/edb93xx/edb93xx.c b/board/edb93xx/edb93xx.c
index 4df2246bd70..dde30ffdc23 100644
--- a/board/edb93xx/edb93xx.c
+++ b/board/edb93xx/edb93xx.c
@@ -64,6 +64,12 @@ int board_init(void)
value |= SYSCON_PWRCNT_UART_BAUD;
writel(value, &syscon->pwrcnt);
+ /* Enable the uart in devicecfg */
+ value = readl(&syscon->devicecfg);
+ value |= 1<<18 /* U1EN */;
+ writel(0xAA, &syscon->sysswlock);
+ writel(value, &syscon->devicecfg);
+
/* Machine number, as defined in linux/arch/arm/tools/mach-types */
gd->bd->bi_arch_number = CONFIG_MACH_TYPE;
diff --git a/include/asm-arm/arch-ep93xx/ep93xx.h b/include/asm-arm/arch-ep93xx/ep93xx.h
index 6cafe54fbe4..806557a50ea 100644
--- a/include/asm-arm/arch-ep93xx/ep93xx.h
+++ b/include/asm-arm/arch-ep93xx/ep93xx.h
@@ -558,8 +558,9 @@ struct syscon_regs {
uint32_t i2sclkdiv;
uint32_t keytchclkdiv;
uint32_t chipid;
+ uint32_t reserved4;
uint32_t syscfg;
- uint32_t reserved4[8];
+ uint32_t reserved5[8];
uint32_t sysswlock;
};
#else