
Before a kernel boots, GPIO, SYS-DMAC, QSPI, MSIOF and IPMMU-GP clock is halted.
Signed-off-by: Hisashi Nakamura hisashi.nakamura.ak@renesas.com Signed-off-by: Nobuhiro Iwamatsu nobuhiro.iwamatsu.yj@renesas.com --- board/renesas/alt/alt.c | 43 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 41 insertions(+), 2 deletions(-)
diff --git a/board/renesas/alt/alt.c b/board/renesas/alt/alt.c index e3cfe54..f8f54ef 100644 --- a/board/renesas/alt/alt.c +++ b/board/renesas/alt/alt.c @@ -60,10 +60,49 @@ int board_early_init_f(void) return 0; }
+static struct mstp_ctl { + u32 s_addr; + u32 s_dis; + u32 s_ena; + u32 r_addr; + u32 r_dis; + u32 r_ena; +} mstptbl[] = { + [0] = { SMSTPCR0, 0x00440801, 0x00400000, + RMSTPCR0, 0x00440801, 0x00000000 }, + [1] = { SMSTPCR1, 0x936899DA, 0x00000000, + RMSTPCR1, 0x936899DA, 0x00000000 }, + [2] = { SMSTPCR2, 0x100D21FC, 0x00002000, + RMSTPCR2, 0x100D21FC, 0x00000000 }, + [3] = { SMSTPCR3, 0xE084D810, 0x00000000, + RMSTPCR3, 0xE084D810, 0x00000000 }, + [4] = { SMSTPCR4, 0x800001C4, 0x00000180, + RMSTPCR4, 0x800001C4, 0x00000000 }, + [5] = { SMSTPCR5, 0x40C00044, 0x00000000, + RMSTPCR5, 0x40C00044, 0x00000000 }, + [7] = { SMSTPCR7, 0x013FE618, 0x00080000, + RMSTPCR7, 0x013FE618, 0x00000000 }, + [8] = { SMSTPCR8, 0x40803C05, 0x00000000, + RMSTPCR8, 0x40803C05, 0x00000000 }, + [9] = { SMSTPCR9, 0xFB879FEE, 0x00000000, + RMSTPCR9, 0xFB879FEE, 0x00000000 }, + [10] = { SMSTPCR10, 0xFFFEFFE0, 0x00000000, + RMSTPCR10, 0xFFFEFFE0, 0x00000000 }, + [11] = { SMSTPCR11, 0x000001C0, 0x00000000, + RMSTPCR11, 0x000001C0, 0x00000000 }, +}; + void arch_preboot_os(void) { - /* Disable TMU0 */ - mstp_setbits_le32(MSTPSR1, SMSTPCR1, TMU0_MSTP125); + int i; + + /* Stop all module clock */ + for (i = 0; i < ARRAY_SIZE(mstptbl); i++) { + mstp_setclrbits_le32(mstptbl[i].s_addr, mstptbl[i].s_addr, + mstptbl[i].s_dis, mstptbl[i].s_ena); + mstp_setclrbits_le32(mstptbl[i].r_addr, mstptbl[i].r_addr, + mstptbl[i].r_dis, mstptbl[i].r_ena); + } }
int board_init(void)