/*
 * arch/arm/plat-ambarella/include/plat/irq.h
 *
 * Author: Anthony Ginger <hfjiang@ambarella.com>
 *
 * Copyright (C) 2004-2010, Ambarella, Inc.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
 *
 */

#ifndef __PLAT_AMBARELLA_IRQ_H__
#define __PLAT_AMBARELLA_IRQ_H__

/* ==========================================================================*/
#if (CHIP_REV == A5S)
#define VIC_INSTANCES			(2)
#define VIC_SUPPORT_CPU_OFFLOAD		(0)
#define VIC_SUPPORT_REPRIORITIZE	(0)
#elif (CHIP_REV == A7L)
#define VIC_INSTANCES			(2)
#define VIC_SUPPORT_CPU_OFFLOAD		(1)
#define VIC_SUPPORT_REPRIORITIZE	(1)
#elif (CHIP_REV == S2)
#define VIC_INSTANCES			(3)
#define VIC_SUPPORT_CPU_OFFLOAD		(0)
#define VIC_SUPPORT_REPRIORITIZE	(0)
#elif (CHIP_REV == S2E) || (CHIP_REV == S3L)
#define VIC_INSTANCES			(3)
#define VIC_SUPPORT_CPU_OFFLOAD		(2)
#define VIC_SUPPORT_REPRIORITIZE	(1)
#elif (CHIP_REV == A8)
#define VIC_INSTANCES			(3)
#define VIC_SUPPORT_CPU_OFFLOAD		(1)
#define VIC_SUPPORT_REPRIORITIZE	(1)
#elif (CHIP_REV == S2L)
#define VIC_INSTANCES			(3)
#define VIC_SUPPORT_CPU_OFFLOAD		(1)
#define VIC_SUPPORT_REPRIORITIZE	(1)
#elif (CHIP_REV == S3)
#define VIC_INSTANCES			(4)
#define VIC_SUPPORT_CPU_OFFLOAD		(2)
#define VIC_SUPPORT_REPRIORITIZE	(1)
#else
#error "Not supported!"
#endif

#if (VIC_SUPPORT_CPU_OFFLOAD == 2)
#if (CHIP_REV == S3)
#define VIC_NULL_PRI_IRQ_VAL		(0x00000060)
#define VIC_NULL_PRI_IRQ_FIX		(0)
#elif (CHIP_REV == S2E)
#define VIC_NULL_PRI_IRQ_VAL		(0x00000040)
#define VIC_NULL_PRI_IRQ_FIX		(1)
#else
#define VIC_NULL_PRI_IRQ_VAL		(0xffffffff)
#define VIC_NULL_PRI_IRQ_FIX		(0)
#endif
#endif

#if (CHIP_REV == S3) || (CHIP_REV == S3L)
#define VIC_2NDGEN_BITASSIGNMENT	(1)
#endif

/* ==========================================================================*/
#define VIC0_OFFSET			0x3000
#define VIC1_OFFSET			0x10000
#define VIC2_OFFSET			0x1C000
#define VIC3_OFFSET			0x11000

#define VIC0_BASE			(AHB_BASE + VIC0_OFFSET)
#define VIC1_BASE			(AHB_BASE + VIC1_OFFSET)
#define VIC2_BASE			(AHB_BASE + VIC2_OFFSET)
#define VIC3_BASE			(AHB_BASE + VIC3_OFFSET)

#define VIC0_REG(x)			(VIC0_BASE + (x))
#define VIC1_REG(x)			(VIC1_BASE + (x))
#define VIC2_REG(x)			(VIC2_BASE + (x))
#define VIC3_REG(x)			(VIC3_BASE + (x))
#define VIC_REG(irq, x)			((irq) < VIC0_INT_VEC(NR_VIC_IRQ_SIZE) ? VIC0_REG((x)) : \
					 (irq) < VIC1_INT_VEC(NR_VIC_IRQ_SIZE) ? VIC1_REG((x)) : \
					 (irq) < VIC2_INT_VEC(NR_VIC_IRQ_SIZE) ? VIC2_REG((x)) : \
					 VIC3_REG((x)))

/* ==========================================================================*/
#define NR_VIC_IRQ_SIZE			(32)

#if defined(CONFIG_ARM_GIC)
#define VIC_IRQ(x)			((x) + 32)
#define NR_SPI_IRQS			(256)
#define SGI_INT_VEC(x)			(x)
#define PPI_INT_VEC(x)			(x)
#define SPI_INT_VEC(x)			(x)
#else
#define VIC_IRQ(x)			(x)
#endif

#define VIC0_INT_VEC(x)			(VIC_IRQ(x) + NR_VIC_IRQ_SIZE * 0)
#define VIC1_INT_VEC(x)			(VIC_IRQ(x) + NR_VIC_IRQ_SIZE * 1)
#define VIC2_INT_VEC(x)			(VIC_IRQ(x) + NR_VIC_IRQ_SIZE * 2)
#define VIC3_INT_VEC(x)			(VIC_IRQ(x) + NR_VIC_IRQ_SIZE * 3)

#ifndef NR_SPI_IRQS
#define NR_VIC_IRQS			(VIC_INSTANCES * NR_VIC_IRQ_SIZE)
#define GPIO_INT_VEC(x)			(NR_VIC_IRQS + x)
#else
#define NR_VIC_IRQS			NR_SPI_IRQS
#define GPIO_INT_VEC(x)			(NR_SPI_IRQS + x)
#endif

#ifndef CONFIG_AMBARELLA_EXT_IRQ_NUM
#define CONFIG_AMBARELLA_EXT_IRQ_NUM	(64)
#endif
#define EXT_IRQ(x)			GPIO_INT_VEC(AMBGPIO_SIZE + x)

#define NR_IRQS				EXT_IRQ(CONFIG_AMBARELLA_EXT_IRQ_NUM)

/* ==========================================================================*/
#define VIC_IRQ_STA_OFFSET			(0x00)
#define VIC_FIQ_STA_OFFSET			(0x04)
#define VIC_RAW_STA_OFFSET			(0x08)
#define VIC_INT_SEL_OFFSET			(0x0c)
#define VIC_INTEN_OFFSET			(0x10)
#define VIC_INTEN_CLR_OFFSET			(0x14)
#define VIC_SOFTEN_OFFSET			(0x18)
#define VIC_SOFTEN_CLR_OFFSET			(0x1c)
#define VIC_PROTEN_OFFSET			(0x20)
#define VIC_SENSE_OFFSET			(0x24)
#define VIC_BOTHEDGE_OFFSET			(0x28)
#define VIC_EVENT_OFFSET			(0x2c)
#define VIC_INT_PTR0_OFFSET			(0x30)
#define VIC_INT_PTR1_OFFSET			(0x34)
#define VIC_EDGE_CLR_OFFSET			(0x38)
#define VIC_INT_SEL_INT_OFFSET			(0x3c)
#define VIC_INT_SEL_CLR_INT_OFFSET		(0x40)
#define VIC_INT_EN_INT_OFFSET			(0x44)
#define VIC_INT_EN_CLR_INT_OFFSET		(0x48)
#define VIC_SOFT_INT_INT_OFFSET			(0x4c)
#define VIC_SOFT_INT_CLR_INT_OFFSET		(0x50)
#define VIC_INT_SENSE_INT_OFFSET		(0x54)
#define VIC_INT_SENSE_CLR_INT_OFFSET		(0x58)
#define VIC_INT_BOTHEDGE_INT_OFFSET		(0x5c)
#define VIC_INT_BOTHEDGE_CLR_INT_OFFSET		(0x60)
#define VIC_INT_EVT_INT_OFFSET			(0x64)
#define VIC_INT_EVT_CLR_INT_OFFSET		(0x68)
#define VIC_INT_PENDING_OFFSET			(0x6c)
#define VIC_INT_RE_PRIORITIZE_EN_OFFSET		(0x70)
#define VIC_INT_PRIORITY_0_OFFSET		(0x74)
#define VIC_INT_PRIORITY_1_OFFSET		(0x78)
#define VIC_INT_PRIORITY_2_OFFSET		(0x7c)
#define VIC_INT_PRIORITY_3_OFFSET		(0x80)
#define VIC_INT_PRIORITY_4_OFFSET		(0x84)
#define VIC_INT_PRIORITY_5_OFFSET		(0x88)
#define VIC_INT_DELAY_EN_OFFSET			(0x8c)
#define VIC_INT_DELAY_OFFSET			(0x90)
#define VIC_INT_PENDING_C1_REG			(0x94)
#define VIC_INT_EDGE_CLR_OFFSET			(0x98)

/* ==========================================================================*/
#if (CHIP_REV == A5S)
#define USBVBUS_IRQ			VIC0_INT_VEC(0)
#define VOUT_IRQ			VIC0_INT_VEC(1)
#define VIN_IRQ				VIC0_INT_VEC(2)
#define VDSP_IRQ			VIC0_INT_VEC(3)
#define USBC_IRQ			VIC0_INT_VEC(4)
#define HIF_ARM1_IRQ			VIC0_INT_VEC(5)
#define HIF_ARM2_IRQ			VIC0_INT_VEC(6)
#define I2STX_IRQ			VIC0_INT_VEC(7)
#define I2SRX_IRQ			VIC0_INT_VEC(8)
#define UART0_IRQ			VIC0_INT_VEC(9)
#define GPIO0_IRQ			VIC0_INT_VEC(10)
#define GPIO1_IRQ			VIC0_INT_VEC(11)
#define TIMER1_IRQ			VIC0_INT_VEC(12)
#define TIMER2_IRQ			VIC0_INT_VEC(13)
#define TIMER3_IRQ			VIC0_INT_VEC(14)
#define DMA_IRQ				VIC0_INT_VEC(15)
#define FIOCMD_IRQ			VIC0_INT_VEC(16)
#define FIODMA_IRQ			VIC0_INT_VEC(17)
#define SD_IRQ				VIC0_INT_VEC(18)
#define IDC_IRQ				VIC0_INT_VEC(19)
#define SSI_IRQ				VIC0_INT_VEC(20)
#define WDT_IRQ				VIC0_INT_VEC(21)
#define IRIF_IRQ			VIC0_INT_VEC(22)
#define CFCD1_IRQ			VIC0_INT_VEC(23)
#define SD1CD_IRQ			VIC0_INT_VEC(24)
#define UART1_IRQ			VIC0_INT_VEC(25)
#define SSI_SLAVE_IRQ			VIC0_INT_VEC(26)
#define ETH_IRQ				VIC0_INT_VEC(27)
#define IDSP_ERROR_IRQ			VIC0_INT_VEC(28)
#define VOUT_SYNC_MISSED_IRQ		VIC0_INT_VEC(29)
#define GPIO2_IRQ			VIC0_INT_VEC(30)
#define CFCD2_IRQ			VIC0_INT_VEC(31)

#define AUDIO_ORC_IRQ			VIC1_INT_VEC(0)
#define DMA_FIOS_IRQ			VIC1_INT_VEC(1)
#define ADC_LEVEL_IRQ			VIC1_INT_VEC(2)
#define VOUT1_SYNC_MISSED_IRQ		VIC1_INT_VEC(3)
#define IDC2_IRQ			VIC1_INT_VEC(4)
#define IDSP_LAST_PIXEL_IRQ		VIC1_INT_VEC(5)
#define IDSP_VSYNC_IRQ			VIC1_INT_VEC(6)
#define IDSP_SENSOR_VSYNC_IRQ		VIC1_INT_VEC(7)
#define HDMI_IRQ			VIC1_INT_VEC(8)
#define SSI2_IRQ			VIC1_INT_VEC(9)
#define VOUT_TV_SYNC_IRQ		VIC1_INT_VEC(10)
#define VOUT_LCD_SYNC_IRQ		VIC1_INT_VEC(11)
#define ORC_VOUT0_IRQ			VIC1_INT_VEC(12)
#define AES_IRQ				VIC1_INT_VEC(13)
#define DES_IRQ				VIC1_INT_VEC(14)
#define MS_IRQ				VIC1_INT_VEC(15)
#define GDMA_IRQ			VIC1_INT_VEC(16)
#define MOTOR_IRQ			VIC1_INT_VEC(17)
#define PMU_IRQ				VIC1_INT_VEC(31)

/* ==========================================================================*/
#elif (CHIP_REV == A7L)
#define USBVBUS_IRQ			VIC0_INT_VEC(0)
#define VOUT_IRQ			VIC0_INT_VEC(1)
#define VIN_IRQ				VIC0_INT_VEC(2)
#define GDMA_IRQ			VIC0_INT_VEC(3)
#define USBC_IRQ			VIC0_INT_VEC(4)
#define SD1CD_IRQ			VIC0_INT_VEC(5)
#define VDSP_IRQ			VIC0_INT_VEC(6)
#define I2STX_IRQ			VIC0_INT_VEC(7)
#define I2SRX_IRQ			VIC0_INT_VEC(8)
#define UART0_IRQ			VIC0_INT_VEC(9)
#define GPIO0_IRQ			VIC0_INT_VEC(10)
#define GPIO1_IRQ			VIC0_INT_VEC(11)
#define TIMER1_IRQ			VIC0_INT_VEC(12)
#define TIMER2_IRQ			VIC0_INT_VEC(13)
#define TIMER3_IRQ			VIC0_INT_VEC(14)
#define DMA_IRQ				VIC0_INT_VEC(15)
#define FIOCMD_IRQ			VIC0_INT_VEC(16)
#define FIODMA_IRQ			VIC0_INT_VEC(17)
#define SD_IRQ				VIC0_INT_VEC(18)
#define IDC_IRQ				VIC0_INT_VEC(19)
#define SSI_IRQ				VIC0_INT_VEC(20)
#define WDT_IRQ				VIC0_INT_VEC(21)
#define IRIF_IRQ			VIC0_INT_VEC(22)
#define CFCD2_IRQ			VIC0_INT_VEC(24)
#define UART1_IRQ			VIC0_INT_VEC(25)
#define IDC2_IRQ			VIC0_INT_VEC(26)
#define IDSP_ERROR_IRQ			VIC0_INT_VEC(28)
#define GPIO2_IRQ			VIC0_INT_VEC(30)

#define PMU_IRQ				VIC1_INT_VEC(0)
#define DMA_FIOS_IRQ			VIC1_INT_VEC(1)
#define ADC_LEVEL_IRQ			VIC1_INT_VEC(2)
#define IDSP_LAST_PIXEL_IRQ		VIC1_INT_VEC(5)
#define IDSP_VSYNC_IRQ			VIC1_INT_VEC(6)
#define IDSP_SENSOR_VSYNC_IRQ		VIC1_INT_VEC(7)
#define HDMI_IRQ			VIC1_INT_VEC(8)
#define SSI_SLAVE_IRQ			VIC1_INT_VEC(9)
#define VOUT_TV_SYNC_IRQ		VIC1_INT_VEC(10)
#define VOUT_LCD_SYNC_IRQ		VIC1_INT_VEC(11)
#define ORC_VOUT0_IRQ			VIC1_INT_VEC(12)
#define MS_IRQ				VIC1_INT_VEC(15)
#define MOTOR_IRQ			VIC1_INT_VEC(17)
#define GPIO3_IRQ			VIC1_INT_VEC(19)
#define DRAM_ERROR_IRQ			VIC1_INT_VEC(23)
#define SD2_IRQ				VIC1_INT_VEC(24)
#define TIMER4_IRQ			VIC1_INT_VEC(27)
#define TIMER5_IRQ			VIC1_INT_VEC(28)
#define TIMER6_IRQ			VIC1_INT_VEC(29)
#define TIMER7_IRQ			VIC1_INT_VEC(30)
#define TIMER8_IRQ			VIC1_INT_VEC(31)

/* ==========================================================================*/
#elif (CHIP_REV == S2)
#define USBVBUS_IRQ			VIC0_INT_VEC(0)
#define USBC_IRQ			VIC0_INT_VEC(4)
#define USB_CHARGE_IRQ			VIC0_INT_VEC(5)
#define I2STX_IRQ			VIC0_INT_VEC(7)
#define I2SRX_IRQ			VIC0_INT_VEC(8)
#define UART0_IRQ			VIC0_INT_VEC(9)
#define GPIO0_IRQ			VIC0_INT_VEC(10)
#define GPIO1_IRQ			VIC0_INT_VEC(11)
#define DMA_IRQ				VIC0_INT_VEC(15)
#define FIOCMD_IRQ			VIC0_INT_VEC(16)
#define FIODMA_IRQ			VIC0_INT_VEC(17)
#define SD_IRQ				VIC0_INT_VEC(18)
#define IDC_IRQ				VIC0_INT_VEC(19)
#define SSI_IRQ				VIC0_INT_VEC(20)
#define IRIF_IRQ			VIC0_INT_VEC(22)
#define CFCD1_IRQ			VIC0_INT_VEC(23)
#define SD1CD_IRQ			VIC0_INT_VEC(24)
#define UART1_IRQ			VIC0_INT_VEC(25)
#define SSI_SLAVE_IRQ			VIC0_INT_VEC(26)
#define ETH_IRQ				VIC0_INT_VEC(27)
#define IDSP_SOFT_IRQ			VIC0_INT_VEC(28)
#define GPIO3_IRQ			VIC0_INT_VEC(29)
#define GPIO2_IRQ			VIC0_INT_VEC(30)

#define ROLLING_SHUTTER_IRQ		VIC1_INT_VEC(0)
#define DMA_FIOS_IRQ			VIC1_INT_VEC(1)
#define ADC_LEVEL_IRQ			VIC1_INT_VEC(2)
#define IDSP_VIN_SOFT_IRQ		VIC1_INT_VEC(3)
#define IDC2_IRQ			VIC1_INT_VEC(4)
#define IDSP_LAST_PIXEL_IRQ		VIC1_INT_VEC(5)
#define IDSP_VSYNC_IRQ			VIC1_INT_VEC(6)
#define IDSP_SENSOR_VSYNC_IRQ		VIC1_INT_VEC(7)
#define HDMI_IRQ			VIC1_INT_VEC(8)
#define FIOS_ECC_IRQ			VIC1_INT_VEC(9)

#define GPIO4_IRQ			VIC1_INT_VEC(16)
#define MOTOR_IRQ			VIC1_INT_VEC(17)
#define GDMA_IRQ			VIC1_INT_VEC(18)
#define FACE_DET_IRQ			VIC1_INT_VEC(19)
#define SD2_IRQ				VIC1_INT_VEC(20)
#define SSI_MASTER_IRQ			VIC1_INT_VEC(21)
#define IDSP_PROG_IRQ			VIC1_INT_VEC(26)

#define VDSP_PIP_SVSYNC_IRQ		VIC2_INT_VEC(0)
#define IDSP_PIP_SVSYNC_IRQ		VIC2_INT_VEC(1)
#define IDSP_PIP_PROG_IRQ		VIC2_INT_VEC(2)
#define IDSP_PIP_LAST_PIXEL_IRQ		VIC2_INT_VEC(3)
#define CORTEX_CORE0_IRQ		VIC2_INT_VEC(4)
#define CORTEX_CORE1_IRQ		VIC2_INT_VEC(5)
#define ETH_PMT_INTR_IRQ		VIC2_INT_VEC(6)
#define I2S1_RX_IRQ			VIC2_INT_VEC(7)
#define I2S1_TX_IRQ			VIC2_INT_VEC(8)
#define USB_EHCI_IRQ			VIC2_INT_VEC(9)
#define AXI_SOFT_IRQ(x)			VIC2_INT_VEC((x) + 10)	/* 0 <= x <= 13 */
#define CORTEX_WDT_IRQ			VIC2_INT_VEC(24)
#define USB_OHCI_IRQ			VIC2_INT_VEC(25)
#define IDC3_IRQ			VIC2_INT_VEC(26)
#define UART2_IRQ			VIC2_INT_VEC(27)
#define UART3_IRQ			VIC2_INT_VEC(28)
#define PMU_IRQ				VIC2_INT_VEC(31)

#if defined(CONFIG_ARM_GIC)
#define VOUT_IRQ			VIC3_INT_VEC(0)
#define VIN_IRQ				VIC3_INT_VEC(1)
#define TIMER1_IRQ			VIC3_INT_VEC(2)
#define TIMER2_IRQ			VIC3_INT_VEC(3)
#define TIMER3_IRQ			VIC3_INT_VEC(4)
#define WDT_IRQ				VIC3_INT_VEC(5)
#define VOUT_TV_SYNC_IRQ		VIC3_INT_VEC(6)
#define VOUT_LCD_SYNC_IRQ		VIC3_INT_VEC(7)
#define ORC_VOUT0_IRQ			VIC3_INT_VEC(8)
#define TIMER4_IRQ			VIC3_INT_VEC(9)
#define TIMER5_IRQ			VIC3_INT_VEC(10)
#define TIMER6_IRQ			VIC3_INT_VEC(11)
#define TIMER7_IRQ			VIC3_INT_VEC(12)
#define TIMER8_IRQ			VIC3_INT_VEC(13)
#define CODE_VDSP_0_IRQ			VIC3_INT_VEC(14)
#define CODE_VDSP_1_IRQ			VIC3_INT_VEC(15)
#define CODE_VDSP_2_IRQ			VIC3_INT_VEC(16)
#define CODE_VDSP_3_IRQ			VIC3_INT_VEC(17)
#define MD5_IRQ				VIC3_INT_VEC(24)
#define DES_IRQ				VIC3_INT_VEC(25)
#define AES_IRQ				VIC3_INT_VEC(26)
#define SHA1_IRQ			VIC3_INT_VEC(27)
#else
#define VOUT_IRQ			VIC0_INT_VEC(1)
#define VIN_IRQ				VIC0_INT_VEC(2)
#define TIMER1_IRQ			VIC0_INT_VEC(12)
#define TIMER2_IRQ			VIC0_INT_VEC(13)
#define TIMER3_IRQ			VIC0_INT_VEC(14)
#define WDT_IRQ				VIC0_INT_VEC(21)
#define VOUT_TV_SYNC_IRQ		VIC1_INT_VEC(10)
#define VOUT_LCD_SYNC_IRQ		VIC1_INT_VEC(11)
#define ORC_VOUT0_IRQ			VIC1_INT_VEC(14)
#define TIMER4_IRQ			VIC1_INT_VEC(27)
#define TIMER5_IRQ			VIC1_INT_VEC(28)
#define TIMER6_IRQ			VIC1_INT_VEC(29)
#define TIMER7_IRQ			VIC1_INT_VEC(30)
#define TIMER8_IRQ			VIC1_INT_VEC(31)
#define CODE_VDSP_0_IRQ			VIC0_INT_VEC(3)
#define CODE_VDSP_1_IRQ			VIC1_INT_VEC(24)
#define CODE_VDSP_2_IRQ			VIC1_INT_VEC(23)
#define CODE_VDSP_3_IRQ			VIC1_INT_VEC(22)
#define DES_IRQ				VIC1_INT_VEC(12)
#define AES_IRQ				VIC1_INT_VEC(13)
#define MD5_SHA1_IRQ			VIC1_INT_VEC(25)
#endif

#define GLOBAL_TIMER_IRQ		PPI_INT_VEC(27)
#define LEGACY_FIQ			PPI_INT_VEC(28)
#define LOCAL_TIMER_IRQ			PPI_INT_VEC(29)
#define LOCAL_WDOG_IRQ			PPI_INT_VEC(30)
#define LEGACY_IRQ			PPI_INT_VEC(31)

#define DDD_IRQ				SPI_INT_VEC(153)
#define DECODE_ERROR_IRQ		SPI_INT_VEC(154)
#define SLAVE_ERROR_IRQ			SPI_INT_VEC(155)
#define FMEM_READ_ERROR_IRQ		SPI_INT_VEC(156)
#define FMEM_WRITE_ERROR_IRQ		SPI_INT_VEC(157)
#define L2CC_ECNTR_IRQ			SPI_INT_VEC(158)
#define L2CC_COMBINED_IRQ		SPI_INT_VEC(159)

/* ==========================================================================*/
#elif (CHIP_REV == S2E)
#define USBVBUS_IRQ			VIC0_INT_VEC(0)
#define VOUT_IRQ			VIC0_INT_VEC(1)
#define VIN_IRQ				VIC0_INT_VEC(2)
#define CODE_VDSP_0_IRQ			VIC0_INT_VEC(3)
#define USBC_IRQ			VIC0_INT_VEC(4)
#define USB_CHARGE_IRQ			VIC0_INT_VEC(5)
#define PMU_IRQ				VIC0_INT_VEC(6)
#define I2STX_IRQ			VIC0_INT_VEC(7)
#define I2SRX_IRQ			VIC0_INT_VEC(8)
#define UART0_IRQ			VIC0_INT_VEC(9)
#define GPIO0_IRQ			VIC0_INT_VEC(10)
#define GPIO1_IRQ			VIC0_INT_VEC(11)
#define TIMER1_IRQ			VIC0_INT_VEC(12)
#define TIMER2_IRQ			VIC0_INT_VEC(13)
#define TIMER3_IRQ			VIC0_INT_VEC(14)
#define DMA_IRQ				VIC0_INT_VEC(15)
#define FIOCMD_IRQ			VIC0_INT_VEC(16)
#define FIODMA_IRQ			VIC0_INT_VEC(17)
#define SD_IRQ				VIC0_INT_VEC(18)
#define IDC_IRQ				VIC0_INT_VEC(19)
#define SSI_IRQ				VIC0_INT_VEC(20)
#define WDT_IRQ				VIC0_INT_VEC(21)
#define IRIF_IRQ			VIC0_INT_VEC(22)
#define SD1CD_IRQ			VIC0_INT_VEC(23)
#define SD0CD_IRQ			VIC0_INT_VEC(24)
#define UART1_IRQ			VIC0_INT_VEC(25)
#define SSI_SLAVE_IRQ			VIC0_INT_VEC(26)
#define ETH_IRQ				VIC0_INT_VEC(27)
#define IDSP_SOFT_IRQ			VIC0_INT_VEC(28)
#define GPIO3_IRQ			VIC0_INT_VEC(29)
#define GPIO2_IRQ			VIC0_INT_VEC(30)
#define PMU1_IRQ			VIC0_INT_VEC(31)

#define ROLLING_SHUTTER_IRQ		VIC1_INT_VEC(0)
#define DMA_FIOS_IRQ			VIC1_INT_VEC(1)
#define ADC_LEVEL_IRQ			VIC1_INT_VEC(2)
#define IDSP_VIN_SOFT_IRQ		VIC1_INT_VEC(3)
#define IDC2_IRQ			VIC1_INT_VEC(4)
#define IDSP_LAST_PIXEL_IRQ		VIC1_INT_VEC(5)
#define IDSP_VSYNC_IRQ			VIC1_INT_VEC(6)
#define IDSP_SENSOR_VSYNC_IRQ		VIC1_INT_VEC(7)
#define HDMI_IRQ			VIC1_INT_VEC(8)
#define FIOS_ECC_IRQ			VIC1_INT_VEC(9)
#define VOUT_TV_SYNC_IRQ		VIC1_INT_VEC(10)
#define VOUT_LCD_SYNC_IRQ		VIC1_INT_VEC(11)
#define AES_IRQ				VIC1_INT_VEC(12)
#define DES_IRQ				VIC1_INT_VEC(13)
#define ORC_VOUT0_IRQ			VIC1_INT_VEC(14)
#define MD5_IRQ				VIC1_INT_VEC(15)
#define GPIO4_IRQ			VIC1_INT_VEC(16)
#define MOTOR_IRQ			VIC1_INT_VEC(17)
#define GDMA_IRQ			VIC1_INT_VEC(18)
#define L2CC_INTR1_IRQ			VIC1_INT_VEC(19)
#define SD2_IRQ				VIC1_INT_VEC(20)
#define SSI_MASTER_IRQ			VIC1_INT_VEC(21)
#define CODE_VDSP_3_IRQ			VIC1_INT_VEC(22)
#define CODE_VDSP_2_IRQ			VIC1_INT_VEC(23)
#define CODE_VDSP_1_IRQ			VIC1_INT_VEC(24)
#define L2CC_INTR_IRQ			VIC1_INT_VEC(25)
#define IDSP_PROG_IRQ			VIC1_INT_VEC(26)
#define TIMER4_IRQ			VIC1_INT_VEC(27)
#define TIMER5_IRQ			VIC1_INT_VEC(28)
#define TIMER6_IRQ			VIC1_INT_VEC(29)
#define TIMER7_IRQ			VIC1_INT_VEC(30)
#define TIMER8_IRQ			VIC1_INT_VEC(31)

#define VDSP_PIP_SVSYNC_IRQ		VIC2_INT_VEC(0)
#define IDSP_PIP_SVSYNC_IRQ		VIC2_INT_VEC(1)
#define IDSP_PIP_PROG_IRQ		VIC2_INT_VEC(2)
#define IDSP_PIP_LAST_PIXEL_IRQ		VIC2_INT_VEC(3)
#define CORTEX_CORE0_IRQ		VIC2_INT_VEC(4)
#define CORTEX_CORE1_IRQ		VIC2_INT_VEC(5)
#define ETH_PMT_INTR_IRQ		VIC2_INT_VEC(6)
#define I2S1_RX_IRQ			VIC2_INT_VEC(7)
#define I2S1_TX_IRQ			VIC2_INT_VEC(8)
#define USB_EHCI_IRQ			VIC2_INT_VEC(9)
#define IPI00_IRQ			VIC2_INT_VEC(10)
#define IPI01_IRQ			VIC2_INT_VEC(11)
#define IPI02_IRQ			VIC2_INT_VEC(12)
#define IPI03_IRQ			VIC2_INT_VEC(13)
#define IPI04_IRQ			VIC2_INT_VEC(14)
#define IPI05_IRQ			VIC2_INT_VEC(15)
#define IPI06_IRQ			VIC2_INT_VEC(16)
#define IPI10_IRQ			VIC2_INT_VEC(17)
#define IPI11_IRQ			VIC2_INT_VEC(18)
#define IPI12_IRQ			VIC2_INT_VEC(19)
#define IPI13_IRQ			VIC2_INT_VEC(20)
#define IPI14_IRQ			VIC2_INT_VEC(21)
#define IPI15_IRQ			VIC2_INT_VEC(22)
#define IPI16_IRQ			VIC2_INT_VEC(23)
#define SHA1_IRQ			VIC2_INT_VEC(24)
#define USB_OHCI_IRQ			VIC2_INT_VEC(25)
#define IDC3_IRQ			VIC2_INT_VEC(26)
#define UART2_IRQ			VIC2_INT_VEC(27)
#define UART3_IRQ			VIC2_INT_VEC(28)

/* ==========================================================================*/
#elif (CHIP_REV == A8)
#define USBVBUS_IRQ			VIC0_INT_VEC(0)
#define ROLLING_SHUTTER_IRQ		VIC0_INT_VEC(3)
#define USBC_IRQ			VIC0_INT_VEC(4)
#define HIF_ARM1_IRQ			VIC0_INT_VEC(5)
#define HIF_ARM2_IRQ			VIC0_INT_VEC(6)
#define I2STX_IRQ			VIC0_INT_VEC(7)
#define I2SRX_IRQ			VIC0_INT_VEC(8)
#define UART0_IRQ			VIC0_INT_VEC(9)
#define GPIO0_IRQ			VIC0_INT_VEC(10)
#define GPIO1_IRQ			VIC0_INT_VEC(11)
#define DMA_IRQ				VIC0_INT_VEC(15)
#define FIOCMD_IRQ			VIC0_INT_VEC(16)
#define FIODMA_IRQ			VIC0_INT_VEC(17)
#define SD_IRQ				VIC0_INT_VEC(18)
#define IDC_IRQ				VIC0_INT_VEC(19)
#define SSI_IRQ				VIC0_INT_VEC(20)
#define IRIF_IRQ			VIC0_INT_VEC(22)
#define CFCD1_IRQ			VIC0_INT_VEC(23)
#define SD1CD_IRQ			VIC0_INT_VEC(24)
#define UART1_IRQ			VIC0_INT_VEC(25)
#define SSI_SLAVE_IRQ			VIC0_INT_VEC(26)
#define ETH_IRQ				VIC0_INT_VEC(27)
#define IDSP_SOFT_IRQ			VIC0_INT_VEC(28)
#define ETH_POWER_IRQ			VIC0_INT_VEC(29)
#define GPIO2_IRQ			VIC0_INT_VEC(30)
#define CFCD2_IRQ			VIC0_INT_VEC(31)

#define DRAM_AXI_ERROR_IRQ		VIC1_INT_VEC(0)
#define DMA_FIOS_IRQ			VIC1_INT_VEC(1)
#define ADC_LEVEL_IRQ			VIC1_INT_VEC(2)
#define SSI3_IRQ			VIC1_INT_VEC(3)
#define IDC2_IRQ			VIC1_INT_VEC(4)
#define IDSP_LAST_PIXEL_IRQ		VIC1_INT_VEC(5)
#define IDSP_VSYNC_IRQ			VIC1_INT_VEC(6)
#define IDSP_SENSOR_VSYNC_IRQ		VIC1_INT_VEC(7)
#define HDMI_IRQ			VIC1_INT_VEC(8)
#define SSI2_IRQ			VIC1_INT_VEC(9)
#define AES_IRQ				VIC1_INT_VEC(13)
#define DES_IRQ				VIC1_INT_VEC(14)
#define MS_IRQ				VIC1_INT_VEC(15)
#define USB_EHCI_IRQ			VIC1_INT_VEC(16)
#define MOTOR_IRQ			VIC1_INT_VEC(17)
#define MD5_SHA1_IRQ			VIC1_INT_VEC(18)
#define GPIO3_IRQ			VIC1_INT_VEC(19)
#define GPIO4_IRQ			VIC1_INT_VEC(20)
#define GPIO5_IRQ			VIC1_INT_VEC(21)
#define SATA_IRQ			VIC1_INT_VEC(22)
#define DRAM_ERROR_IRQ			VIC1_INT_VEC(23)
#define SD2_IRQ				VIC1_INT_VEC(24)
#define UART2_IRQ			VIC1_INT_VEC(25)
#define UART3_IRQ			VIC1_INT_VEC(26)

#define GSSI_IRQ			VIC2_INT_VEC(0)
#define SSI4_IRQ			VIC2_INT_VEC(1)
#define PMU_IRQ				VIC2_INT_VEC(2)
#define SD2CD_IRQ			VIC2_INT_VEC(3)
#define CORTEX_CORE0_IRQ		VIC2_INT_VEC(4)
#define CORTEX_CORE1_IRQ		VIC2_INT_VEC(5)
#define TS_CH1_RX_IRQ			VIC2_INT_VEC(6)
#define TS_CH0_RX_IRQ			VIC2_INT_VEC(7)
#define TS_CH1_TX_IRQ			VIC2_INT_VEC(8)
#define TS_CH0_TX_IRQ			VIC2_INT_VEC(9)
#define AXI_SOFT_IRQ(x)			VIC2_INT_VEC((x) + 10)	/* 0 <= x <= 13 */
#define CORTEX_WDT_IRQ			VIC2_INT_VEC(24)
#define USB_OHCI_IRQ			VIC2_INT_VEC(25)
#define SPDIF_IRQ			VIC2_INT_VEC(26)
#define SSI_AHB_IRQ			VIC2_INT_VEC(27)
#define IDC3_IRQ			VIC2_INT_VEC(28)

#if defined(CONFIG_ARM_GIC)
#define VOUT_IRQ			VIC3_INT_VEC(0)
#define VIN_IRQ				VIC3_INT_VEC(1)
#define TIMER1_IRQ			VIC3_INT_VEC(2)
#define TIMER2_IRQ			VIC3_INT_VEC(3)
#define TIMER3_IRQ			VIC3_INT_VEC(4)
#define WDT_IRQ				VIC3_INT_VEC(5)
#define VOUT_TV_SYNC_IRQ		VIC3_INT_VEC(6)
#define VOUT_LCD_SYNC_IRQ		VIC3_INT_VEC(7)
#define ORC_VOUT0_IRQ			VIC3_INT_VEC(8)
#define TIMER4_IRQ			VIC3_INT_VEC(9)
#define TIMER5_IRQ			VIC3_INT_VEC(10)
#define TIMER6_IRQ			VIC3_INT_VEC(11)
#define TIMER7_IRQ			VIC3_INT_VEC(12)
#define TIMER8_IRQ			VIC3_INT_VEC(13)
#define CODING_ORC0_IRQ			VIC3_INT_VEC(14)
#define CODING_ORC1_IRQ			VIC3_INT_VEC(15)
#define CODING_ORC2_IRQ			VIC3_INT_VEC(16)
#define CODING_ORC3_IRQ			VIC3_INT_VEC(17)
#else
#define VOUT_IRQ			VIC0_INT_VEC(1)
#define VIN_IRQ				VIC0_INT_VEC(2)
#define TIMER1_IRQ			VIC0_INT_VEC(12)
#define TIMER2_IRQ			VIC0_INT_VEC(13)
#define TIMER3_IRQ			VIC0_INT_VEC(14)
#define WDT_IRQ				VIC0_INT_VEC(21)
#define VOUT_TV_SYNC_IRQ		VIC1_INT_VEC(10)
#define VOUT_LCD_SYNC_IRQ		VIC1_INT_VEC(11)
#define ORC_VOUT0_IRQ			VIC1_INT_VEC(12)
#define TIMER4_IRQ			VIC1_INT_VEC(27)
#define TIMER5_IRQ			VIC1_INT_VEC(28)
#define TIMER6_IRQ			VIC1_INT_VEC(29)
#define TIMER7_IRQ			VIC1_INT_VEC(30)
#define TIMER8_IRQ			VIC1_INT_VEC(31)
#define CODING_ORC0_IRQ			VIC2_INT_VEC(28)
#define CODING_ORC1_IRQ			VIC2_INT_VEC(29)
#define CODING_ORC2_IRQ			VIC2_INT_VEC(30)
#define CODING_ORC3_IRQ			VIC2_INT_VEC(31)
#endif

#define GLOBAL_TIMER_IRQ		PPI_INT_VEC(27)
#define LEGACY_FIQ			PPI_INT_VEC(28)
#define LOCAL_TIMER_IRQ			PPI_INT_VEC(29)
#define LOCAL_WDOG_IRQ			PPI_INT_VEC(30)
#define LEGACY_IRQ			PPI_INT_VEC(31)

#define DDD_IRQ				SPI_INT_VEC(153)
#define DECODE_ERROR_IRQ		SPI_INT_VEC(154)
#define SLAVE_ERROR_IRQ			SPI_INT_VEC(155)
#define FMEM_READ_ERROR_IRQ		SPI_INT_VEC(156)
#define FMEM_WRITE_ERROR_IRQ		SPI_INT_VEC(157)
#define L2CC_ECNTR_IRQ			SPI_INT_VEC(158)
#define L2CC_COMBINED_IRQ		SPI_INT_VEC(159)

/* ==========================================================================*/
#elif (CHIP_REV == S2L)
#define USBVBUS_IRQ			VIC0_INT_VEC(0)
#define VOUT_IRQ			VIC0_INT_VEC(1)
#define VIN_IRQ				VIC0_INT_VEC(2)
#define CODE_VDSP_0_IRQ			VIC0_INT_VEC(3)
#define USBC_IRQ			VIC0_INT_VEC(4)
#define USB_CHARGE_IRQ			VIC0_INT_VEC(5)
#define SD2CD_IRQ			VIC0_INT_VEC(6)
#define I2STX_IRQ			VIC0_INT_VEC(7)
#define I2SRX_IRQ			VIC0_INT_VEC(8)
#define UART0_IRQ			VIC0_INT_VEC(9)
#define GPIO0_IRQ			VIC0_INT_VEC(10)
#define GPIO1_IRQ			VIC0_INT_VEC(11)
#define TIMER1_IRQ			VIC0_INT_VEC(12)
#define TIMER2_IRQ			VIC0_INT_VEC(13)
#define TIMER3_IRQ			VIC0_INT_VEC(14)
#define DMA_IRQ				VIC0_INT_VEC(15)
#define FIOCMD_IRQ			VIC0_INT_VEC(16)
#define FIODMA_IRQ			VIC0_INT_VEC(17)
#define SD_IRQ				VIC0_INT_VEC(18)
#define IDC_IRQ				VIC0_INT_VEC(19)
#define SD3_IRQ				VIC0_INT_VEC(20)
#define WDT_IRQ				VIC0_INT_VEC(21)
#define IRIF_IRQ			VIC0_INT_VEC(22)
#define SD1CD_IRQ			VIC0_INT_VEC(23)
#define SD0CD_IRQ			VIC0_INT_VEC(24)
#define UART1_IRQ			VIC0_INT_VEC(25)
#define MOTOR_IRQ			VIC0_INT_VEC(26)
#define ETH_IRQ				VIC0_INT_VEC(27)
#define USB_CONNECT_CHANGE_IRQ		VIC0_INT_VEC(28)
#define GPIO3_IRQ			VIC0_INT_VEC(29)
#define GPIO2_IRQ			VIC0_INT_VEC(30)

#define ETH_PMT_IRQ			VIC1_INT_VEC(0)
#define DMA_FIOS_IRQ			VIC1_INT_VEC(1)
#define ADC_LEVEL_IRQ			VIC1_INT_VEC(2)
#define SSI_MASTER0_IRQ			VIC1_INT_VEC(3)
#define IDC3_IRQ			VIC1_INT_VEC(4)
#define SSI_MASTER1_IRQ			VIC1_INT_VEC(5)
#define SSI_SLAVE_IRQ			VIC1_INT_VEC(6)
#define USB_EHCI_IRQ			VIC1_INT_VEC(7)
#define HDMI_IRQ			VIC1_INT_VEC(8)
#define FIOS_ECC_IRQ			VIC1_INT_VEC(9)
#define VOUT_TV_SYNC_IRQ		VIC1_INT_VEC(10)
#define VOUT_LCD_SYNC_IRQ		VIC1_INT_VEC(11)
#define USB_OHCI_IRQ			VIC1_INT_VEC(12)
#define NOR_SPI				VIC1_INT_VEC(13)
#define ORC_VOUT0_IRQ			VIC1_INT_VEC(14)
#define GDMA_IRQ			VIC1_INT_VEC(18)
#define IDC2_IRQ			VIC1_INT_VEC(19)
#define SD2_IRQ				VIC1_INT_VEC(20)
#define IDSP_PIP_VSYNC_IRQ		VIC1_INT_VEC(21)
#define IDSP_PIP_SOF_IRQ		VIC1_INT_VEC(22)
#define IDSP_PIP_MVSYNC_IRQ		VIC1_INT_VEC(23)
#define IDSP_PIP_LAST_PIXEL_IRQ		VIC1_INT_VEC(24)
#define IDSP_PIP_DVSYNC_IRQ		VIC1_INT_VEC(25)
#define VDSP_PIP_CODING_IRQ		VIC1_INT_VEC(26)
#define TIMER4_IRQ			VIC1_INT_VEC(27)
#define TIMER5_IRQ			VIC1_INT_VEC(28)
#define TIMER6_IRQ			VIC1_INT_VEC(29)
#define TIMER7_IRQ			VIC1_INT_VEC(30)
#define TIMER8_IRQ			VIC1_INT_VEC(31)

#define IDSP_VIN_MVSYNC_IRQ		VIC2_INT_VEC(0)
#define IDSP_VIN_VSYNC_IRQ		VIC2_INT_VEC(1)
#define IDSP_VIN_SOF_IRQ		VIC2_INT_VEC(2)
#define IDSP_VIN_DVSYNC_IRQ		VIC2_INT_VEC(3)
#define IDSP_VIN_LAST_PIXEL_IRQ		VIC2_INT_VEC(4)
#define L2CC_INTR_IRQ			VIC2_INT_VEC(21)
#define MD5_IRQ				VIC2_INT_VEC(22)
#define DES_IRQ				VIC2_INT_VEC(23)
#define AES_IRQ				VIC2_INT_VEC(24)
#define SHA1_IRQ			VIC2_INT_VEC(25)
#define USB_DIGITAL_ID_CHANGE_IRQ	VIC2_INT_VEC(27)
#define PMU_IRQ				VIC2_INT_VEC(28)
#define L2CC_DECERR_IRQ			VIC2_INT_VEC(29)
#define L2CC_SLVERR_IRQ			VIC2_INT_VEC(30)
#define L2CC_ECNTR_IRQ			VIC2_INT_VEC(31)

/* ==========================================================================*/
#elif (CHIP_REV == S3)
#define IPI00_IRQ			VIC0_INT_VEC(0)
#define IPI01_IRQ			VIC0_INT_VEC(1)
#define IPI02_IRQ			VIC0_INT_VEC(2)
#define IPI03_IRQ			VIC0_INT_VEC(3)
#define IPI04_IRQ			VIC0_INT_VEC(4)
#define IPI05_IRQ			VIC0_INT_VEC(5)
#define IPI06_IRQ			VIC0_INT_VEC(6)
#define TIMER1_IRQ			VIC0_INT_VEC(7)
#define TIMER2_IRQ			VIC0_INT_VEC(8)
#define TIMER3_IRQ			VIC0_INT_VEC(9)
#define TIMER4_IRQ			VIC0_INT_VEC(10)
#define TIMER5_IRQ			VIC0_INT_VEC(11)
#define TIMER6_IRQ			VIC0_INT_VEC(12)
#define TIMER7_IRQ			VIC0_INT_VEC(13)
#define TIMER8_IRQ			VIC0_INT_VEC(14)
#define PMU_IRQ				VIC0_INT_VEC(15)
#define IPI10_IRQ			VIC0_INT_VEC(16)
#define IPI11_IRQ			VIC0_INT_VEC(17)
#define IPI12_IRQ			VIC0_INT_VEC(18)
#define IPI13_IRQ			VIC0_INT_VEC(19)
#define IPI14_IRQ			VIC0_INT_VEC(20)
#define IPI15_IRQ			VIC0_INT_VEC(21)
#define IPI16_IRQ			VIC0_INT_VEC(22)
#define TIMER11_IRQ			VIC0_INT_VEC(23)
#define TIMER12_IRQ			VIC0_INT_VEC(24)
#define TIMER13_IRQ			VIC0_INT_VEC(25)
#define TIMER14_IRQ			VIC0_INT_VEC(26)
#define TIMER15_IRQ			VIC0_INT_VEC(27)
#define TIMER16_IRQ			VIC0_INT_VEC(28)
#define TIMER17_IRQ			VIC0_INT_VEC(29)
#define TIMER18_IRQ			VIC0_INT_VEC(30)
#define PMU1_IRQ			VIC0_INT_VEC(31)

#define IDSP_VIN_STAT_IRQ		VIC1_INT_VEC(0)
#define IDSP_VIN_MVSYNC_IRQ		VIC1_INT_VEC(1)
#define IDSP_VIN_VSYNC_IRQ		VIC1_INT_VEC(2)
#define IDSP_VIN_SOF_IRQ		VIC1_INT_VEC(3)
#define IDSP_VIN_DVSYNC_IRQ		VIC1_INT_VEC(4)
#define IDSP_VIN_LAST_PIXEL_IRQ		VIC1_INT_VEC(5)
#define IDSP_PIP_STAT_IRQ		VIC1_INT_VEC(6)
#define IDSP_PIP_MVSYNC_IRQ		VIC1_INT_VEC(7)
#define IDSP_PIP_VSYNC_IRQ		VIC1_INT_VEC(8)
#define IDSP_PIP_SOF_IRQ		VIC1_INT_VEC(9)
#define IDSP_PIP_DVSYNC_IRQ		VIC1_INT_VEC(10)
#define IDSP_PIP_LAST_PIXEL_IRQ		VIC1_INT_VEC(11)
#define VOUT_TV_SYNC_IRQ		VIC1_INT_VEC(12)
#define VOUT_LCD_SYNC_IRQ		VIC1_INT_VEC(13)
#define CODE_VDSP_0_IRQ			VIC1_INT_VEC(14)
#define CODE_VDSP_1_IRQ			VIC1_INT_VEC(15)
#define CODE_VDSP_2_IRQ			VIC1_INT_VEC(16)
#define CODE_VDSP_3_IRQ			VIC1_INT_VEC(17)
#define CODE_VDSP_4_IRQ			VIC1_INT_VEC(18)
#define CODE_VDSP_5_IRQ			VIC1_INT_VEC(19)
#define CODE_VDSP_6_IRQ			VIC1_INT_VEC(20)
#define CODE_VDSP_7_IRQ			VIC1_INT_VEC(21)
#define VIN_IRQ				VIC1_INT_VEC(22)
#define ORC_VOUT0_IRQ			VIC1_INT_VEC(23)
#define VOUT_IRQ			VIC1_INT_VEC(24)
#define VDSP_ORC_BKPT_IRQ		VIC1_INT_VEC(25)
#define VDSP_EORC0_BKPT_IRQ		VIC1_INT_VEC(26)
#define VDSP_DORC_BRPT_IRQ		VIC1_INT_VEC(27)
#define VDSP_PIP_CODING_IRQ		VIC1_INT_VEC(28)
#define FDET_IRQ			VIC1_INT_VEC(29)
#define TIMER10_IRQ			VIC1_INT_VEC(30)
#define TIMER9_IRQ			VIC1_INT_VEC(31)

#define CANC_IRQ			VIC2_INT_VEC(0)
#define ETH_IRQ				VIC2_INT_VEC(1)
#define USB_EHCI_IRQ			VIC2_INT_VEC(2)
#define USB_OHCI_IRQ			VIC2_INT_VEC(3)
#define USBC_IRQ			VIC2_INT_VEC(4)
#define DMA_IRQ				VIC2_INT_VEC(5)
#define DMA_FIOS_IRQ			VIC2_INT_VEC(6)
#define FIOS_ECC_IRQ			VIC2_INT_VEC(7)
#define FIOCMD_IRQ			VIC2_INT_VEC(8)
#define FIODMA_IRQ			VIC2_INT_VEC(9)
#define GDMA_IRQ			VIC2_INT_VEC(10)
#define SD3_IRQ				VIC2_INT_VEC(11)
#define SD2_IRQ				VIC2_INT_VEC(12)
#define SD_IRQ				VIC2_INT_VEC(13)
#define NOR_SPI				VIC2_INT_VEC(14)
#define SSI_MASTER1_IRQ			VIC2_INT_VEC(15)
#define SSI_MASTER0_IRQ			VIC2_INT_VEC(16)
#define SSI_SLAVE_IRQ			VIC2_INT_VEC(17)
#define UART1_IRQ			VIC2_INT_VEC(18)
#define IDC3_IRQ			VIC2_INT_VEC(19)
#define IDC2_IRQ			VIC2_INT_VEC(20)
#define IDC_IRQ				VIC2_INT_VEC(21)
#define IRIF_IRQ			VIC2_INT_VEC(22)
#define I2STX_IRQ			VIC2_INT_VEC(23)
#define I2SRX_IRQ			VIC2_INT_VEC(24)
#define IDC_SLAVE_IRQ			VIC2_INT_VEC(25)
#define HIF_ARM2_IRQ			VIC2_INT_VEC(26)
#define HIF_ARM1_IRQ			VIC2_INT_VEC(27)
#define TS_CH1_RX_IRQ			VIC2_INT_VEC(28)
#define TS_CH0_RX_IRQ			VIC2_INT_VEC(29)
#define TS_CH1_TX_IRQ			VIC2_INT_VEC(30)
#define TS_CH0_TX_IRQ			VIC2_INT_VEC(31)

#define USBVBUS_IRQ			VIC3_INT_VEC(0)
#define USB_DIGITAL_ID_CHANGE_IRQ	VIC3_INT_VEC(1)
#define USB_CONNECT_CHANGE_IRQ		VIC3_INT_VEC(2)
#define USB_CHARGE_IRQ			VIC3_INT_VEC(3)
#define SD2CD_IRQ			VIC3_INT_VEC(4)
#define SD1CD_IRQ			VIC3_INT_VEC(5)
#define SD0CD_IRQ			VIC3_INT_VEC(6)
#define ADC_LEVEL_IRQ			VIC3_INT_VEC(7)
#define HDMI_IRQ			VIC3_INT_VEC(8)
#define WDT_IRQ				VIC3_INT_VEC(9)
#define SLIM_IRQ			VIC3_INT_VEC(10)
#define ETH_PMT_IRQ			VIC3_INT_VEC(11)
#define UART0_IRQ			VIC3_INT_VEC(12)
#define MOTOR_IRQ			VIC3_INT_VEC(13)
#define SHA1_IRQ			VIC3_INT_VEC(14)
#define AES_IRQ				VIC3_INT_VEC(15)
#define DES_IRQ				VIC3_INT_VEC(16)
#define MD5_IRQ				VIC3_INT_VEC(17)
#define L2CC_INTR_IRQ			VIC3_INT_VEC(18)
#define L2CC_INTR1_IRQ			VIC3_INT_VEC(19)
#define AXI_SWI_IRQ			VIC3_INT_VEC(20)
#define AXI_SWI1_IRQ			VIC3_INT_VEC(21)
#define GPIO6_IRQ			VIC3_INT_VEC(22)
#define GPIO5_IRQ			VIC3_INT_VEC(23)
#define GPIO4_IRQ			VIC3_INT_VEC(24)
#define GPIO3_IRQ			VIC3_INT_VEC(25)
#define GPIO2_IRQ			VIC3_INT_VEC(26)
#define GPIO1_IRQ			VIC3_INT_VEC(27)
#define GPIO0_IRQ			VIC3_INT_VEC(28)
#define DMIC_IRQ			VIC3_INT_VEC(29)
#define TIMER20_IRQ			VIC3_INT_VEC(30)
#define TIMER19_IRQ			VIC3_INT_VEC(31)

/* ==========================================================================*/
#elif (CHIP_REV == S3L)
#define TIMER1_IRQ			VIC0_INT_VEC(0)
#define TIMER2_IRQ			VIC0_INT_VEC(1)
#define TIMER3_IRQ			VIC0_INT_VEC(2)
#define TIMER4_IRQ			VIC0_INT_VEC(3)
#define TIMER5_IRQ			VIC0_INT_VEC(4)
#define TIMER6_IRQ			VIC0_INT_VEC(5)
#define TIMER7_IRQ			VIC0_INT_VEC(6)
#define AXI_SOFT_IRQ(x)			VIC0_INT_VEC((x) + 7)	/* 0 <= x <= 13 */
#define AXI_SW_IRQ0			VIC0_INT_VEC(21)
#define AXI_SW_IRQ1			VIC0_INT_VEC(22)
#define PMU_IRQ				VIC0_INT_VEC(23)
#define L2CC_INTR_IRQ			VIC0_INT_VEC(24)
#define L2CC_DECERR_IRQ			VIC0_INT_VEC(25)
#define L2CC_SLVERR_IRQ			VIC0_INT_VEC(26)
#define L2CC_ECNTR_IRQ			VIC0_INT_VEC(27)
#define MD5_IRQ				VIC0_INT_VEC(28)
#define DES_IRQ				VIC0_INT_VEC(29)
#define AES_IRQ				VIC0_INT_VEC(30)
#define SHA1_IRQ			VIC0_INT_VEC(31)

#define IDSP_VIN_MVSYNC_IRQ		VIC1_INT_VEC(0)
#define IDSP_VIN_VSYNC_IRQ		VIC1_INT_VEC(1)
#define IDSP_VIN_SOF_IRQ		VIC1_INT_VEC(2)
#define IDSP_VIN_DVSYNC_IRQ		VIC1_INT_VEC(3)
#define IDSP_VIN_LAST_PIXEL_IRQ		VIC1_INT_VEC(4)
#define GDMA_IRQ			VIC1_INT_VEC(5)
#define IDSP_PIP_MVSYNC_IRQ		VIC1_INT_VEC(6)
#define IDSP_PIP_VSYNC_IRQ		VIC1_INT_VEC(7)
#define IDSP_PIP_SOF_IRQ		VIC1_INT_VEC(8)
#define IDSP_PIP_DVSYNC_IRQ		VIC1_INT_VEC(9)
#define IDSP_PIP_LAST_PIXEL_IRQ		VIC1_INT_VEC(10)
#define VOUT_TV_SYNC_IRQ		VIC1_INT_VEC(11)
#define VOUT_LCD_SYNC_IRQ		VIC1_INT_VEC(12)
#define CODE_VDSP_0_IRQ			VIC1_INT_VEC(13)
#define CODE_VDSP_1_IRQ			VIC1_INT_VEC(14)
#define CODE_VDSP_2_IRQ			VIC1_INT_VEC(15)
#define CODE_VDSP_3_IRQ			VIC1_INT_VEC(16)
#define GPIO3_IRQ			VIC1_INT_VEC(17)
#define GPIO2_IRQ			VIC1_INT_VEC(18)
#define GPIO1_IRQ			VIC1_INT_VEC(19)
#define GPIO0_IRQ			VIC1_INT_VEC(20)
#define VIN_IRQ				VIC1_INT_VEC(21)
#define ORC_VOUT0_IRQ			VIC1_INT_VEC(22)
#define VOUT_IRQ			VIC1_INT_VEC(23)
#define VDSP_PIP_CODING_IRQ		VIC1_INT_VEC(24)
#define ADC_LEVEL_IRQ			VIC1_INT_VEC(25)
#define HDMI_IRQ			VIC1_INT_VEC(26)
#define WDT_IRQ				VIC1_INT_VEC(27)
#define ETH_PMT_IRQ			VIC1_INT_VEC(28)
#define UART0_IRQ			VIC1_INT_VEC(29)
#define MOTOR_IRQ			VIC1_INT_VEC(30)
#define TIMER8_IRQ			VIC1_INT_VEC(31)

#define PWC_ALRAM			VIC2_INT_VEC(0)
#define ETH_IRQ				VIC2_INT_VEC(1)
#define USB_EHCI_IRQ			VIC2_INT_VEC(2)
#define USB_OHCI_IRQ			VIC2_INT_VEC(3)
#define USBC_IRQ			VIC2_INT_VEC(4)
#define DMA_IRQ				VIC2_INT_VEC(5)
#define DMA_FIOS_IRQ			VIC2_INT_VEC(6)
#define FIOS_ECC_IRQ			VIC2_INT_VEC(7)
#define FIOCMD_IRQ			VIC2_INT_VEC(8)
#define FIODMA_IRQ			VIC2_INT_VEC(9)
#define SD2_IRQ				VIC2_INT_VEC(10) /* SDXC rather than SDIO */
#define SD_IRQ				VIC2_INT_VEC(11)
#define NOR_SPI				VIC2_INT_VEC(12)
#define SSI_MASTER1_IRQ			VIC2_INT_VEC(13)
#define SSI_MASTER0_IRQ			VIC2_INT_VEC(14)
#define SSI_SLAVE_IRQ			VIC2_INT_VEC(15)
#define UART1_IRQ			VIC2_INT_VEC(16)
#define IDC3_IRQ			VIC2_INT_VEC(17)
#define IDC2_IRQ			VIC2_INT_VEC(18)
#define IDC_IRQ				VIC2_INT_VEC(19)
#define IRIF_IRQ			VIC2_INT_VEC(20)
#define I2STX_IRQ			VIC2_INT_VEC(21)
#define I2SRX_IRQ			VIC2_INT_VEC(22)
#define USBVBUS_IRQ			VIC2_INT_VEC(23)
#define USB_DIGITAL_ID_CHANGE_IRQ	VIC2_INT_VEC(24)
#define USB_CONNECT_CHANGE_IRQ		VIC2_INT_VEC(25)
#define USB_CHARGE_IRQ			VIC2_INT_VEC(26)
#define SD2CD_IRQ			VIC2_INT_VEC(27) /* SDXC rather than SDIO */
#define SD0CD_IRQ			VIC2_INT_VEC(28)

/* ==========================================================================*/
#else
#error "Not supported!"
#endif

/* ==========================================================================*/
#define VIRQ_RISING_EDGE	0
#define VIRQ_FALLING_EDGE	1
#define VIRQ_BOTH_EDGES		2
#define VIRQ_LEVEL_LOW		3
#define VIRQ_LEVEL_HIGH		4

#ifndef __ASSEMBLER__

extern void ambvic_sw_set(void __iomem *vic_base, unsigned int vic_irq);
extern void ambvic_sw_clr(void __iomem *vic_base, unsigned int vic_irq);

#endif /* __ASSEMBLER__ */
/* ==========================================================================*/

#endif

