[U-Boot,v2,03/14] powerpc, timer: Does 8xx specific actions in 8xx cpu_init
diff mbox

Message ID f5dc4bb58696b1e9f363cb638a70f648e230dd33.1499945943.git.christophe.leroy@c-s.fr
State Accepted
Delegated to: Tom Rini
Headers show

Commit Message

Christophe Leroy July 13, 2017, 1:09 p.m. UTC
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>
---
 arch/powerpc/cpu/mpc8xx/cpu_init.c |  5 ++++-
 arch/powerpc/lib/time.c            | 11 -----------
 2 files changed, 4 insertions(+), 12 deletions(-)

Comments

Tom Rini July 25, 2017, 12:43 a.m. UTC | #1
On Thu, Jul 13, 2017 at 03:09:48PM +0200, Christophe Leroy wrote:

> 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>

Applied to u-boot/master, thanks!

Patch
diff mbox

diff --git a/arch/powerpc/cpu/mpc8xx/cpu_init.c b/arch/powerpc/cpu/mpc8xx/cpu_init.c
index 16e7bf5fd5..dc601a1297 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 41a271a42d..ff9bb67e28 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);
 }
 /* ------------------------------------------------------------------------- */