|
|
|
@ -174,6 +174,9 @@ |
|
|
|
|
|
|
|
|
|
.globl mem_init
|
|
|
|
|
mem_init: |
|
|
|
|
/* Preserve Boot Flags */ |
|
|
|
|
movl %ebx, %ebp |
|
|
|
|
|
|
|
|
|
/* initialize dram controller registers */ |
|
|
|
|
xorw %ax, %ax |
|
|
|
|
movl $DBCTL, %edi |
|
|
|
@ -517,6 +520,8 @@ bad_ram: |
|
|
|
|
jmp bad_reint |
|
|
|
|
|
|
|
|
|
dram_done: |
|
|
|
|
/* Restore Boot Flags */ |
|
|
|
|
movl %ebx, %ebp |
|
|
|
|
jmp mem_init_ret |
|
|
|
|
|
|
|
|
|
#if CONFIG_SYS_SDRAM_ECC_ENABLE |
|
|
|
@ -579,7 +584,7 @@ bank0: movl (%edi), %eax |
|
|
|
|
jz bank1 |
|
|
|
|
andl $0x0000007f, %eax |
|
|
|
|
shll $22, %eax |
|
|
|
|
movl %eax, %ebx |
|
|
|
|
movl %eax, %edx |
|
|
|
|
|
|
|
|
|
bank1: movl (%edi), %eax |
|
|
|
|
movl %eax, %ecx |
|
|
|
@ -587,7 +592,7 @@ bank1: movl (%edi), %eax |
|
|
|
|
jz bank2 |
|
|
|
|
andl $0x00007f00, %eax |
|
|
|
|
shll $14, %eax |
|
|
|
|
movl %eax, %ebx |
|
|
|
|
movl %eax, %edx |
|
|
|
|
|
|
|
|
|
bank2: movl (%edi), %eax |
|
|
|
|
movl %eax, %ecx |
|
|
|
@ -595,7 +600,7 @@ bank2: movl (%edi), %eax |
|
|
|
|
jz bank3 |
|
|
|
|
andl $0x007f0000, %eax |
|
|
|
|
shll $6, %eax |
|
|
|
|
movl %eax, %ebx |
|
|
|
|
movl %eax, %edx |
|
|
|
|
|
|
|
|
|
bank3: movl (%edi), %eax |
|
|
|
|
movl %eax, %ecx |
|
|
|
@ -603,8 +608,8 @@ bank3: movl (%edi), %eax |
|
|
|
|
jz done |
|
|
|
|
andl $0x7f000000, %eax |
|
|
|
|
shrl $2, %eax |
|
|
|
|
movl %eax, %ebx |
|
|
|
|
movl %eax, %edx |
|
|
|
|
|
|
|
|
|
done: |
|
|
|
|
movl %ebx, %eax |
|
|
|
|
movl %edx, %eax |
|
|
|
|
jmp get_mem_size_ret |
|
|
|
|