summaryrefslogtreecommitdiffstats
path: root/board/phycore_pcm038/lowlevel_init.S
diff options
context:
space:
mode:
Diffstat (limited to 'board/phycore_pcm038/lowlevel_init.S')
-rw-r--r--board/phycore_pcm038/lowlevel_init.S16
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
+