diff options
-rw-r--r-- | arch/powerpc/sysdev/bestcomm/bestcomm.c | 9 | ||||
-rw-r--r-- | include/asm-powerpc/mpc52xx.h | 5 |
2 files changed, 11 insertions, 3 deletions
diff --git a/arch/powerpc/sysdev/bestcomm/bestcomm.c b/arch/powerpc/sysdev/bestcomm/bestcomm.c index 48492a83e5a..740ad73ce5c 100644 --- a/arch/powerpc/sysdev/bestcomm/bestcomm.c +++ b/arch/powerpc/sysdev/bestcomm/bestcomm.c | |||
@@ -269,6 +269,7 @@ bcom_engine_init(void) | |||
269 | int task; | 269 | int task; |
270 | phys_addr_t tdt_pa, ctx_pa, var_pa, fdt_pa; | 270 | phys_addr_t tdt_pa, ctx_pa, var_pa, fdt_pa; |
271 | unsigned int tdt_size, ctx_size, var_size, fdt_size; | 271 | unsigned int tdt_size, ctx_size, var_size, fdt_size; |
272 | u16 regval; | ||
272 | 273 | ||
273 | /* Allocate & clear SRAM zones for FDT, TDTs, contexts and vars/incs */ | 274 | /* Allocate & clear SRAM zones for FDT, TDTs, contexts and vars/incs */ |
274 | tdt_size = BCOM_MAX_TASKS * sizeof(struct bcom_tdt); | 275 | tdt_size = BCOM_MAX_TASKS * sizeof(struct bcom_tdt); |
@@ -319,9 +320,11 @@ bcom_engine_init(void) | |||
319 | /* Init 'always' initiator */ | 320 | /* Init 'always' initiator */ |
320 | out_8(&bcom_eng->regs->ipr[BCOM_INITIATOR_ALWAYS], BCOM_IPR_ALWAYS); | 321 | out_8(&bcom_eng->regs->ipr[BCOM_INITIATOR_ALWAYS], BCOM_IPR_ALWAYS); |
321 | 322 | ||
322 | /* Disable COMM Bus Prefetch, apparently it's not reliable yet */ | 323 | /* Disable COMM Bus Prefetch on the original 5200; it's broken */ |
323 | /* FIXME: This should be done on 5200 and not 5200B ... */ | 324 | if ((mfspr(SPRN_SVR) & MPC5200_SVR_MASK) == MPC5200_SVR) { |
324 | out_be16(&bcom_eng->regs->PtdCntrl, in_be16(&bcom_eng->regs->PtdCntrl) | 1); | 325 | regval = in_be16(&bcom_eng->regs->PtdCntrl); |
326 | out_be16(&bcom_eng->regs->PtdCntrl, regval | 1); | ||
327 | } | ||
325 | 328 | ||
326 | /* Init lock */ | 329 | /* Init lock */ |
327 | spin_lock_init(&bcom_eng->lock); | 330 | spin_lock_init(&bcom_eng->lock); |
diff --git a/include/asm-powerpc/mpc52xx.h b/include/asm-powerpc/mpc52xx.h index 568135fe52e..764d997b4cd 100644 --- a/include/asm-powerpc/mpc52xx.h +++ b/include/asm-powerpc/mpc52xx.h | |||
@@ -20,6 +20,11 @@ | |||
20 | 20 | ||
21 | #include <linux/suspend.h> | 21 | #include <linux/suspend.h> |
22 | 22 | ||
23 | /* Variants of the 5200(B) */ | ||
24 | #define MPC5200_SVR 0x80110010 | ||
25 | #define MPC5200_SVR_MASK 0xfffffff0 | ||
26 | #define MPC5200B_SVR 0x80110020 | ||
27 | #define MPC5200B_SVR_MASK 0xfffffff0 | ||
23 | 28 | ||
24 | /* ======================================================================== */ | 29 | /* ======================================================================== */ |
25 | /* Structures mapping of some unit register set */ | 30 | /* Structures mapping of some unit register set */ |