summaryrefslogtreecommitdiff
path: root/arch/powerpc/cpu/mpc85xx/mp.c
diff options
context:
space:
mode:
authorWolfgang Denk <wd@denx.de>2010-07-16 23:15:01 +0200
committerWolfgang Denk <wd@denx.de>2010-07-16 23:15:01 +0200
commitb6c208ab1ebc2ac01e0029b8456210617ff67156 (patch)
tree65c1252178febcb70a5fc75e67748ceec8fe96e5 /arch/powerpc/cpu/mpc85xx/mp.c
parent16909f34b76e89871c0da528d6fe2ebf4e32231e (diff)
parent9f43d7997e9c5395eed4eddd32cd75942896a412 (diff)
downloadu-boot-imx-b6c208ab1ebc2ac01e0029b8456210617ff67156.zip
u-boot-imx-b6c208ab1ebc2ac01e0029b8456210617ff67156.tar.gz
u-boot-imx-b6c208ab1ebc2ac01e0029b8456210617ff67156.tar.bz2
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
Diffstat (limited to 'arch/powerpc/cpu/mpc85xx/mp.c')
-rw-r--r--arch/powerpc/cpu/mpc85xx/mp.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/powerpc/cpu/mpc85xx/mp.c b/arch/powerpc/cpu/mpc85xx/mp.c
index ddbc221..e05257c 100644
--- a/arch/powerpc/cpu/mpc85xx/mp.c
+++ b/arch/powerpc/cpu/mpc85xx/mp.c
@@ -77,6 +77,13 @@ int cpu_disable(int nr)
return 0;
}
+
+int is_core_disabled(int nr) {
+ ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+ u32 coredisrl = in_be32(&gur->coredisrl);
+
+ return (coredisrl & (1 << nr));
+}
#else
int cpu_disable(int nr)
{
@@ -96,6 +103,22 @@ int cpu_disable(int nr)
return 0;
}
+
+int is_core_disabled(int nr) {
+ ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+ u32 devdisr = in_be32(&gur->devdisr);
+
+ switch (nr) {
+ case 0:
+ return (devdisr & MPC85xx_DEVDISR_CPU0);
+ case 1:
+ return (devdisr & MPC85xx_DEVDISR_CPU1);
+ default:
+ printf("Invalid cpu number for disable %d\n", nr);
+ }
+
+ return 0;
+}
#endif
static u8 boot_entry_map[4] = {