aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-arm')
-rw-r--r--include/asm-arm/hardware/iop3xx.h28
1 files changed, 28 insertions, 0 deletions
diff --git a/include/asm-arm/hardware/iop3xx.h b/include/asm-arm/hardware/iop3xx.h
index b21ea41b149e..98b7cbc405e6 100644
--- a/include/asm-arm/hardware/iop3xx.h
+++ b/include/asm-arm/hardware/iop3xx.h
@@ -132,6 +132,34 @@ unsigned long iop3xx_gettimeoffset(void);
132 132
133extern struct platform_device iop3xx_i2c0_device; 133extern struct platform_device iop3xx_i2c0_device;
134extern struct platform_device iop3xx_i2c1_device; 134extern struct platform_device iop3xx_i2c1_device;
135
136extern inline void iop3xx_cp6_enable(void)
137{
138 u32 temp;
139
140 asm volatile (
141 "mrc p15, 0, %0, c15, c1, 0\n\t"
142 "orr %0, %0, #(1 << 6)\n\t"
143 "mcr p15, 0, %0, c15, c1, 0\n\t"
144 "mrc p15, 0, %0, c15, c1, 0\n\t"
145 "mov %0, %0\n\t"
146 "sub pc, pc, #4\n\t"
147 : "=r" (temp) );
148}
149
150extern inline void iop3xx_cp6_disable(void)
151{
152 u32 temp;
153
154 asm volatile (
155 "mrc p15, 0, %0, c15, c1, 0\n\t"
156 "bic %0, %0, #(1 << 6)\n\t"
157 "mcr p15, 0, %0, c15, c1, 0\n\t"
158 "mrc p15, 0, %0, c15, c1, 0\n\t"
159 "mov %0, %0\n\t"
160 "sub pc, pc, #4\n\t"
161 : "=r" (temp) );
162}
135#endif 163#endif
136 164
137 165