|
@@ -99,11 +99,14 @@ mpc5200_setup_xlb_arbiter(void)
|
|
|
out_be32(&xlb->master_pri_enable, 0xff);
|
|
|
out_be32(&xlb->master_priority, 0x11111111);
|
|
|
|
|
|
- /* Disable XLB pipelining
|
|
|
+ /*
|
|
|
+ * Disable XLB pipelining
|
|
|
* (cfr errate 292. We could do this only just before ATA PIO
|
|
|
* transaction and re-enable it afterwards ...)
|
|
|
+ * Not needed on MPC5200B.
|
|
|
*/
|
|
|
- out_be32(&xlb->config, in_be32(&xlb->config) | MPC52xx_XLB_CFG_PLDIS);
|
|
|
+ if ((mfspr(SPRN_SVR) & MPC5200_SVR_MASK) == MPC5200_SVR)
|
|
|
+ out_be32(&xlb->config, in_be32(&xlb->config) | MPC52xx_XLB_CFG_PLDIS);
|
|
|
|
|
|
iounmap(xlb);
|
|
|
}
|