summaryrefslogtreecommitdiff
path: root/board/jornada
diff options
context:
space:
mode:
authorKristoffer Ericson <kristoffer.ericson@gmail.com>2010-11-06 14:24:27 +0100
committerWolfgang Denk <wd@denx.de>2010-11-27 23:35:12 +0100
commitf4f88921a5d7044962f74c1097d2a1cf86218936 (patch)
tree1608c9071d04a95e882b562340cb27632515dc19 /board/jornada
parente2c2a95e60678ad2c0b2cdd8f6b62be1ba3fb4ab (diff)
Fix jornada memory init
* Fix memory initialization. This fixes the problem with kernel oopses during heavy load. * Cleanup pinsetup, which for reference is among other things needed for proper flash erasing. Signed-off-by: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Diffstat (limited to 'board/jornada')
-rw-r--r--board/jornada/setup.S24
1 files changed, 12 insertions, 12 deletions
diff --git a/board/jornada/setup.S b/board/jornada/setup.S
index 885e02f7dbc..cdf5f544503 100644
--- a/board/jornada/setup.S
+++ b/board/jornada/setup.S
@@ -112,12 +112,13 @@ gafr_set: .long 0x08600000
.globl lowlevel_init
lowlevel_init:
- /* set output and direction of pins */
- ldr r0, PPC_BASE
- ldr r1, pin_set_out
- str r1, [r0, #PPSR]
- ldr r1, pin_set_dir
- str r1, [r0, #PPDR]
+
+ /* this is required for flashing */
+ ldr r0, PPC_BASE
+ ldr r1, pin_set_out
+ str r1, [r0, #PPSR]
+ ldr r1, pin_set_dir
+ str r1, [r0, #PPDR]
/* Setting up the memory and stuff */
/***********************************/
@@ -190,6 +191,11 @@ lowlevel_init:
ldr r3, [r2]
.endr
+ ldr r2, [r0, #MDCNFG]
+ orr r2, r2, #0x00000003
+ orr r2, r2, #0x00030000
+ str r2, [r0, #MDCNFG]
+
ldr r1, msc0
str r1, [r0, #MSC0]
ldr r1, msc1
@@ -198,13 +204,7 @@ lowlevel_init:
str r1, [r0, #MSC2]
ldr r1, smcnfg
str r1, [r0, #SMCNFG]
- ldr r1, mdcnfg
- str r1, [r0, #MDCNFG]
ldr r1, mecr
str r1, [r0, #MECR]
- /* enable SDRAM */
- orr r1, r1, #0x00000001
- str r1, [r0, #MDCNFG]
-
mov pc, lr