diff options
Diffstat (limited to 'firmware/target/arm/imx31/gigabeat-s/system-target.h')
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/system-target.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/system-target.h b/firmware/target/arm/imx31/gigabeat-s/system-target.h index e87b93b13a..1f7a2475af 100644 --- a/firmware/target/arm/imx31/gigabeat-s/system-target.h +++ b/firmware/target/arm/imx31/gigabeat-s/system-target.h | |||
@@ -19,15 +19,15 @@ | |||
19 | #ifndef SYSTEM_TARGET_H | 19 | #ifndef SYSTEM_TARGET_H |
20 | #define SYSTEM_TARGET_H | 20 | #define SYSTEM_TARGET_H |
21 | 21 | ||
22 | #include "mmu-imx31.h" | ||
23 | #include "system-arm.h" | 22 | #include "system-arm.h" |
23 | #include "mmu-arm.h" | ||
24 | 24 | ||
25 | #define CPUFREQ_NORMAL 532000000 | 25 | #define CPUFREQ_NORMAL 532000000 |
26 | 26 | ||
27 | static inline void udelay(unsigned int usecs) | 27 | static inline void udelay(unsigned int usecs) |
28 | { | 28 | { |
29 | volatile signed int stop = EPITCNT1 - usecs; | 29 | volatile signed int stop = EPITCNT1 - usecs; |
30 | while (EPITCNT1 > stop); | 30 | while ((signed int)EPITCNT1 > stop); |
31 | } | 31 | } |
32 | 32 | ||
33 | #define __dbg_hw_info(...) 0 | 33 | #define __dbg_hw_info(...) 0 |
@@ -36,6 +36,22 @@ static inline void udelay(unsigned int usecs) | |||
36 | #define HAVE_INVALIDATE_ICACHE | 36 | #define HAVE_INVALIDATE_ICACHE |
37 | static inline void invalidate_icache(void) | 37 | static inline void invalidate_icache(void) |
38 | { | 38 | { |
39 | long rd = 0; | ||
40 | asm volatile( | ||
41 | "mcr p15, 0, %0, c7, c10, 0 \n" | ||
42 | "mcr p15, 0, %0, c7, c5, 0 \n" | ||
43 | : : "r"(rd) | ||
44 | ); | ||
45 | } | ||
46 | |||
47 | #define HAVE_FLUSH_ICACHE | ||
48 | static inline void flush_icache(void) | ||
49 | { | ||
50 | long rd = 0; | ||
51 | asm volatile ( | ||
52 | "mcr p15, 0, %0, c7, c10, 0 \n" | ||
53 | : : "r"(rd) | ||
54 | ); | ||
39 | } | 55 | } |
40 | 56 | ||
41 | struct ARM_REGS { | 57 | struct ARM_REGS { |