@@ -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;
@@ -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)
Adjust low level hardware setting in s_init. Signed-off-by: Tetsuyuki Kobayashi <koba@kmckk.co.jp> --- arch/arm/include/asm/arch-rmobile/sh73a0.h | 4 +++- board/kmc/kzm9g/kzm9g.c | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) -- 1.7.9.5