|
@@ -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);
|