diff options
Diffstat (limited to 'firmware/target/arm/imx233/icoll-imx233.c')
-rw-r--r-- | firmware/target/arm/imx233/icoll-imx233.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/icoll-imx233.c b/firmware/target/arm/imx233/icoll-imx233.c index e42e0f3291..e23af602db 100644 --- a/firmware/target/arm/imx233/icoll-imx233.c +++ b/firmware/target/arm/imx233/icoll-imx233.c | |||
@@ -146,6 +146,7 @@ struct imx233_icoll_irq_info_t imx233_icoll_get_irq_info(int src) | |||
146 | 146 | ||
147 | static void do_irq_stat(void) | 147 | static void do_irq_stat(void) |
148 | { | 148 | { |
149 | imx233_keep_alive(); | ||
149 | static unsigned counter = 0; | 150 | static unsigned counter = 0; |
150 | if(counter++ >= HZ) | 151 | if(counter++ >= HZ) |
151 | { | 152 | { |
@@ -180,6 +181,8 @@ void irq_handler(void) | |||
180 | asm volatile( | 181 | asm volatile( |
181 | "sub lr, lr, #4 \n" /* Create return address */ | 182 | "sub lr, lr, #4 \n" /* Create return address */ |
182 | "stmfd sp!, { r0-r5, r12, lr } \n" /* Save what gets clobbered */ | 183 | "stmfd sp!, { r0-r5, r12, lr } \n" /* Save what gets clobbered */ |
184 | "ldr r5, =0x8001c290 \n" /* Save pointer to instruction */ | ||
185 | "str lr, [r5] \n" /* in HW_DIGCTL_SCRATCH0 */ | ||
183 | "ldr r4, =0x80000000 \n" /* Read HW_ICOLL_VECTOR */ | 186 | "ldr r4, =0x80000000 \n" /* Read HW_ICOLL_VECTOR */ |
184 | "ldr r0, [r4] \n" /* and notify as side-effect */ | 187 | "ldr r0, [r4] \n" /* and notify as side-effect */ |
185 | "mrs lr, spsr \n" /* Save SPSR_irq */ | 188 | "mrs lr, spsr \n" /* Save SPSR_irq */ |