From a12633122c578f046c1ac72f4e9e13f7493865af Mon Sep 17 00:00:00 2001
From: Tetsuyuki Kobayashi <koba@kmckk.co.jp>
Date: Thu, 5 Jul 2012 01:43:48 +0000
Subject: [PATCH] arm: rmobile: kzm9g: Adjust low level hardware setting

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

diff --git a/arch/arm/include/asm/arch-rmobile/sh73a0.h b/arch/arm/include/asm/arch-rmobile/sh73a0.h
index c33bf21e41..ada4191814 100644
--- a/arch/arm/include/asm/arch-rmobile/sh73a0.h
+++ b/arch/arm/include/asm/arch-rmobile/sh73a0.h
@@ -228,7 +228,9 @@ struct sh73a0_sbsc_cpg {
 	u32 smstpcr3;
 	u32 smstpcr4;
 	u32 smstpcr5;
-	u32 dummy11[10]; /* 0x148 .. 0x16c */
+	u32 dummy11[2]; /* 0x148 .. 0x14c */
+	u32 cpgxxcs4;
+	u32 dummy12[7]; /* 0x154 .. 0x16c */
 	u32 dvfscr2;
 	u32 dvfscr3;
 	u32 dvfscr4;
diff --git a/board/kmc/kzm9g/kzm9g.c b/board/kmc/kzm9g/kzm9g.c
index ad72c8daf3..38efad4765 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)
-- 
2.39.5