diff options
Diffstat (limited to 'firmware/target/arm/as3525/system-as3525.c')
-rw-r--r-- | firmware/target/arm/as3525/system-as3525.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c index 0b1884aa16..e3e41998ce 100644 --- a/firmware/target/arm/as3525/system-as3525.c +++ b/firmware/target/arm/as3525/system-as3525.c | |||
@@ -70,7 +70,8 @@ default_interrupt(RESERVED6); /* Interrupt 25 : unused */ | |||
70 | default_interrupt(RESERVED7); /* Interrupt 26 : unused */ | 70 | default_interrupt(RESERVED7); /* Interrupt 26 : unused */ |
71 | default_interrupt(RESERVED8); /* Interrupt 27 : unused */ | 71 | default_interrupt(RESERVED8); /* Interrupt 27 : unused */ |
72 | default_interrupt(RESERVED9); /* Interrupt 28 : unused */ | 72 | default_interrupt(RESERVED9); /* Interrupt 28 : unused */ |
73 | default_interrupt(INT_GPIOA); | 73 | /* INT_GPIOA is declared in this file */ |
74 | void INT_GPIOA(void); | ||
74 | default_interrupt(INT_GPIOB); | 75 | default_interrupt(INT_GPIOB); |
75 | default_interrupt(INT_GPIOC); | 76 | default_interrupt(INT_GPIOC); |
76 | 77 | ||
@@ -144,6 +145,18 @@ static void setup_vic(void) | |||
144 | } | 145 | } |
145 | } | 146 | } |
146 | 147 | ||
148 | void INT_GPIOA(void) | ||
149 | { | ||
150 | #ifdef HAVE_MULTIDRIVE | ||
151 | void sd_gpioa_isr(void); | ||
152 | sd_gpioa_isr(); | ||
153 | #endif | ||
154 | #if (defined(HAVE_SCROLLWHEEL) && CONFIG_CPU != AS3525) | ||
155 | void button_gpioa_isr(void); | ||
156 | button_gpioa_isr(); | ||
157 | #endif | ||
158 | } | ||
159 | |||
147 | void irq_handler(void) | 160 | void irq_handler(void) |
148 | { | 161 | { |
149 | asm volatile( "stmfd sp!, {r0-r5,ip,lr} \n" /* Store context */ | 162 | asm volatile( "stmfd sp!, {r0-r5,ip,lr} \n" /* Store context */ |
@@ -348,6 +361,12 @@ void system_init(void) | |||
348 | ascodec_init(); | 361 | ascodec_init(); |
349 | 362 | ||
350 | #ifndef BOOTLOADER | 363 | #ifndef BOOTLOADER |
364 | /* setup isr for microsd monitoring and for scrollwheel irq */ | ||
365 | #if defined(HAVE_MULTIDRIVE) || (defined(HAVE_SCROLLWHEEL) && CONFIG_CPU != AS3525) | ||
366 | VIC_INT_ENABLE = (INTERRUPT_GPIOA); | ||
367 | /* pin selection for irq happens in the drivers */ | ||
368 | #endif | ||
369 | |||
351 | /* Initialize power management settings */ | 370 | /* Initialize power management settings */ |
352 | ascodec_write(AS3514_CVDD_DCDC3, AS314_CP_DCDC3_SETTING); | 371 | ascodec_write(AS3514_CVDD_DCDC3, AS314_CP_DCDC3_SETTING); |
353 | #if CONFIG_TUNER | 372 | #if CONFIG_TUNER |