Fix memory init problems on MCC200 board
authorWolfgang Denk <wd@pollux.denx.de>
Wed, 14 Jun 2006 14:48:18 +0000 (16:48 +0200)
committerWolfgang Denk <wd@pollux.denx.de>
Wed, 14 Jun 2006 14:48:18 +0000 (16:48 +0200)
CHANGELOG
board/mcc200/mcc200.c
board/mcc200/mt48lc16m32s2-75.h [new file with mode: 0644]

index b5ee677edd034cefefae422ce9112af051c4c9be..b3c0da19544d4eb34b84bc5a488e553cbc41cab8 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,8 @@
 Changes since U-Boot 1.1.4:
 ======================================================================
 
+* Fix memory init problems on MCC200 board
+
 * Fix IxEthDB.h to compile again
   Patch by Stefan Roese, 14 Jun 2006
 
index 87427e4e0d689418e0a28b514ca1caef8dd9dcc2..b9b9a712b8343740b56e23274ca54da0c339bd76 100644 (file)
 #include <mpc5xxx.h>
 #include <pci.h>
 
-#include "mt48lc8m32b2-6-7.h"
+/* Two MT48LC8M32B2 for 32 MB */
+/* #include "mt48lc8m32b2-6-7.h" */
+
+/* One MT48LC16M32S2 for 64 MB */
+#include "mt48lc16m32s2-75.h"
 
 DECLARE_GLOBAL_DATA_PTR;
 
@@ -74,6 +78,8 @@ static void sdram_start (int hi_addr)
        /* normal operation */
        *(vu_long *)MPC5XXX_SDRAM_CTRL = SDRAM_CONTROL | hi_addr_bit;
        __asm__ volatile ("sync");
+
+       udelay(10);
 }
 #endif
 
diff --git a/board/mcc200/mt48lc16m32s2-75.h b/board/mcc200/mt48lc16m32s2-75.h
new file mode 100644 (file)
index 0000000..ffdf039
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * (C) Copyright 2004
+ * Mark Jonas, Freescale Semiconductor, mark.jonas@motorola.com.
+ *
+ * See file CREDITS for list of people who contributed to this
+ * project.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License as
+ * published by the Free Software Foundation; either version 2 of
+ * the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ */
+
+#define SDRAM_DDR      0               /* is SDR */
+
+#if defined(CONFIG_MPC5200)
+/* Settings for XLB = 132 MHz */
+#define SDRAM_MODE     0x00CD0000
+#define SDRAM_CONTROL  0x504F0000
+#define SDRAM_CONFIG1  0xD2322800
+#define SDRAM_CONFIG2  0x8AD70000
+
+#elif defined(CONFIG_MGT5100)
+/* Settings for XLB = 66 MHz */
+#define SDRAM_MODE     0x008D0000
+#define SDRAM_CONTROL  0x504F0000
+#define SDRAM_CONFIG1  0xC2222600
+#define SDRAM_CONFIG2  0x88B70004
+#define SDRAM_ADDRSEL  0x02000000
+
+#else
+#error Neither CONFIG_MPC5200 or CONFIG_MGT5100 defined
+#endif