diff options
-rw-r--r-- | firmware/target/arm/imx31/gigabeat-s/avic-imx31.c | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/firmware/target/arm/imx31/gigabeat-s/avic-imx31.c b/firmware/target/arm/imx31/gigabeat-s/avic-imx31.c index 99a52e56d5..426657321f 100644 --- a/firmware/target/arm/imx31/gigabeat-s/avic-imx31.c +++ b/firmware/target/arm/imx31/gigabeat-s/avic-imx31.c | |||
@@ -43,7 +43,7 @@ static const char * avic_int_names[64] = | |||
43 | "EXT_SENS1", "EXT_SENS2", "EXT_WDOG", "EXT_TV" | 43 | "EXT_SENS1", "EXT_SENS2", "EXT_WDOG", "EXT_TV" |
44 | }; | 44 | }; |
45 | 45 | ||
46 | static void UIE_VECTOR(void) | 46 | static void UIE_VECTOR(void) |
47 | { | 47 | { |
48 | set_interrupt_status(IRQ_FIQ_DISABLED, IRQ_FIQ_STATUS); | 48 | set_interrupt_status(IRQ_FIQ_DISABLED, IRQ_FIQ_STATUS); |
49 | long offset = FIVECSR; | 49 | long offset = FIVECSR; |
@@ -76,13 +76,13 @@ void __attribute__((naked)) fiq_handler(void) | |||
76 | ); | 76 | ); |
77 | } | 77 | } |
78 | 78 | ||
79 | void avic_init(void) | 79 | void avic_init(void) |
80 | { | 80 | { |
81 | /* Disable all interrupts and set to unhandled */ | 81 | /* Disable all interrupts and set to unhandled */ |
82 | avic_disable_int(ALL); | 82 | avic_disable_int(ALL); |
83 | 83 | ||
84 | /* Init all interrupts to type IRQ */ | 84 | /* Init all interrupts to type IRQ */ |
85 | avic_set_int_type(ALL, IRQ); | 85 | avic_set_int_type(ALL, IRQ); |
86 | 86 | ||
87 | /* Set NM bit to enable VIC */ | 87 | /* Set NM bit to enable VIC */ |
88 | INTCNTL |= INTCNTL_NM; | 88 | INTCNTL |= INTCNTL_NM; |
@@ -90,11 +90,11 @@ void avic_init(void) | |||
90 | /* Enable IRQ/FIQ in imx31 INTCNTL reg */ | 90 | /* Enable IRQ/FIQ in imx31 INTCNTL reg */ |
91 | INTCNTL &= ~(INTCNTL_ABFEN | INTCNTL_NIDIS | INTCNTL_FIDIS); | 91 | INTCNTL &= ~(INTCNTL_ABFEN | INTCNTL_NIDIS | INTCNTL_FIDIS); |
92 | 92 | ||
93 | /* Enable VE bit in CP15 Control reg to enable VIC */ | 93 | /* Enable VE bit in CP15 Control reg to enable VIC */ |
94 | asm volatile ( | 94 | asm volatile ( |
95 | "mrc p15, 0, r0, c1, c0, 0 \n" | 95 | "mrc p15, 0, r0, c1, c0, 0 \n" |
96 | "orr r0, r0, #(1 << 24) \n" | 96 | "orr r0, r0, #(1 << 24) \n" |
97 | "mcr p15, 0, r0, c1, c0, 0 \n" | 97 | "mcr p15, 0, r0, c1, c0, 0 \n" |
98 | : : : "r0"); | 98 | : : : "r0"); |
99 | 99 | ||
100 | /* Enable normal interrupts at all priorities */ | 100 | /* Enable normal interrupts at all priorities */ |
@@ -107,11 +107,11 @@ void avic_enable_int(enum IMX31_INT_LIST ints, enum INT_TYPE intstype, | |||
107 | int oldstatus = set_interrupt_status(IRQ_FIQ_DISABLED, | 107 | int oldstatus = set_interrupt_status(IRQ_FIQ_DISABLED, |
108 | IRQ_FIQ_STATUS); | 108 | IRQ_FIQ_STATUS); |
109 | 109 | ||
110 | if (ints != ALL) /* No mass-enable allowed */ | 110 | if (ints != ALL) /* No mass-enable allowed */ |
111 | { | 111 | { |
112 | avic_set_int_type(ints, intstype); | 112 | avic_set_int_type(ints, intstype); |
113 | VECTOR(ints) = (long)handler; | 113 | VECTOR(ints) = (long)handler; |
114 | INTENNUM = ints; | 114 | INTENNUM = ints; |
115 | } | 115 | } |
116 | 116 | ||
117 | set_interrupt_status(oldstatus, IRQ_FIQ_STATUS); | 117 | set_interrupt_status(oldstatus, IRQ_FIQ_STATUS); |
@@ -121,17 +121,17 @@ void avic_disable_int(enum IMX31_INT_LIST ints) | |||
121 | { | 121 | { |
122 | long i; | 122 | long i; |
123 | 123 | ||
124 | if (ints == ALL) | 124 | if (ints == ALL) |
125 | { | 125 | { |
126 | for (i = 0; i < 64; i++) | 126 | for (i = 0; i < 64; i++) |
127 | { | 127 | { |
128 | INTDISNUM = i; | 128 | INTDISNUM = i; |
129 | VECTOR(i) = (long)UIE_VECTOR; | 129 | VECTOR(i) = (long)UIE_VECTOR; |
130 | } | 130 | } |
131 | } | 131 | } |
132 | else | 132 | else |
133 | { | 133 | { |
134 | INTDISNUM = ints; | 134 | INTDISNUM = ints; |
135 | VECTOR(ints) = (long)UIE_VECTOR; | 135 | VECTOR(ints) = (long)UIE_VECTOR; |
136 | } | 136 | } |
137 | } | 137 | } |
@@ -165,12 +165,12 @@ void avic_set_int_type(enum IMX31_INT_LIST ints, enum INT_TYPE intstype) | |||
165 | int oldstatus = set_interrupt_status(IRQ_FIQ_DISABLED, | 165 | int oldstatus = set_interrupt_status(IRQ_FIQ_DISABLED, |
166 | IRQ_FIQ_STATUS); | 166 | IRQ_FIQ_STATUS); |
167 | 167 | ||
168 | if (ints == ALL) | 168 | if (ints == ALL) |
169 | { | 169 | { |
170 | int i; | 170 | int i; |
171 | for (i = 0; i < 64; i++) | 171 | for (i = 0; i < 64; i++) |
172 | set_int_type(i, intstype); | 172 | set_int_type(i, intstype); |
173 | } | 173 | } |
174 | else | 174 | else |
175 | { | 175 | { |
176 | set_int_type(ints, intstype); | 176 | set_int_type(ints, intstype); |