summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2013-02-03 14:49:58 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2013-02-04 09:44:41 +0100
commit6179d67536be94c03858bb862cda3844be89c4f9 (patch)
tree287a59c9a0a8a2d89cc432eecdc41875a430b387 /arch
parent241acd7f08db4524b7e9875255be11fb8db4f40b (diff)
downloadbarebox-6179d67536be94c03858bb862cda3844be89c4f9.tar.gz
barebox-6179d67536be94c03858bb862cda3844be89c4f9.tar.xz
at91sam9_ddrsdr: fix register on mdr read and sdram detection for ddr size
it's currently working by luck Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-at91/include/mach/at91sam9_ddrsdr.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-at91/include/mach/at91sam9_ddrsdr.h b/arch/arm/mach-at91/include/mach/at91sam9_ddrsdr.h
index 2614f97230..88796a6a2c 100644
--- a/arch/arm/mach-at91/include/mach/at91sam9_ddrsdr.h
+++ b/arch/arm/mach-at91/include/mach/at91sam9_ddrsdr.h
@@ -146,7 +146,7 @@ static inline u32 at91_get_ddram_size(void * __iomem base, bool is_nb)
bool is_sdram;
cr = __raw_readl(base + AT91_DDRSDRC_CR);
- mdr = __raw_readl(base + AT91_DDRSDRC_CR);
+ mdr = __raw_readl(base + AT91_DDRSDRC_MDR);
is_sdram = (mdr & AT91_DDRSDRC_MD) <= AT91_DDRSDRC_MD_LOW_POWER_SDR;
@@ -158,7 +158,7 @@ static inline u32 at91_get_ddram_size(void * __iomem base, bool is_nb)
size = 1;
/* COL */
size += (cr & AT91_DDRSDRC_NC) + 8;
- if (is_sdram)
+ if (!is_sdram)
size ++;
/* ROW */
size += ((cr & AT91_DDRSDRC_NR) >> 2) + 11;