Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
irqs.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2008 STMicroelectronics
3  * Copyright (C) 2009 ST-Ericsson.
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  */
10 #ifndef ASM_ARCH_IRQS_H
11 #define ASM_ARCH_IRQS_H
12 
13 #include <mach/hardware.h>
14 
15 #define IRQ_LOCALTIMER 29
16 #define IRQ_LOCALWDOG 30
17 
18 /* Shared Peripheral Interrupt (SHPI) */
19 #define IRQ_SHPI_START 32
20 
21 /*
22  * MTU0 preserved for now until plat-nomadik is taught not to use it. Don't
23  * add any other IRQs here, use the irqs-dbx500.h files.
24  */
25 #define IRQ_MTU0 (IRQ_SHPI_START + 4)
26 
27 #define DBX500_NR_INTERNAL_IRQS 166
28 
29 /* After chip-specific IRQ numbers we have the GPIO ones */
30 #define NOMADIK_NR_GPIO 288
31 #define NOMADIK_GPIO_TO_IRQ(gpio) ((gpio) + DBX500_NR_INTERNAL_IRQS)
32 #define NOMADIK_IRQ_TO_GPIO(irq) ((irq) - DBX500_NR_INTERNAL_IRQS)
33 #define IRQ_GPIO_END NOMADIK_GPIO_TO_IRQ(NOMADIK_NR_GPIO)
34 
35 #define IRQ_SOC_START IRQ_GPIO_END
36 /* This will be overridden by SoC-specific irq headers */
37 #define IRQ_SOC_END IRQ_SOC_START
38 
39 #include <mach/irqs-db8500.h>
40 
41 #define IRQ_BOARD_START IRQ_SOC_END
42 /* This will be overridden by board-specific irq headers */
43 #define IRQ_BOARD_END IRQ_BOARD_START
44 
45 #ifdef CONFIG_MACH_MOP500
46 #include <mach/irqs-board-mop500.h>
47 #endif
48 
49 #define NR_IRQS IRQ_BOARD_END
50 
51 #endif /* ASM_ARCH_IRQS_H */