PERFORCE change 154032 for review
Sam Leffler
sam at FreeBSD.org
Wed Dec 3 18:08:12 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=154032
Change 154032 by sam at sam_ebb on 2008/12/04 02:07:57
correct ixp425 ram sizing
Affected files ...
.. //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_mem.c#4 edit
Differences ...
==== //depot/projects/vap/sys/arm/xscale/ixp425/ixp425_mem.c#4 (text+ko) ====
@@ -87,14 +87,16 @@
uint32_t
ixp435_ddram_size(void)
{
-#define MCU_REG_READ(x) (*(volatile uint32_t *)(IXP435_MCU_VBASE + (x)))
+#define MCU_REG_READ(x) (*(volatile uint32_t *)(IXP425_MCU_VBASE + (x)))
+ uint32_t sbr0;
-printf("sdir 0x%x\n", MCU_REG_READ(MCU_DDR_SDIR));/*XXX*/
-printf("sdcr0 0x%x\n", MCU_REG_READ(MCU_DDR_SDCR0));/*XXX*/
-printf("sdcr1 0x%x\n", MCU_REG_READ(MCU_DDR_SDCR1));/*XXX*/
-printf("sdbr 0x%x\n", MCU_REG_READ(MCU_DDR_SDBR));/*XXX*/
-printf("sbr0 0x%x\n", MCU_REG_READ(MCU_DDR_SBR0));/*XXX*/
-printf("sbr1 0x%x\n", MCU_REG_READ(MCU_DDR_SBR1));/*XXX*/
- return 128*1024*1024; /*XXX*/
+ /*
+ * Table 198, page 516 shows DDR-I/II SDRAM bank sizes
+ * for SBR0 and SBR1. The manual states both banks must
+ * be programmed to be the same size. We just assume
+ * it's done right and calculate 2x for the memory size.
+ */
+ sbr0 = MCU_REG_READ(MCU_DDR_SBR0);
+ return 2 * 16*(sbr0 & 0x7f) * 1024 * 1024;
#undef MCU_REG_READ
}
More information about the p4-projects
mailing list