aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG16
-rw-r--r--common/cmd_mem.c2
-rw-r--r--cpu/mpc5xxx/cpu_init.c5
-rw-r--r--cpu/mpc5xxx/pci_mpc5200.c5
-rw-r--r--cpu/mpc8260/cpu.c14
-rw-r--r--cpu/mpc8260/i2c.c4
-rw-r--r--cpu/mpc8260/speed.c5
-rw-r--r--doc/README.autoboot43
-rw-r--r--drivers/cfi_flash.c2
-rw-r--r--include/asm-ppc/processor.h1
-rw-r--r--include/configs/IceCube.h2
-rw-r--r--include/configs/MPC8260ADS.h2
-rw-r--r--include/image.h2
13 files changed, 69 insertions, 34 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 1783fb68a..c0aa327a2 100644
--- 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
diff --git a/common/cmd_mem.c b/common/cmd_mem.c
index e5c60bfad..b95421ad5 100644
--- a/common/cmd_mem.c
+++ b/common/cmd_mem.c
@@ -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);
}
}
}
diff --git a/cpu/mpc5xxx/cpu_init.c b/cpu/mpc5xxx/cpu_init.c
index 3599a86fe..3df005009 100644
--- a/cpu/mpc5xxx/cpu_init.c
+++ b/cpu/mpc5xxx/cpu_init.c
@@ -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 */
}
diff --git a/cpu/mpc5xxx/pci_mpc5200.c b/cpu/mpc5xxx/pci_mpc5200.c
index 94c157f6e..490fcd2f6 100644
--- a/cpu/mpc5xxx/pci_mpc5200.c
+++ b/cpu/mpc5xxx/pci_mpc5200.c
@@ -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);
diff --git a/cpu/mpc8260/cpu.c b/cpu/mpc8260/cpu.c
index 8adf950f9..8d634b075 100644
--- a/cpu/mpc8260/cpu.c
+++ b/cpu/mpc8260/cpu.c
@@ -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);
diff --git a/cpu/mpc8260/i2c.c b/cpu/mpc8260/i2c.c
index 789c514c9..e0ac68408 100644
--- a/cpu/mpc8260/i2c.c
+++ b/cpu/mpc8260/i2c.c
@@ -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));
diff --git a/cpu/mpc8260/speed.c b/cpu/mpc8260/speed.c
index 16f4e90b6..a761a178b 100644
--- a/cpu/mpc8260/speed.c
+++ b/cpu/mpc8260/speed.c
@@ -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 */
diff --git a/doc/README.autoboot b/doc/README.autoboot
index c76357848..c971bb141 100644
--- a/doc/README.autoboot
+++ b/doc/README.autoboot
@@ -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
diff --git a/drivers/cfi_flash.c b/drivers/cfi_flash.c
index c46ac2476..7ac0be663 100644
--- a/drivers/cfi_flash.c
+++ b/drivers/cfi_flash.c
@@ -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;
diff --git a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h
index f7d90f483..15bfae852 100644
--- a/include/asm-ppc/processor.h
+++ b/include/asm-ppc/processor.h
@@ -764,6 +764,7 @@
#define PVR_8260_HIP4 0x80811014
#define PVR_8260_HIP7 0x80822011
#define PVR_8260_HIP7R1 0x80822013
+#define PVR_8260_HIP7RA 0x80822014
/*
diff --git a/include/configs/IceCube.h b/include/configs/IceCube.h
index 3c1b2ab59..3752eb42e 100644
--- a/include/configs/IceCube.h
+++ b/include/configs/IceCube.h
@@ -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 */
diff --git a/include/configs/MPC8260ADS.h b/include/configs/MPC8260ADS.h
index 626f23b6a..0d5b05a80 100644
--- a/include/configs/MPC8260ADS.h
+++ b/include/configs/MPC8260ADS.h
@@ -175,7 +175,7 @@
#endif
#endif
-#define CONFIG_BAUDRATE 38400
+#define CONFIG_BAUDRATE 115200
#define CFG_EXCLUDE CFG_CMD_BEDBUG | \
CFG_CMD_BMP | \
diff --git a/include/image.h b/include/image.h
index 55210d564..4c23f0e5b 100644
--- a/include/image.h
+++ b/include/image.h
@@ -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