summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorEric Benard <eric@eukrea.com>2013-04-22 05:54:59 +0000
committerTom Rini <trini@ti.com>2013-05-10 08:25:56 -0400
commit81ac7e51ccf2984e9c0964a883d6b7e8fe875aad (patch)
tree3b1ba5d0cea874ef4f798090b03d60b77d481f0d /arch
parent0b800a6b267de24466ca5a463db6497d7362f128 (diff)
da850: provide davinci_enable_uart0
this is needed to bring UART0 out of reset but this function currently only exists for dm644x/355/365/646x when da850 (at least am1808 also need it). Signed-off-by: Eric BĂ©nard <eric@eukrea.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c8
-rw-r--r--arch/arm/include/asm/arch-davinci/hardware.h2
2 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
index ff2e2e33df..127beb86bc 100644
--- a/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
+++ b/arch/arm/cpu/arm926ejs/davinci/da850_lowlevel.c
@@ -32,6 +32,14 @@
#include <asm/arch/emif_defs.h>
#include <asm/arch/pll_defs.h>
+void davinci_enable_uart0(void)
+{
+ lpsc_on(DAVINCI_LPSC_UART0);
+
+ /* Bringup UART0 out of reset */
+ REG(UART0_PWREMU_MGMT) = 0x00006001;
+}
+
#if defined(CONFIG_SYS_DA850_PLL_INIT)
void da850_waitloop(unsigned long loopcnt)
{
diff --git a/arch/arm/include/asm/arch-davinci/hardware.h b/arch/arm/include/asm/arch-davinci/hardware.h
index 6eed6c95a7..a9017e4683 100644
--- a/arch/arm/include/asm/arch-davinci/hardware.h
+++ b/arch/arm/include/asm/arch-davinci/hardware.h
@@ -346,6 +346,8 @@ void davinci_errata_workarounds(void);
#define PSC_PSC0_MODULE_ID_CNT 16
#define PSC_PSC1_MODULE_ID_CNT 32
+#define UART0_PWREMU_MGMT (0x01c42030)
+
struct davinci_psc_regs {
dv_reg revid;
dv_reg rsvd0[71];