aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Leroy <christophe.leroy@c-s.fr>2017-07-13 15:09:48 +0200
committerTom Rini <trini@konsulko.com>2017-07-22 22:22:48 -0400
commit93e85d02b21cdcd431df2237b883218f5c4059af (patch)
tree28d769b7bfd304398f1ad61c628a9aa56dcd4f30
parent0819450fdd1160462f7a67af055618029857e204 (diff)
downloadu-boot-93e85d02b21cdcd431df2237b883218f5c4059af.zip
u-boot-93e85d02b21cdcd431df2237b883218f5c4059af.tar.gz
u-boot-93e85d02b21cdcd431df2237b883218f5c4059af.tar.bz2
powerpc, timer: Does 8xx specific actions in 8xx cpu_init
The actions inside #ifdef CONFIG_8xx in arch/powerpc/lib/time.c can be performed before, in a 8xx dedicated function. Signed-off-by: Christophe Leroy <christophe.leroy@c-s.fr>
-rw-r--r--arch/powerpc/cpu/mpc8xx/cpu_init.c5
-rw-r--r--arch/powerpc/lib/time.c11
2 files changed, 4 insertions, 12 deletions
diff --git a/arch/powerpc/cpu/mpc8xx/cpu_init.c b/arch/powerpc/cpu/mpc8xx/cpu_init.c
index 16e7bf5..dc601a1 100644
--- a/arch/powerpc/cpu/mpc8xx/cpu_init.c
+++ b/arch/powerpc/cpu/mpc8xx/cpu_init.c
@@ -38,7 +38,10 @@ void cpu_init_f(immap_t __iomem *immr)
/* unlock TBSCRK */
out_be32(&immr->im_sitk.sitk_tbscrk, KAPWR_KEY);
- out_be16(&immr->im_sit.sit_tbscr, CONFIG_SYS_TBSCR);
+ out_be16(&immr->im_sit.sit_tbscr, CONFIG_SYS_TBSCR | TBSCR_TBE);
+
+ /* Unlock timebase register */
+ out_be32(&immr->im_sitk.sitk_tbk, KAPWR_KEY);
/* initialize the PIT (11-31) */
diff --git a/arch/powerpc/lib/time.c b/arch/powerpc/lib/time.c
index 41a271a..ff9bb67 100644
--- a/arch/powerpc/lib/time.c
+++ b/arch/powerpc/lib/time.c
@@ -65,21 +65,10 @@ int timer_init(void)
{
unsigned long temp;
-#if defined(CONFIG_8xx)
- immap_t __iomem *immap = (immap_t __iomem *)CONFIG_SYS_IMMR;
-
- /* unlock */
- out_be32(&immap->im_sitk.sitk_tbk, KAPWR_KEY);
-#endif
-
/* reset */
asm volatile("li %0,0 ; mttbu %0 ; mttbl %0;"
: "=&r"(temp) );
-#if defined(CONFIG_8xx)
- /* enable */
- setbits_be16(&immap->im_sit.sit_tbscr, TBSCR_TBE);
-#endif
return (0);
}
/* ------------------------------------------------------------------------- */