mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-06-15 03:01:37 +00:00
ARM: OMAP: Fix omap_sdram_size calculation
Last section of DMM is used for trapping tiler unmapped sections. Corresponding trap_size should be deducted from total SDRAM size only if trap section is overlapping with available SDRAM based on DMM sections. Fixing the same. Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
This commit is contained in:
parent
d14c6335bc
commit
d7630da6f4
1 changed files with 7 additions and 4 deletions
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue