85xx: Add support for 'cpu disable' command
authorKumar Gala <galak@kernel.crashing.org>
Tue, 12 Jan 2010 18:56:05 +0000 (12:56 -0600)
committerKumar Gala <galak@kernel.crashing.org>
Wed, 27 Jan 2010 05:17:50 +0000 (23:17 -0600)
Support disabling of a core via user command 'cpu disable'.

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
cpu/mpc85xx/mp.c

index 6ae7f0a72ca4903f0802a8d62b657679d226c2f4..826bf32d4d53567491fe75ff7837a30116c3699c 100644 (file)
@@ -68,11 +68,35 @@ int cpu_status(int nr)
        return 0;
 }
 
+#ifdef CONFIG_FSL_CORENET
+int cpu_disable(int nr)
+{
+       volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+
+       setbits_be32(&gur->coredisrl, 1 << nr);
+
+       return 0;
+}
+#else
 int cpu_disable(int nr)
 {
-       /* dummy function so common/cmd_mp.c will build */
-       return 1;
+       volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+
+       switch (nr) {
+       case 0:
+               setbits_be32(&gur->devdisr, MPC85xx_DEVDISR_CPU0);
+               break;
+       case 1:
+               setbits_be32(&gur->devdisr, MPC85xx_DEVDISR_CPU1);
+               break;
+       default:
+               printf("Invalid cpu number for disable %d\n", nr);
+               return 1;
+       }
+
+       return 0;
 }
+#endif
 
 static u8 boot_entry_map[4] = {
        0,