Merge with /home/tur/proj/v38b/u-boot
authorWolfgang Denk <wd@pollux.denx.de>
Sun, 12 Nov 2006 20:12:52 +0000 (21:12 +0100)
committerWolfgang Denk <wd@denx.de>
Sun, 12 Nov 2006 20:12:52 +0000 (21:12 +0100)
CHANGELOG
Makefile
board/mcc200/mcc200.c
common/memsize.c
include/common.h

index afb22b74d9b59b3fbca79b8785e6be83b9f367c1..6efddd0ddb7e3387a612147e4b7a8ca3b000736b 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,3 +1,48 @@
+commit 1954be6e9c9421b45d0a9d05b10356acc7563150
+Author: Wolfgang Denk <wd@pollux.denx.de>
+Date:  Sun Oct 29 01:03:51 2006 +0200
+
+    Automatically adjust ARFLAGS so "make -s" is really silent.
+
+commit fae684e89844856383bdf101440889557df3e6b1
+Author: Stefan Roese <sr@denx.de>
+Date:  Sat Oct 28 16:45:00 2006 +0200
+
+    [PATCH] omap925.c: Remove unused functions
+
+    Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
+    Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 1265581502ab8ea8c08e8edbe9bf64fbd62fd776
+Author: Stefan Roese <sr@denx.de>
+Date:  Sat Oct 28 17:12:58 2006 +0200
+
+    [PATCH] Add some missing machtypes for netstar & voiceblue boards
+
+    Use MACH_TYPE_NETSTAR and MACH_TYPE_VOICEBLUE defines instead of
+    numbers in code.
+
+    Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
+    Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 856f054410cef52d868feb330168b2a4c4091328
+Author: Stefan Roese <sr@denx.de>
+Date:  Sat Oct 28 15:55:52 2006 +0200
+
+    [PATCH] NAND: Partition name support added to NAND subsystem
+
+    chpart, nboot and NAND subsystem related commands now accept also partition
+    name to specify offset.
+
+    Signed-off-by: Ladislav Michl <ladis@linux-mips.org>
+    Signed-off-by: Stefan Roese <sr@denx.de>
+
+commit 07a69a18c2ecfda904231fdf23e2523ea7792eb6
+Author: Wolfgang Denk <wd@pollux.denx.de>
+Date:  Sat Oct 28 02:29:44 2006 +0200
+
+    Update CHANGELOG.
+
 commit 2751a95abd1b96911081c357e96a12fa97b40dee
 Author: Wolfgang Denk <wd@pollux.denx.de>
 Date:  Sat Oct 28 02:29:14 2006 +0200
index ca35dc1586b42dd700dfcce88e20965dd3e1de93..5316504be5ee3892963b83c7adb80ae5af018dc5 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@
 
 VERSION = 1
 PATCHLEVEL = 1
-SUBLEVEL = 5
+SUBLEVEL = 6
 EXTRAVERSION =
 U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
 VERSION_FILE = $(obj)include/version_autogenerated.h
index 71a691b5dbf1fb171b62ad823b603aeef65d8dbb..8b475c690d9d24affb9d3e33930720a130482f23 100644 (file)
@@ -27,6 +27,7 @@
 #include <common.h>
 #include <mpc5xxx.h>
 #include <pci.h>
+#include <asm/processor.h>
 
 /* Two MT48LC8M32B2 for 32 MB */
 /* #include "mt48lc8m32b2-6-7.h" */
@@ -98,6 +99,7 @@ long int initdram (int board_type)
 {
        ulong dramsize = 0;
        ulong dramsize2 = 0;
+       uint svr, pvr;
 #ifndef CFG_RAMBOOT
        ulong test1, test2;
 
@@ -192,6 +194,23 @@ long int initdram (int board_type)
 
 #endif /* CFG_RAMBOOT */
 
+       /*
+        * On MPC5200B we need to set the special configuration delay in the
+        * DDR controller. Please refer to Freescale's AN3221 "MPC5200B SDRAM
+        * Initialization and Configuration", 3.3.1 SDelay--MBAR + 0x0190:
+        *
+        * "The SDelay should be written to a value of 0x00000004. It is
+        * required to account for changes caused by normal wafer processing
+        * parameters."
+        */
+       svr = get_svr();
+       pvr = get_pvr();
+       if ((SVR_MJREV(svr) >= 2) && (PVR_MAJ(pvr) == 1) && 
+           (PVR_MIN(pvr) == 4)) {
+               *(vu_long *)MPC5XXX_SDRAM_SDELAY = 0x04;
+               __asm__ volatile ("sync");
+       }
+
        return dramsize + dramsize2;
 }
 
index dbc812dfc51e65cd351cc1af069714a5f76e5734..6c275c9b25feec5189d2717f8dd35c46d6eb88da 100644 (file)
  * MA 02111-1307 USA
  */
 
+#include <config.h>
+#ifdef __PPC__
+/*
+ * At least on G2 PowerPC cores, sequential accesses to non-existent
+ * memory must be synchronized.
+ */
+# include <asm/io.h>   /* for sync() */
+#else
+# define sync()                /* nothing */
+#endif
 
 /*
  * Check memory range for valid RAM. A simple memory test determines
@@ -38,20 +48,27 @@ long get_ram_size(volatile long *base, long maxsize)
 
        for (cnt = (maxsize / sizeof (long)) >> 1; cnt > 0; cnt >>= 1) {
                addr = base + cnt;      /* pointer arith! */
+               sync ();
                save[i++] = *addr;
+               sync ();
                *addr = ~cnt;
        }
 
        addr = base;
+       sync ();
        save[i] = *addr;
+       sync ();
        *addr = 0;
 
+       sync ();
        if ((val = *addr) != 0) {
                /* Restore the original data before leaving the function.
                 */
+               sync ();
                *addr = save[i];
                for (cnt = 1; cnt < maxsize / sizeof(long); cnt <<= 1) {
                        addr  = base + cnt;
+                       sync ();
                        *addr = save[--i];
                }
                return (0);
index 349d5cf726bdc833937267b97a57e2eba19c6fa9..ac78d1c001cf690d70528b4bffcd8782df3b971a 100644 (file)
@@ -270,7 +270,7 @@ int misc_init_r   (void);
 void   jumptable_init(void);
 
 /* common/memsize.c */
-int    get_ram_size  (volatile long *, long);
+long   get_ram_size  (volatile long *, long);
 
 /* $(BOARD)/$(BOARD).c */
 void   reset_phy     (void);