* Patch by Gridish Shlomi, 30 Aug 2004:
authorwdenk <wdenk>
Sun, 10 Oct 2004 23:27:33 +0000 (23:27 +0000)
committerwdenk <wdenk>
Sun, 10 Oct 2004 23:27:33 +0000 (23:27 +0000)
  - Add support to revA version of PQ27 and PQ27E.
  - Reverted MPC8260ADS baudrate back to original 115200

* Patch by Hojin, 17 Sep 2004:
  Fix typo in cfi_flash.c

* Patch by Mark Jonas, 09 September 2004:
  mtest's data line test (with CFG_ALT_MEMTEST set) returned a wrong
  error message

* Patch by Mark Jonas, 31 August 2004:
  Added option CFG_XLB_PIPELINING to enable XLB pipelining. This
  improves FTP performance for MPC5200 systems. Enabled for IceCube
  by default.

13 files changed:
CHANGELOG
common/cmd_mem.c
cpu/mpc5xxx/cpu_init.c
cpu/mpc5xxx/pci_mpc5200.c
cpu/mpc8260/cpu.c
cpu/mpc8260/i2c.c
cpu/mpc8260/speed.c
doc/README.autoboot
drivers/cfi_flash.c
include/asm-ppc/processor.h
include/configs/IceCube.h
include/configs/MPC8260ADS.h
include/image.h

index 1783fb6..c0aa327 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,22 @@
 Changes since U-Boot 1.1.1:
 ======================================================================
 
+* Patch by Gridish Shlomi, 30 Aug 2004:
+  - Add support to revA version of PQ27 and PQ27E.
+  - Reverted MPC8260ADS baudrate back to original 115200
+
+* Patch by Hojin, 17 Sep 2004:
+  Fix typo in cfi_flash.c
+  
+* Patch by Mark Jonas, 09 September 2004:
+  mtest's data line test (with CFG_ALT_MEMTEST set) returned a wrong
+  error message
+
+* Patch by Mark Jonas, 31 August 2004:
+  Added option CFG_XLB_PIPELINING to enable XLB pipelining. This
+  improves FTP performance for MPC5200 systems. Enabled for IceCube
+  by default.
+
 * Patch by Michael Bendzick, 30 Aug 2004:
   - Improve platform.S code for omap1510inn that detects whether code
     is running from SDRAM or not. Patch allows SDRAM to be configured
index e5c60bf..b95421a 100644 (file)
@@ -736,7 +736,7 @@ int do_mem_mtest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
                        if(readback != ~val) {
                            printf ("FAILURE (data line): "
                                "Is %08lx, should be %08lx\n",
-                                       val, readback);
+                                       readback, ~val);
                        }
                    }
                }
index 3599a86..3df0050 100644 (file)
@@ -170,6 +170,11 @@ void cpu_init_f (void)
        /* Configure the XLB Arbiter */
        *(vu_long *)MPC5XXX_XLBARB_MPRIEN = 0xff;
        *(vu_long *)MPC5XXX_XLBARB_MPRIVAL = 0x11111111;
+
+# if defined(CFG_XLB_PIPELINING)
+       /* Enable piplining */
+       *(vu_long *)(MPC5XXX_XLBARB + 0x40) &= ~(1 << 31);
+# endif
 #endif /* CONFIG_MPC5200 */
 }
 
index 94c157f..490fcd2 100644 (file)
@@ -129,11 +129,6 @@ void pci_mpc5xxx_init (struct pci_controller *hose)
        *(vu_long *)(MPC5XXX_XLBARB + 0x40) &= ~((7 << 8) | (3 << 5));
        *(vu_long *)(MPC5XXX_XLBARB + 0x40) |= (3 << 8) | (3 << 5);
 
-#if 0
-       /* Enable piplining */
-       *(vu_long *)(MPC5XXX_XLBARB + 0x40) &= ~(1 << 31);
-#endif
-
        /* Disable interrupts from PCI controller */
        *(vu_long *)MPC5XXX_PCI_GSCR &= ~(7 << 12);
        *(vu_long *)MPC5XXX_PCI_ICR &= ~(7 << 24);
index 8adf950..8d634b0 100644 (file)
@@ -68,6 +68,7 @@ int checkcpu (void)
                k = 4;
                break;
        case PVR_8260_HIP7R1:
+       case PVR_8260_HIP7RA:
        case PVR_8260_HIP7:
                k = 7;
                break;
@@ -129,9 +130,20 @@ int checkcpu (void)
        case 0x0A01:
                puts ("0.1 1K49M");
                break;
+       case 0x0A10:
+               puts ("1.0 1K49M");
+               break;
        case 0x0C00:
+               puts ("0.0 0K50M");
+               break;
+       case 0x0C10:
+               puts ("1.0 0K50M");
+               break;
        case 0x0D00:
-               printf ("0.0 0K50M");
+               puts ("0.0 0K50M");
+               break;
+       case 0x0D10:
+               puts ("1.0 0K50M");
                break;
        default:
                printf ("unknown [immr=0x%04x,k=0x%04x]", m, k);
index 789c514..e0ac684 100644 (file)
@@ -149,7 +149,7 @@ i2c_roundrate(int hz, int speed, int filter, int modval,
 
     PRINTD(("\t\tmoddiv=%d, brgdiv=%d\n", moddiv, brgdiv));
 
-    *brgval = (brgdiv / 2) - 3 - (2*filter);
+    *brgval = ((brgdiv + 1) / 2) - 3 - (2*filter);
 
     if ((*brgval < 0) || (*brgval > 255)) {
          PRINTD(("\t\trejected brgval=%d\n", *brgval));
@@ -158,7 +158,7 @@ i2c_roundrate(int hz, int speed, int filter, int modval,
 
     brgdiv = 2 * (*brgval + 3 + (2 * filter));
     div = moddiv * brgdiv ;
-    *totspeed = (hz + div - 1) / div;
+    *totspeed = hz / div;
 
     PRINTD(("\t\taccepted brgval=%d, totspeed=%d\n", *brgval, *totspeed));
 
index 16f4e90..a761a17 100644 (file)
@@ -125,7 +125,10 @@ int get_clocks (void)
        busdf = (scmr & SCMR_BUSDF_MSK) >> SCMR_BUSDF_SHIFT;
        cpmdf = (scmr & SCMR_CPMDF_MSK) >> SCMR_CPMDF_SHIFT;
 
-       if ((get_pvr () == PVR_8260_HIP7) || (get_pvr () == PVR_8260_HIP7R1)) { /* HiP7 */
+       /* HiP7, HiP7 Rev01, HiP7 RevA */
+       if ((get_pvr () == PVR_8260_HIP7) ||
+           (get_pvr () == PVR_8260_HIP7R1) ||
+           (get_pvr () == PVR_8260_HIP7RA)) {
                pllmf = (scmr & SCMR_PLLMF_MSKH7) >> SCMR_PLLMF_SHIFT;
                gd->vco_out = clkin * (pllmf + 1);
        } else {                        /* HiP3, HiP4 */
index c763578..c971bb1 100644 (file)
@@ -67,13 +67,13 @@ What they do
   CONFIG_BOOT_RETRY_TIME
   CONFIG_BOOT_RETRY_MIN
 
-  bootretry environment variable
+  "bootretry" environment variable
 
        These options determine what happens after autoboot is
        stopped and U-Boot is waiting for commands.
 
        CONFIG_BOOT_RETRY_TIME must be defined to enable the boot
-       retry feature. If the environment variable 'bootretry' is
+       retry feature. If the environment variable "bootretry" is
        found then its value is used, otherwise the retry timeout is
        CONFIG_BOOT_RETRY_TIME. CONFIG_BOOT_RETRY_MIN is optional and
        defaults to CONFIG_BOOT_RETRY_TIME. All times are in seconds.
@@ -87,7 +87,7 @@ What they do
 
        If CONFIG_BOOT_RETRY_TIME < 0 the feature is there, but
        doesn't do anything unless the environment variable
-       'bootretry' is >= 0.
+       "bootretry" is >= 0.
 
   CONFIG_AUTOBOOT_KEYED
   CONFIG_AUTOBOOT_PROMPT
@@ -96,10 +96,10 @@ What they do
   CONFIG_AUTOBOOT_DELAY_STR2
   CONFIG_AUTOBOOT_STOP_STR2
 
-  bootdelaykey environment variable
-  bootstopkey  environment variable
-  bootdelaykey2        environment variable
-  bootstopkey2 environment variable
+  "bootdelaykey"  environment variable
+  "bootstopkey"   environment variable
+  "bootdelaykey2" environment variable
+  "bootstopkey2"  environment variable
 
        These options give more control over stopping autoboot. When
        they are used a specific character or string is required to
@@ -119,17 +119,17 @@ What they do
        down the seconds. "autoboot in %d seconds\n" is a reasonable
        prompt.
 
-       If CONFIG_AUTOBOOT_DELAY_STR or bootdelaykey is specified and
-       this string is received from console input before autoboot
-       starts booting, U-Boot gives a command prompt. The U-Boot
-       prompt will time out if CONFIG_BOOT_RETRY_TIME is used,
-       otherwise it never times out.
+        If CONFIG_AUTOBOOT_DELAY_STR or "bootdelaykey" is specified
+        and this string is received from console input before
+        autoboot starts booting, U-Boot gives a command prompt. The
+        U-Boot prompt will time out if CONFIG_BOOT_RETRY_TIME is
+        used, otherwise it never times out.
 
-       If CONFIG_AUTOBOOT_STOP_STR or bootstopkey is specified and
-       this string is received from console input before autoboot
-       starts booting, U-Boot gives a command prompt. The U-Boot
-       prompt never times out, even if CONFIG_BOOT_RETRY_TIME is
-       used.
+        If CONFIG_AUTOBOOT_STOP_STR or "bootstopkey" is specified and
+        this string is received from console input before autoboot
+        starts booting, U-Boot gives a command prompt. The U-Boot
+        prompt never times out, even if CONFIG_BOOT_RETRY_TIME is
+        used.
 
        The string recognition is not very sophisticated. If a
        partial match is detected, the first non-matching character
@@ -138,10 +138,11 @@ What they do
        character of a key string does not appear in the rest of the
        string.
 
-       Using the CONFIG_AUTOBOOT_DELAY_STR2 /  bootdelaykey2  and/or
-       CONFIG_AUTOBOOT_STOP_STR2   /   bootstopkey  #defines  and/or
-       environment variables you can  specify  a  second,  alternate
-       string (which allows you to have two "password" strings).
+        Using the CONFIG_AUTOBOOT_DELAY_STR2 #define or the
+        "bootdelaykey2" environment variable and/or the
+        CONFIG_AUTOBOOT_STOP_STR2 #define or the "bootstopkey"
+        environment variable you can specify a second, alternate
+        string (which allows you to have two "password" strings).
 
   CONFIG_ZERO_BOOTDELAY_CHECK
 
index c46ac24..7ac0be6 100644 (file)
@@ -1115,7 +1115,7 @@ static int flash_write_cfiword (flash_info_t * info, ulong dest,
                flag = ((cptr.lp[0] & cword.l) == cword.l);
                break;
        case FLASH_CFI_64BIT:
-               flag = ((cptr.lp[0] & cword.ll) == cword.ll);
+               flag = ((cptr.llp[0] & cword.ll) == cword.ll);
                break;
        default:
                return 2;
index f7d90f4..15bfae8 100644 (file)
 #define PVR_8260_HIP4   0x80811014
 #define PVR_8260_HIP7   0x80822011
 #define PVR_8260_HIP7R1 0x80822013
+#define PVR_8260_HIP7RA        0x80822014
 
 
 /*
index 3c1b2ab..3752eb4 100644 (file)
@@ -68,6 +68,8 @@
 #define CONFIG_PCI_IO_PHYS     CONFIG_PCI_IO_BUS
 #define CONFIG_PCI_IO_SIZE     0x01000000
 
+#define CFG_XLB_PIPELINING     1
+
 #define CONFIG_NET_MULTI       1
 #define CONFIG_EEPRO100                1
 #define CFG_RX_ETH_BUFFER      8  /* use 8 rx buffer on eepro100  */
index 626f23b..0d5b05a 100644 (file)
 #endif
 #endif
 
-#define CONFIG_BAUDRATE                38400
+#define CONFIG_BAUDRATE                115200
 
 #define CFG_EXCLUDE             CFG_CMD_BEDBUG | \
                                 CFG_CMD_BMP    | \
index 55210d5..4c23f0e 100644 (file)
@@ -96,7 +96,7 @@
  *     byte order. This list is terminated by an "(uint32_t)0".
  *     Immediately after the terminating 0 follow the images, one by
  *     one, all aligned on "uint32_t" boundaries (size rounded up to
- *     a multiple of 4 bytes).
+ *     a multiple of 4 bytes - except for the last file).
  *
  * "Firmware Images" are binary images containing firmware (like
  *     U-Boot or FPGA images) which usually will be programmed to