aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/plat-s3c64xx
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/plat-s3c64xx')
-rw-r--r--arch/arm/plat-s3c64xx/include/plat/irqs.h40
1 files changed, 37 insertions, 3 deletions
diff --git a/arch/arm/plat-s3c64xx/include/plat/irqs.h b/arch/arm/plat-s3c64xx/include/plat/irqs.h
index 5ab41ad143b7..bc25689c3f83 100644
--- a/arch/arm/plat-s3c64xx/include/plat/irqs.h
+++ b/arch/arm/plat-s3c64xx/include/plat/irqs.h
@@ -153,10 +153,44 @@
153#define S3C_EINT(x) ((x) + S3C_IRQ_EINT_BASE) 153#define S3C_EINT(x) ((x) + S3C_IRQ_EINT_BASE)
154#define IRQ_EINT(x) S3C_EINT(x) 154#define IRQ_EINT(x) S3C_EINT(x)
155 155
156/* Define NR_IRQs here, machine specific can always re-define. 156/* Next the external interrupt groups. These are similar to the IRQ_EINT(x)
157 * Currently the IRQ_EINT27 is the last one we can have. */ 157 * that they are sourced from the GPIO pins but with a different scheme for
158 * priority and source indication.
159 *
160 * The IRQ_EINT(x) can be thought of as 'group 0' of the available GPIO
161 * interrupts, but for historical reasons they are kept apart from these
162 * next interrupts.
163 *
164 * Use IRQ_EINT_GROUP(group, offset) to get the number for use in the
165 * machine specific support files.
166 */
158 167
159#define NR_IRQS (S3C_EINT(27) + 1) 168#define IRQ_EINT_GROUP1_NR (15)
169#define IRQ_EINT_GROUP2_NR (8)
170#define IRQ_EINT_GROUP3_NR (5)
171#define IRQ_EINT_GROUP4_NR (14)
172#define IRQ_EINT_GROUP5_NR (7)
173#define IRQ_EINT_GROUP6_NR (10)
174#define IRQ_EINT_GROUP7_NR (16)
175#define IRQ_EINT_GROUP8_NR (15)
176#define IRQ_EINT_GROUP9_NR (9)
177
178#define IRQ_EINT_GROUP_BASE S3C_EINT(28)
179#define IRQ_EINT_GROUP1_BASE (IRQ_EINT_GROUP_BASE + 0x00)
180#define IRQ_EINT_GROUP2_BASE (IRQ_EINT_GROUP1_BASE + IRQ_EINT_GROUP1_NR)
181#define IRQ_EINT_GROUP3_BASE (IRQ_EINT_GROUP2_BASE + IRQ_EINT_GROUP2_NR)
182#define IRQ_EINT_GROUP4_BASE (IRQ_EINT_GROUP3_BASE + IRQ_EINT_GROUP3_NR)
183#define IRQ_EINT_GROUP5_BASE (IRQ_EINT_GROUP4_BASE + IRQ_EINT_GROUP4_NR)
184#define IRQ_EINT_GROUP6_BASE (IRQ_EINT_GROUP5_BASE + IRQ_EINT_GROUP5_NR)
185#define IRQ_EINT_GROUP7_BASE (IRQ_EINT_GROUP6_BASE + IRQ_EINT_GROUP6_NR)
186#define IRQ_EINT_GROUP8_BASE (IRQ_EINT_GROUP7_BASE + IRQ_EINT_GROUP7_NR)
187#define IRQ_EINT_GROUP9_BASE (IRQ_EINT_GROUP8_BASE + IRQ_EINT_GROUP8_NR)
188
189#define IRQ_EINT_GROUP(group, no) (IRQ_EINT_GROUP##group##__BASE + (x))
190
191/* Set the default NR_IRQS */
192
193#define NR_IRQS (IRQ_EINT_GROUP9_BASE + IRQ_EINT_GROUP9_NR + 1)
160 194
161#endif /* __ASM_PLAT_S3C64XX_IRQS_H */ 195#endif /* __ASM_PLAT_S3C64XX_IRQS_H */
162 196