diff options
Diffstat (limited to 'board/phycore_pcm038/lowlevel_init.S')
-rw-r--r-- | board/phycore_pcm038/lowlevel_init.S | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/board/phycore_pcm038/lowlevel_init.S b/board/phycore_pcm038/lowlevel_init.S index 17f3ad3bd8..d12e4db451 100644 --- a/board/phycore_pcm038/lowlevel_init.S +++ b/board/phycore_pcm038/lowlevel_init.S @@ -30,8 +30,9 @@ lowlevel_init: writel(0x04082008, SPCTL0) writel(0x33f00304, CSCR) - writel(0x33f00304 | CSCR_MPEN | CSCR_SPEN | CSCR_MCU_SEL | - CSCR_SP_SEL | CSCR_MPLL_RESTART | CSCR_SPLL_RESTART, + writel(0x33f00300 | CSCR_FPM_EN | CSCR_MPEN | CSCR_SPEN | CSCR_MCU_SEL | + CSCR_SP_SEL | CSCR_MPLL_RESTART | CSCR_SPLL_RESTART | + 0 , CSCR) /* add some delay here */ @@ -39,6 +40,11 @@ lowlevel_init: 1: subs r1, r1, #0x1 bne 1b + writel(0x33f00300 | CSCR_FPM_EN | CSCR_MPEN | CSCR_SPEN | CSCR_MCU_SEL | + CSCR_SP_SEL | CSCR_MPLL_RESTART | CSCR_SPLL_RESTART | + CSCR_ARM_SRC_MPLL, + CSCR) + writel(0x00070f08, GPCR) writel(0x130410c3, PCDR0) @@ -50,6 +56,9 @@ lowlevel_init: cmp pc, #0xc0000000 bhi 1f + mov pc,r10 + +1: /* * DDR on CSD0 */ @@ -81,5 +90,6 @@ lowlevel_init: mov r1, #0x0 strb r1, [r0] writel(0x82126080, 0xD8001000) -1: + mov pc,r10 + |