summaryrefslogtreecommitdiff
path: root/utils/atj2137/adfuload/test_binary/timer_irq/system-atj213x.c
diff options
context:
space:
mode:
Diffstat (limited to 'utils/atj2137/adfuload/test_binary/timer_irq/system-atj213x.c')
-rw-r--r--utils/atj2137/adfuload/test_binary/timer_irq/system-atj213x.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/utils/atj2137/adfuload/test_binary/timer_irq/system-atj213x.c b/utils/atj2137/adfuload/test_binary/timer_irq/system-atj213x.c
new file mode 100644
index 0000000000..b93262579e
--- /dev/null
+++ b/utils/atj2137/adfuload/test_binary/timer_irq/system-atj213x.c
@@ -0,0 +1,41 @@
1#define default_interrupt(name) \
2 extern __attribute__((weak,alias("UIRQ"))) void name (void)
3
4default_interrupt(INT_MCA);
5default_interrupt(INT_SD);
6default_interrupt(INT_MHA);
7/* default_interrupt(INT_USB); seems wrong */
8default_interrupt(INT_DSP);
9default_interrupt(INT_PCNT);
10default_interrupt(INT_WD);
11default_interrupt(INT_T1);
12default_interrupt(INT_T0);
13default_interrupt(INT_RTC);
14default_interrupt(INT_DMA);
15default_interrupt(INT_KEY);
16default_interrupt(INT_EXT);
17default_interrupt(INT_IIC2);
18default_interrupt(INT_IIC1);
19default_interrupt(INT_ADC);
20default_interrupt(INT_DAC);
21default_interrupt(INT_NAND);
22default_interrupt(INT_YUV);
23
24/* this will be panicf() on regular rockbox fw */
25static void UIRQ(void)
26{
27 while(1);
28}
29
30/* TRICK ALERT !!!!
31 * The table is organized in reversed order so
32 * clz on INTC_PD returns the index in this table
33 */
34void (* const irqvector[])(void) __attribute__((used)) =
35{
36 UIRQ, UIRQ, UIRQ, UIRQ, UIRQ, INT_YUV, UIRQ, INT_NAND,
37 UIRQ, INT_DAC, INT_ADC, UIRQ, UIRQ, INT_IIC1, INT_IIC2, UIRQ,
38 UIRQ, INT_EXT, INT_KEY, INT_DMA, INT_RTC, INT_T0, INT_T1, INT_WD,
39 INT_PCNT, UIRQ, INT_DSP, UIRQ, INT_MHA, INT_SD, UIRQ, INT_MCA
40};
41