fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / asm-arm / arch-pxa / irqs.h
index 3d9b92a..67ed436 100644 (file)
@@ -10,7 +10,6 @@
  * published by the Free Software Foundation.
  */
 
-#include <linux/config.h>
 
 #ifdef CONFIG_PXA27x
 #define PXA_IRQ_SKIP   0
@@ -74,7 +73,7 @@
 #define IRQ_TO_GPIO(i) (((i) < IRQ_GPIO(2)) ? ((i) - IRQ_GPIO0) : IRQ_TO_GPIO_2_x(i))
 
 #if defined(CONFIG_PXA25x)
-#define PXA_LAST_GPIO  80
+#define PXA_LAST_GPIO  84
 #elif defined(CONFIG_PXA27x)
 #define PXA_LAST_GPIO  127
 #endif
 #define IRQ_S0_BVD1_STSCHG     (IRQ_BOARD_END + 53)
 #define IRQ_S1_BVD1_STSCHG     (IRQ_BOARD_END + 54)
 
+#define IRQ_LOCOMO_START       (IRQ_BOARD_END)
+#define IRQ_LOCOMO_KEY         (IRQ_BOARD_END + 0)
+#define IRQ_LOCOMO_GPIO0       (IRQ_BOARD_END + 1)
+#define IRQ_LOCOMO_GPIO1       (IRQ_BOARD_END + 2)
+#define IRQ_LOCOMO_GPIO2       (IRQ_BOARD_END + 3)
+#define IRQ_LOCOMO_GPIO3       (IRQ_BOARD_END + 4)
+#define IRQ_LOCOMO_GPIO4       (IRQ_BOARD_END + 5)
+#define IRQ_LOCOMO_GPIO5       (IRQ_BOARD_END + 6)
+#define IRQ_LOCOMO_GPIO6       (IRQ_BOARD_END + 7)
+#define IRQ_LOCOMO_GPIO7       (IRQ_BOARD_END + 8)
+#define IRQ_LOCOMO_GPIO8       (IRQ_BOARD_END + 9)
+#define IRQ_LOCOMO_GPIO9       (IRQ_BOARD_END + 10)
+#define IRQ_LOCOMO_GPIO10      (IRQ_BOARD_END + 11)
+#define IRQ_LOCOMO_GPIO11      (IRQ_BOARD_END + 12)
+#define IRQ_LOCOMO_GPIO12      (IRQ_BOARD_END + 13)
+#define IRQ_LOCOMO_GPIO13      (IRQ_BOARD_END + 14)
+#define IRQ_LOCOMO_GPIO14      (IRQ_BOARD_END + 15)
+#define IRQ_LOCOMO_GPIO15      (IRQ_BOARD_END + 16)
+#define IRQ_LOCOMO_LT          (IRQ_BOARD_END + 17)
+#define IRQ_LOCOMO_SPI_RFR     (IRQ_BOARD_END + 18)
+#define IRQ_LOCOMO_SPI_RFW     (IRQ_BOARD_END + 19)
+#define IRQ_LOCOMO_SPI_OVRN    (IRQ_BOARD_END + 20)
+#define IRQ_LOCOMO_SPI_TEND    (IRQ_BOARD_END + 21)
+
 /*
  * Figure out the MAX IRQ number.
  *
  * If we have an SA1111, the max IRQ is S1_BVD1_STSCHG+1.
+ * If we have an LoCoMo, the max IRQ is IRQ_LOCOMO_SPI_TEND+1
  * Otherwise, we have the standard IRQs only.
  */
 #ifdef CONFIG_SA1111
 #define NR_IRQS                        (IRQ_S1_BVD1_STSCHG + 1)
+#elif defined(CONFIG_SHARP_LOCOMO)
+#define NR_IRQS                        (IRQ_LOCOMO_SPI_TEND + 1)
 #elif defined(CONFIG_ARCH_LUBBOCK) || \
+      defined(CONFIG_MACH_LOGICPD_PXA270) || \
       defined(CONFIG_MACH_MAINSTONE)
 #define NR_IRQS                        (IRQ_BOARD_END)
 #else
 #define LUBBOCK_USB_DISC_IRQ   LUBBOCK_IRQ(6)  /* usb disconnect */
 #define LUBBOCK_LAST_IRQ       LUBBOCK_IRQ(6)
 
+#define LPD270_IRQ(x)          (IRQ_BOARD_START + (x))
+#define LPD270_USBC_IRQ                LPD270_IRQ(2)
+#define LPD270_ETHERNET_IRQ    LPD270_IRQ(3)
+#define LPD270_AC97_IRQ                LPD270_IRQ(4)
+
 #define MAINSTONE_IRQ(x)       (IRQ_BOARD_START + (x))
 #define MAINSTONE_MMC_IRQ      MAINSTONE_IRQ(0)
 #define MAINSTONE_USIM_IRQ     MAINSTONE_IRQ(1)
 #define MAINSTONE_S1_STSCHG_IRQ        MAINSTONE_IRQ(14)
 #define MAINSTONE_S1_IRQ       MAINSTONE_IRQ(15)
 
+/* LoCoMo Interrupts (CONFIG_SHARP_LOCOMO) */
+#define IRQ_LOCOMO_KEY_BASE    (IRQ_BOARD_START + 0)
+#define IRQ_LOCOMO_GPIO_BASE   (IRQ_BOARD_START + 1)
+#define IRQ_LOCOMO_LT_BASE     (IRQ_BOARD_START + 2)
+#define IRQ_LOCOMO_SPI_BASE    (IRQ_BOARD_START + 3)