aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/cpu_setup_44x.S
diff options
context:
space:
mode:
authorValentine Barshak <vbarshak@ru.mvista.com>2007-09-22 00:46:57 +1000
committerJosh Boyer <jwboyer@linux.vnet.ibm.com>2007-10-03 07:20:17 -0500
commit8112753bb2c0045398c89d0647792b39805f6d40 (patch)
tree5a818e51c96b9cc0d0cd733838554037339a8559 /arch/powerpc/kernel/cpu_setup_44x.S
parent[POWERPC] 4xx: Introduce cpu_setup functionality to 44x platform (diff)
downloadlinux-dev-8112753bb2c0045398c89d0647792b39805f6d40.tar.xz
linux-dev-8112753bb2c0045398c89d0647792b39805f6d40.zip
[POWERPC] 4xx: Move 440EP(x) FPU setup from head_44x to cpu_setup_4xx
The PowerPC 440EP(x) FPU init is currently done in head_44x under ifdefs. Since we should support more then one board in the same kernel, we move FPU initialization code from head_44x to cpu_setup_44x and add cpu_setup callbacks for 440EP(x). Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com> Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Diffstat (limited to 'arch/powerpc/kernel/cpu_setup_44x.S')
-rw-r--r--arch/powerpc/kernel/cpu_setup_44x.S14
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/cpu_setup_44x.S b/arch/powerpc/kernel/cpu_setup_44x.S
index 6a6e6c71ad6f..c790634d946b 100644
--- a/arch/powerpc/kernel/cpu_setup_44x.S
+++ b/arch/powerpc/kernel/cpu_setup_44x.S
@@ -17,3 +17,17 @@
#include <asm/cputable.h>
#include <asm/ppc_asm.h>
+_GLOBAL(__setup_cpu_440ep)
+ b __init_fpu_44x
+_GLOBAL(__setup_cpu_440epx)
+ b __init_fpu_44x
+
+/* enable APU between CPU and FPU */
+_GLOBAL(__init_fpu_44x)
+ mfspr r3,SPRN_CCR0
+ /* Clear DAPUIB flag in CCR0 */
+ rlwinm r3,r3,0,12,10
+ mtspr SPRN_CCR0,r3
+ isync
+ blr
+