diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/plat-orion/addr-map.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/arch/arm/plat-orion/addr-map.c b/arch/arm/plat-orion/addr-map.c index febe3862873c..807ac8e5cbc0 100644 --- a/arch/arm/plat-orion/addr-map.c +++ b/arch/arm/plat-orion/addr-map.c | |||
@@ -157,9 +157,12 @@ void __init orion_setup_cpu_mbus_target(const struct orion_addr_map_cfg *cfg, | |||
157 | u32 size = readl(ddr_window_cpu_base + DDR_SIZE_CS_OFF(i)); | 157 | u32 size = readl(ddr_window_cpu_base + DDR_SIZE_CS_OFF(i)); |
158 | 158 | ||
159 | /* | 159 | /* |
160 | * Chip select enabled? | 160 | * We only take care of entries for which the chip |
161 | * select is enabled, and that don't have high base | ||
162 | * address bits set (devices can only access the first | ||
163 | * 32 bits of the memory). | ||
161 | */ | 164 | */ |
162 | if (size & 1) { | 165 | if ((size & 1) && !(base & 0xF)) { |
163 | struct mbus_dram_window *w; | 166 | struct mbus_dram_window *w; |
164 | 167 | ||
165 | w = &orion_mbus_dram_info.cs[cs++]; | 168 | w = &orion_mbus_dram_info.cs[cs++]; |