Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 4 Dec 2008 02:08:12 GMT
From:      Sam Leffler <sam@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 154032 for review
Message-ID:  <200812040208.mB428CYB072568@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=154032

Change 154032 by sam@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
 }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200812040208.mB428CYB072568>