* 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.
This commit is contained in:
@@ -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 */
|
||||
}
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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));
|
||||
|
||||
|
||||
@@ -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 */
|
||||
|
||||
Reference in New Issue
Block a user