summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPo-Yu Chuang <ratbert@faraday-tech.com>2011-02-17 19:35:23 +0000
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>2011-04-27 19:38:07 +0200
commit8dc667c9b826ddf660f55223e1b328fc912bceb5 (patch)
tree14da18540647b717c7646e04b2aa68200b5c0281
parentd6150db2dcb509835df6a01eb5c61e4154f9dc66 (diff)
downloadu-boot-8dc667c9b826ddf660f55223e1b328fc912bceb5.tar.gz
u-boot-8dc667c9b826ddf660f55223e1b328fc912bceb5.tar.xz
u-boot-8dc667c9b826ddf660f55223e1b328fc912bceb5.zip
arm: a320: use new ftpmu010 API
ftpmu010 related code has been moved to drivers/power/. Signed-off-by: Po-Yu Chuang <ratbert@faraday-tech.com> Signed-off-by: Albert Aribaud <albert.aribaud@free.fr>
-rw-r--r--arch/arm/cpu/arm920t/a320/timer.c23
-rw-r--r--include/configs/a320evb.h5
2 files changed, 8 insertions, 20 deletions
diff --git a/arch/arm/cpu/arm920t/a320/timer.c b/arch/arm/cpu/arm920t/a320/timer.c
index d2e316fd54..7785036f57 100644
--- a/arch/arm/cpu/arm920t/a320/timer.c
+++ b/arch/arm/cpu/arm920t/a320/timer.c
@@ -19,21 +19,19 @@
#include <common.h>
#include <asm/io.h>
-#include <asm/arch/ftpmu010.h>
#include <asm/arch/fttmr010.h>
+#include <faraday/ftpmu010.h>
static ulong timestamp;
static ulong lastdec;
static struct fttmr010 *tmr = (struct fttmr010 *)CONFIG_FTTMR010_BASE;
-static struct ftpmu010 *pmu = (struct ftpmu010 *)CONFIG_FTPMU010_BASE;
#define TIMER_CLOCK 32768
#define TIMER_LOAD_VAL 0xffffffff
int timer_init(void)
{
- unsigned int oscc;
unsigned int cr;
debug("%s()\n", __func__);
@@ -41,23 +39,8 @@ int timer_init(void)
/* disable timers */
writel(0, &tmr->cr);
- /*
- * use 32768Hz oscillator for RTC, WDT, TIMER
- */
-
- /* enable the 32768Hz oscillator */
- oscc = readl(&pmu->OSCC);
- oscc &= ~(FTPMU010_OSCC_OSCL_OFF | FTPMU010_OSCC_OSCL_TRI);
- writel(oscc, &pmu->OSCC);
-
- /* wait until ready */
- while (!(readl(&pmu->OSCC) & FTPMU010_OSCC_OSCL_STABLE))
- ;
-
- /* select 32768Hz oscillator */
- oscc = readl(&pmu->OSCC);
- oscc |= FTPMU010_OSCC_OSCL_RTCLSEL;
- writel(oscc, &pmu->OSCC);
+ /* use 32768Hz oscillator for RTC, WDT, TIMER */
+ ftpmu010_32768osc_enable();
/* setup timer */
writel(TIMER_LOAD_VAL, &tmr->timer3_load);
diff --git a/include/configs/a320evb.h b/include/configs/a320evb.h
index 27f137f06d..5373bcb570 100644
--- a/include/configs/a320evb.h
+++ b/include/configs/a320evb.h
@@ -32,6 +32,11 @@
#undef CONFIG_SKIP_LOWLEVEL_INIT
/*-----------------------------------------------------------------------
+ * Power Management Unit
+ */
+#define CONFIG_FTPMU010_POWER
+
+/*-----------------------------------------------------------------------
* Timer
*/
#define CONFIG_SYS_HZ 1000 /* timer ticks per second */