#include <cyg/hal/hal_pxa2x0.h>
// 1st level
-// 0-7 Reserved
+#define CYGNUM_HAL_INTERRUPT_SSP3 0
+#define CYGNUM_HAL_INTERRUPT_MSL 1
+#define CYGNUM_HAL_INTERRUPT_USBH2 2
+#define CYGNUM_HAL_INTERRUPT_USBH1 3
+#define CYGNUM_HAL_INTERRUPT_KEYPAD 4
+#define CYGNUM_HAL_INTERRUPT_MEMSTK 5
+#define CYGNUM_HAL_INTERRUPT_PWRI2C 6
+#define CYGNUM_HAL_INTERRUPT_OST_4_11 7
#define CYGNUM_HAL_INTERRUPT_GPIO0 8
#define CYGNUM_HAL_INTERRUPT_GPIO1 9
-#define CYGNUM_HAL_INTERRUPT_GPIO 10
+#define CYGNUM_HAL_INTERRUPT_GPIOX 10
#define CYGNUM_HAL_INTERRUPT_USB 11
#define CYGNUM_HAL_INTERRUPT_PMU 12
#define CYGNUM_HAL_INTERRUPT_I2S 13
#define CYGNUM_HAL_INTERRUPT_AC97 14
-// 15,16 Reserved
+#define CYGNUM_HAL_INTERRUPT_ASSP 15 /* PXA25x */
+#define CYGNUM_HAL_INTERRUPT_USIM 15 /* PXA27x */
+#define CYGNUM_HAL_INTERRUT_NSSP 16
#define CYGNUM_HAL_INTERRUPT_LCD 17
#define CYGNUM_HAL_INTERRUPT_I2C 18
#define CYGNUM_HAL_INTERRUPT_ICP 19
#define CYGNUM_HAL_INTERRUPT_HZ 30
#define CYGNUM_HAL_INTERRUPT_ALARM 31
+#if defined (CYGOPT_HAL_ARM_XSCALE_PXA2X0_VARIANT_PXA27X)
+
+#define CYGNUM_HAL_INTERRUPT_TPM 32
+#define CYGNUM_HAL_INTERRUPT_CAMERA 33
+
+#define CYGNUM_HAL_INTERNAL_IRQS 34
+
+#elif defined(CYGOPT_HAL_ARM_XSCALE_PXA2X0_VARIANT_PXA25X)
+
+#define CYGNUM_HAL_INTERNAL_IRQS 32
// 2nd level
#define CYGNUM_HAL_INTERRUPT_GPIO2 (32+2)
#define CYGNUM_HAL_INTERRUPT_GPIO84 (96+20)
#define CYGNUM_HAL_INTERRUPT_GPIO85 (96+21)
+#endif
+
+#define CYGNUM_HAL_INTERRUPT_GPIO(i) \
+ (((i) < 2) ? (CYGNUM_HAL_INTERRUPT_GPIO0 + (i)) : (CYGNUM_HAL_INTERNAL_IRQS + (i)))
#define CYGNUM_HAL_INTERRUPT_NONE -1
#define CYGNUM_HAL_INTERRUPT_RTC CYGNUM_HAL_INTERRUPT_TIMER0
#define CYGNUM_HAL_ISR_MIN 0
-#define CYGNUM_HAL_ISR_MAX (96+21)
+#if defined CYGOPT_HAL_ARM_XSCALE_PXA2X0_VARIANT_PXA25X
+# define CYGNUM_HAL_ISR_MAX (96+21)
+#elif defined CYGOPT_HAL_ARM_XSCALE_PXA2X0_VARIANT_PXA27X
+# define CYGNUM_HAL_ISR_MAX (CYGNUM_HAL_INTERNAL_IRQS + 121)
+#endif
#define CYGNUM_HAL_ISR_COUNT (CYGNUM_HAL_ISR_MAX-CYGNUM_HAL_ISR_MIN+1)
#ifdef CYGVAR_KERNEL_COUNTERS_CLOCK_LATENCY