diff options
Diffstat (limited to 'arch/m68knommu/platform/5307/head.S')
-rw-r--r-- | arch/m68knommu/platform/5307/head.S | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/m68knommu/platform/5307/head.S b/arch/m68knommu/platform/5307/head.S index f2edb6498cd9..b9aa0ca29bfb 100644 --- a/arch/m68knommu/platform/5307/head.S +++ b/arch/m68knommu/platform/5307/head.S | |||
@@ -64,6 +64,26 @@ | |||
64 | negl %d0 /* negate bits */ | 64 | negl %d0 /* negate bits */ |
65 | .endm | 65 | .endm |
66 | 66 | ||
67 | #elif defined(CONFIG_M520x) | ||
68 | .macro GET_MEM_SIZE | ||
69 | clrl %d0 | ||
70 | movel MCF_MBAR+MCFSIM_SDCS0, %d2 /* Get SDRAM chip select 0 config */ | ||
71 | andl #0x1f, %d2 /* Get only the chip select size */ | ||
72 | beq 3f /* Check if it is enabled */ | ||
73 | addql #1, %d2 /* Form exponent */ | ||
74 | moveql #1, %d0 | ||
75 | lsll %d2, %d0 /* 2 ^ exponent */ | ||
76 | 3: | ||
77 | movel MCF_MBAR+MCFSIM_SDCS1, %d2 /* Get SDRAM chip select 1 config */ | ||
78 | andl #0x1f, %d2 /* Get only the chip select size */ | ||
79 | beq 4f /* Check if it is enabled */ | ||
80 | addql #1, %d2 /* Form exponent */ | ||
81 | moveql #1, %d1 | ||
82 | lsll %d2, %d1 /* 2 ^ exponent */ | ||
83 | addl %d1, %d0 /* Total size of SDRAM in d0 */ | ||
84 | 4: | ||
85 | .endm | ||
86 | |||
67 | #else | 87 | #else |
68 | #error "ERROR: I don't know how to probe your boards memory size?" | 88 | #error "ERROR: I don't know how to probe your boards memory size?" |
69 | #endif | 89 | #endif |