--- u-boot-1.1.1.orig/cpu/mpc824x/cpu_init.c 2003-06-27 23:32:33.000000000 +0200 +++ u-boot-1.1.1/cpu/mpc824x/cpu_init.c 2004-05-10 14:08:17.000000000 +0200 @@ -102,7 +102,25 @@ cpu_init_f (void) CONFIG_WRITE_BYTE(AMBOR, val & 0xDF); CONFIG_WRITE_BYTE(AMBOR, val | 0x20); CONFIG_WRITE_BYTE(AMBOR, val & 0xDF); +#ifdef CONFIG_MPC8245 + /* silicon bug 28 MPC8245 */ + CONFIG_READ_BYTE(AMBOR,val); + CONFIG_WRITE_BYTE(AMBOR,val|0x1); + + CONFIG_READ_BYTE(PCMBCR,val); + /* in order not to corrupt data which is being read over the PCI bus + * with the PPC as master, we need to reduce the number of PCMRBs to 1, + * 4.11 in the processor user manual + * */ +#if 1 + CONFIG_WRITE_BYTE(PCMBCR,(val|0xC0)); /* 1 PCMRB */ +#else + CONFIG_WRITE_BYTE(PCMBCR,(val|0x80)); /* 2 PCMRBs */ + CONFIG_WRITE_BYTE(PCMBCR,(val|0x40)); /* 3 PCMRBs */ +#endif +#endif + CONFIG_READ_WORD(PICR1, val); #if defined(CONFIG_MPC8240) CONFIG_WRITE_WORD( PICR1,