arm: rmobile: kzm9g: Adjust low level hardware setting
authorTetsuyuki Kobayashi <koba@kmckk.co.jp>
Thu, 5 Jul 2012 01:43:48 +0000 (01:43 +0000)
committerAlbert ARIBAUD <albert.u.boot@aribaud.net>
Wed, 3 Oct 2012 00:04:22 +0000 (02:04 +0200)
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
board/kmc/kzm9g/kzm9g.c

index c33bf21..ada4191 100644 (file)
@@ -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;
index ad72c8d..38efad4 100644 (file)
@@ -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)