Patchwork [U-Boot,v4,2/7] arm: rmobile: kzm9g: Adjust low level hardware setting

login
register
mail settings
Submitter Tetsuyuki Kobayashi
Date July 17, 2012, 5:13 a.m.
Message ID <1342501992-10042-3-git-send-email-koba@kmckk.co.jp>
Download mbox | patch
Permalink /patch/171329/
State Accepted
Delegated to: Albert ARIBAUD
Headers show

Comments

Tetsuyuki Kobayashi - July 17, 2012, 5:13 a.m.
From: Tetsuyuki Kobayashi <koba@kmckk.co.jp>

Adjust low level hardware setting in s_init.

Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
---
Changes for v2:
 - No change. Just rebased.
Changes for v3:
 - No change.
Changes for v4:
 - No change.

 arch/arm/include/asm/arch-rmobile/sh73a0.h |    4 +++-
 board/kmc/kzm9g/kzm9g.c                    |    2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

Patch

diff --git a/arch/arm/include/asm/arch-rmobile/sh73a0.h b/arch/arm/include/asm/arch-rmobile/sh73a0.h
index 605dd44..ad59be7 100644
--- a/arch/arm/include/asm/arch-rmobile/sh73a0.h
+++ b/arch/arm/include/asm/arch-rmobile/sh73a0.h
@@ -229,7 +229,9 @@  struct sh73a0_sbsc_cpg {
 	volatile u32 smstpcr3;
 	volatile u32 smstpcr4;
 	volatile u32 smstpcr5;
-	volatile u32 dummy11[10]; /* 0x148 .. 0x16c */
+	volatile u32 dummy11[2]; /* 0x148 .. 0x14c */
+	volatile u32 cpgxxcs4;
+	volatile u32 dummy12[7]; /* 0x154 .. 0x16c */
 	volatile u32 dvfscr2;
 	volatile u32 dvfscr3;
 	volatile u32 dvfscr4;
diff --git a/board/kmc/kzm9g/kzm9g.c b/board/kmc/kzm9g/kzm9g.c
index 8d7c61a..3716483 100644
--- a/board/kmc/kzm9g/kzm9g.c
+++ b/board/kmc/kzm9g/kzm9g.c
@@ -163,6 +163,7 @@  void s_init(void)
 	#define LIFEC_SEC_SRC_BIT	(1 << 15)
 	writel(readl(LIFEC_SEC_SRC) & ~LIFEC_SEC_SRC_BIT, LIFEC_SEC_SRC);
 
+	clrbits_le32(&cpg->smstpcr3, (1 << 15));
 	clrbits_le32(&cpg_srcr->srcr3, (1 << 15));
 	clrbits_le32(&cpg->smstpcr2, (1 << 18));
 	clrbits_le32(&cpg_srcr->srcr2, (1 << 18));
@@ -266,6 +267,7 @@  void s_init(void)
 
 	writel(0x00000b0b, &cpg->frqcrd);
 	cmp_loop(&cpg->frqcrd, 0x80000000, 0x0);
+	writel(0xfffffffc, &cpg->cpgxxcs4);
 }
 
 int board_early_init_f(void)