|
@@ -185,7 +185,7 @@ u32 omap_sdram_size(void)
|
|
{
|
|
{
|
|
u32 section, i, valid;
|
|
u32 section, i, valid;
|
|
u64 sdram_start = 0, sdram_end = 0, addr,
|
|
u64 sdram_start = 0, sdram_end = 0, addr,
|
|
- size, total_size = 0, trap_size = 0;
|
|
|
|
|
|
+ size, total_size = 0, trap_size = 0, trap_start = 0;
|
|
|
|
|
|
for (i = 0; i < 4; i++) {
|
|
for (i = 0; i < 4; i++) {
|
|
section = __raw_readl(DMM_BASE + i*4);
|
|
section = __raw_readl(DMM_BASE + i*4);
|
|
@@ -208,12 +208,15 @@ u32 omap_sdram_size(void)
|
|
sdram_end = addr + size;
|
|
sdram_end = addr + size;
|
|
} else {
|
|
} else {
|
|
trap_size = size;
|
|
trap_size = size;
|
|
|
|
+ trap_start = addr;
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
}
|
|
}
|
|
- total_size = (sdram_end - sdram_start) - (trap_size);
|
|
|
|
|
|
+
|
|
|
|
+ if ((trap_start >= sdram_start) && (trap_start < sdram_end))
|
|
|
|
+ total_size = (sdram_end - sdram_start) - (trap_size);
|
|
|
|
+ else
|
|
|
|
+ total_size = sdram_end - sdram_start;
|
|
|
|
|
|
return total_size;
|
|
return total_size;
|
|
}
|
|
}
|