cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

irqs.h (12694B)


      1/*
      2 * DaVinci interrupt controller definitions
      3 *
      4 *  Copyright (C) 2006 Texas Instruments.
      5 *
      6 *  This program is free software; you can redistribute  it and/or modify it
      7 *  under  the terms of  the GNU General  Public License as published by the
      8 *  Free Software Foundation;  either version 2 of the  License, or (at your
      9 *  option) any later version.
     10 *
     11 *  THIS  SOFTWARE  IS PROVIDED   ``AS  IS'' AND   ANY  EXPRESS OR IMPLIED
     12 *  WARRANTIES,   INCLUDING, BUT NOT  LIMITED  TO, THE IMPLIED WARRANTIES OF
     13 *  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN
     14 *  NO  EVENT  SHALL   THE AUTHOR  BE    LIABLE FOR ANY   DIRECT, INDIRECT,
     15 *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
     16 *  NOT LIMITED   TO, PROCUREMENT OF  SUBSTITUTE GOODS  OR SERVICES; LOSS OF
     17 *  USE, DATA,  OR PROFITS; OR  BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
     18 *  ANY THEORY OF LIABILITY, WHETHER IN  CONTRACT, STRICT LIABILITY, OR TORT
     19 *  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
     20 *  THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     21 *
     22 *  You should have received a copy of the  GNU General Public License along
     23 *  with this program; if not, write  to the Free Software Foundation, Inc.,
     24 *  675 Mass Ave, Cambridge, MA 02139, USA.
     25 *
     26 */
     27#ifndef __ASM_ARCH_IRQS_H
     28#define __ASM_ARCH_IRQS_H
     29
     30/* Base address */
     31#define DAVINCI_ARM_INTC_BASE 0x01C48000
     32
     33/* Interrupt lines */
     34#define IRQ_VDINT0       0
     35#define IRQ_VDINT1       1
     36#define IRQ_VDINT2       2
     37#define IRQ_HISTINT      3
     38#define IRQ_H3AINT       4
     39#define IRQ_PRVUINT      5
     40#define IRQ_RSZINT       6
     41#define IRQ_VFOCINT      7
     42#define IRQ_VENCINT      8
     43#define IRQ_ASQINT       9
     44#define IRQ_IMXINT       10
     45#define IRQ_VLCDINT      11
     46#define IRQ_USBINT       12
     47#define IRQ_EMACINT      13
     48
     49#define IRQ_CCINT0       16
     50#define IRQ_CCERRINT     17
     51#define IRQ_TCERRINT0    18
     52#define IRQ_TCERRINT     19
     53#define IRQ_PSCIN        20
     54
     55#define IRQ_IDE          22
     56#define IRQ_HPIINT       23
     57#define IRQ_MBXINT       24
     58#define IRQ_MBRINT       25
     59#define IRQ_MMCINT       26
     60#define IRQ_SDIOINT      27
     61#define IRQ_MSINT        28
     62#define IRQ_DDRINT       29
     63#define IRQ_AEMIFINT     30
     64#define IRQ_VLQINT       31
     65#define IRQ_TINT0_TINT12 32
     66#define IRQ_TINT0_TINT34 33
     67#define IRQ_TINT1_TINT12 34
     68#define IRQ_TINT1_TINT34 35
     69#define IRQ_PWMINT0      36
     70#define IRQ_PWMINT1      37
     71#define IRQ_PWMINT2      38
     72#define IRQ_I2C          39
     73#define IRQ_UARTINT0     40
     74#define IRQ_UARTINT1     41
     75#define IRQ_UARTINT2     42
     76#define IRQ_SPINT0       43
     77#define IRQ_SPINT1       44
     78
     79#define IRQ_DSP2ARM0     46
     80#define IRQ_DSP2ARM1     47
     81#define IRQ_GPIO0        48
     82#define IRQ_GPIO1        49
     83#define IRQ_GPIO2        50
     84#define IRQ_GPIO3        51
     85#define IRQ_GPIO4        52
     86#define IRQ_GPIO5        53
     87#define IRQ_GPIO6        54
     88#define IRQ_GPIO7        55
     89#define IRQ_GPIOBNK0     56
     90#define IRQ_GPIOBNK1     57
     91#define IRQ_GPIOBNK2     58
     92#define IRQ_GPIOBNK3     59
     93#define IRQ_GPIOBNK4     60
     94#define IRQ_COMMTX       61
     95#define IRQ_COMMRX       62
     96#define IRQ_EMUINT       63
     97
     98#define DAVINCI_N_AINTC_IRQ	64
     99
    100#define ARCH_TIMER_IRQ IRQ_TINT1_TINT34
    101
    102/* DaVinci DM6467-specific Interrupts */
    103#define IRQ_DM646X_VP_VERTINT0  0
    104#define IRQ_DM646X_VP_VERTINT1  1
    105#define IRQ_DM646X_VP_VERTINT2  2
    106#define IRQ_DM646X_VP_VERTINT3  3
    107#define IRQ_DM646X_VP_ERRINT    4
    108#define IRQ_DM646X_RESERVED_1   5
    109#define IRQ_DM646X_RESERVED_2   6
    110#define IRQ_DM646X_WDINT        7
    111#define IRQ_DM646X_CRGENINT0    8
    112#define IRQ_DM646X_CRGENINT1    9
    113#define IRQ_DM646X_TSIFINT0     10
    114#define IRQ_DM646X_TSIFINT1     11
    115#define IRQ_DM646X_VDCEINT      12
    116#define IRQ_DM646X_USBINT       13
    117#define IRQ_DM646X_USBDMAINT    14
    118#define IRQ_DM646X_PCIINT       15
    119#define IRQ_DM646X_TCERRINT2    20
    120#define IRQ_DM646X_TCERRINT3    21
    121#define IRQ_DM646X_IDE          22
    122#define IRQ_DM646X_HPIINT       23
    123#define IRQ_DM646X_EMACRXTHINT  24
    124#define IRQ_DM646X_EMACRXINT    25
    125#define IRQ_DM646X_EMACTXINT    26
    126#define IRQ_DM646X_EMACMISCINT  27
    127#define IRQ_DM646X_MCASP0TXINT  28
    128#define IRQ_DM646X_MCASP0RXINT  29
    129#define IRQ_DM646X_MCASP1TXINT  30
    130#define IRQ_DM646X_RESERVED_3   31
    131#define IRQ_DM646X_VLQINT       38
    132#define IRQ_DM646X_UARTINT2     42
    133#define IRQ_DM646X_SPINT0       43
    134#define IRQ_DM646X_SPINT1       44
    135#define IRQ_DM646X_DSP2ARMINT   45
    136#define IRQ_DM646X_RESERVED_4   46
    137#define IRQ_DM646X_PSCINT       47
    138#define IRQ_DM646X_GPIO0        48
    139#define IRQ_DM646X_GPIO1        49
    140#define IRQ_DM646X_GPIO2        50
    141#define IRQ_DM646X_GPIO3        51
    142#define IRQ_DM646X_GPIO4        52
    143#define IRQ_DM646X_GPIO5        53
    144#define IRQ_DM646X_GPIO6        54
    145#define IRQ_DM646X_GPIO7        55
    146#define IRQ_DM646X_GPIOBNK0     56
    147#define IRQ_DM646X_GPIOBNK1     57
    148#define IRQ_DM646X_GPIOBNK2     58
    149#define IRQ_DM646X_DDRINT       59
    150#define IRQ_DM646X_AEMIFINT     60
    151
    152/* DaVinci DM355-specific Interrupts */
    153#define IRQ_DM355_CCDC_VDINT0	0
    154#define IRQ_DM355_CCDC_VDINT1	1
    155#define IRQ_DM355_CCDC_VDINT2	2
    156#define IRQ_DM355_IPIPE_HST	3
    157#define IRQ_DM355_H3AINT	4
    158#define IRQ_DM355_IPIPE_SDR	5
    159#define IRQ_DM355_IPIPEIFINT	6
    160#define IRQ_DM355_OSDINT	7
    161#define IRQ_DM355_VENCINT	8
    162#define IRQ_DM355_IMCOPINT	11
    163#define IRQ_DM355_RTOINT	13
    164#define IRQ_DM355_TINT4		13
    165#define IRQ_DM355_TINT2_TINT12	13
    166#define IRQ_DM355_UARTINT2	14
    167#define IRQ_DM355_TINT5		14
    168#define IRQ_DM355_TINT2_TINT34	14
    169#define IRQ_DM355_TINT6		15
    170#define IRQ_DM355_TINT3_TINT12	15
    171#define IRQ_DM355_SPINT1_0	17
    172#define IRQ_DM355_SPINT1_1	18
    173#define IRQ_DM355_SPINT2_0	19
    174#define IRQ_DM355_SPINT2_1	21
    175#define IRQ_DM355_TINT7		22
    176#define IRQ_DM355_TINT3_TINT34	22
    177#define IRQ_DM355_SDIOINT0	23
    178#define IRQ_DM355_MMCINT0	26
    179#define IRQ_DM355_MSINT		26
    180#define IRQ_DM355_MMCINT1	27
    181#define IRQ_DM355_PWMINT3	28
    182#define IRQ_DM355_SDIOINT1	31
    183#define IRQ_DM355_SPINT0_0	42
    184#define IRQ_DM355_SPINT0_1	43
    185#define IRQ_DM355_GPIO0		44
    186#define IRQ_DM355_GPIO1		45
    187#define IRQ_DM355_GPIO2		46
    188#define IRQ_DM355_GPIO3		47
    189#define IRQ_DM355_GPIO4		48
    190#define IRQ_DM355_GPIO5		49
    191#define IRQ_DM355_GPIO6		50
    192#define IRQ_DM355_GPIO7		51
    193#define IRQ_DM355_GPIO8		52
    194#define IRQ_DM355_GPIO9		53
    195#define IRQ_DM355_GPIOBNK0	54
    196#define IRQ_DM355_GPIOBNK1	55
    197#define IRQ_DM355_GPIOBNK2	56
    198#define IRQ_DM355_GPIOBNK3	57
    199#define IRQ_DM355_GPIOBNK4	58
    200#define IRQ_DM355_GPIOBNK5	59
    201#define IRQ_DM355_GPIOBNK6	60
    202
    203/* DaVinci DM365-specific Interrupts */
    204#define IRQ_DM365_INSFINT	7
    205#define IRQ_DM365_IMXINT1	8
    206#define IRQ_DM365_IMXINT0	10
    207#define IRQ_DM365_KLD_ARMINT	10
    208#define IRQ_DM365_IMCOPINT	11
    209#define IRQ_DM365_RTOINT	13
    210#define IRQ_DM365_TINT5		14
    211#define IRQ_DM365_TINT6		15
    212#define IRQ_DM365_SPINT2_1	21
    213#define IRQ_DM365_TINT7		22
    214#define IRQ_DM365_SDIOINT0	23
    215#define IRQ_DM365_MMCINT1	27
    216#define IRQ_DM365_PWMINT3	28
    217#define IRQ_DM365_RTCINT	29
    218#define IRQ_DM365_SDIOINT1	31
    219#define IRQ_DM365_SPIINT0_0	42
    220#define IRQ_DM365_SPIINT3_0	43
    221#define IRQ_DM365_GPIO0		44
    222#define IRQ_DM365_GPIO1		45
    223#define IRQ_DM365_GPIO2		46
    224#define IRQ_DM365_GPIO3		47
    225#define IRQ_DM365_GPIO4		48
    226#define IRQ_DM365_GPIO5		49
    227#define IRQ_DM365_GPIO6		50
    228#define IRQ_DM365_GPIO7		51
    229#define IRQ_DM365_EMAC_RXTHRESH	52
    230#define IRQ_DM365_EMAC_RXPULSE	53
    231#define IRQ_DM365_EMAC_TXPULSE	54
    232#define IRQ_DM365_EMAC_MISCPULSE 55
    233#define IRQ_DM365_GPIO12	56
    234#define IRQ_DM365_GPIO13	57
    235#define IRQ_DM365_GPIO14	58
    236#define IRQ_DM365_GPIO15	59
    237#define IRQ_DM365_ADCINT	59
    238#define IRQ_DM365_KEYINT	60
    239#define IRQ_DM365_TCERRINT2	61
    240#define IRQ_DM365_TCERRINT3	62
    241#define IRQ_DM365_EMUINT	63
    242
    243/* DA8XX interrupts */
    244#define IRQ_DA8XX_COMMTX		0
    245#define IRQ_DA8XX_COMMRX		1
    246#define IRQ_DA8XX_NINT			2
    247#define IRQ_DA8XX_EVTOUT0		3
    248#define IRQ_DA8XX_EVTOUT1		4
    249#define IRQ_DA8XX_EVTOUT2		5
    250#define IRQ_DA8XX_EVTOUT3		6
    251#define IRQ_DA8XX_EVTOUT4		7
    252#define IRQ_DA8XX_EVTOUT5		8
    253#define IRQ_DA8XX_EVTOUT6		9
    254#define IRQ_DA8XX_EVTOUT7		10
    255#define IRQ_DA8XX_CCINT0		11
    256#define IRQ_DA8XX_CCERRINT		12
    257#define IRQ_DA8XX_TCERRINT0		13
    258#define IRQ_DA8XX_AEMIFINT		14
    259#define IRQ_DA8XX_I2CINT0		15
    260#define IRQ_DA8XX_MMCSDINT0		16
    261#define IRQ_DA8XX_MMCSDINT1		17
    262#define IRQ_DA8XX_ALLINT0		18
    263#define IRQ_DA8XX_RTC			19
    264#define IRQ_DA8XX_SPINT0		20
    265#define IRQ_DA8XX_TINT12_0		21
    266#define IRQ_DA8XX_TINT34_0		22
    267#define IRQ_DA8XX_TINT12_1		23
    268#define IRQ_DA8XX_TINT34_1		24
    269#define IRQ_DA8XX_UARTINT0		25
    270#define IRQ_DA8XX_KEYMGRINT		26
    271#define IRQ_DA8XX_SECINT		26
    272#define IRQ_DA8XX_SECKEYERR		26
    273#define IRQ_DA8XX_CHIPINT0		28
    274#define IRQ_DA8XX_CHIPINT1		29
    275#define IRQ_DA8XX_CHIPINT2		30
    276#define IRQ_DA8XX_CHIPINT3		31
    277#define IRQ_DA8XX_TCERRINT1		32
    278#define IRQ_DA8XX_C0_RX_THRESH_PULSE	33
    279#define IRQ_DA8XX_C0_RX_PULSE		34
    280#define IRQ_DA8XX_C0_TX_PULSE		35
    281#define IRQ_DA8XX_C0_MISC_PULSE		36
    282#define IRQ_DA8XX_C1_RX_THRESH_PULSE	37
    283#define IRQ_DA8XX_C1_RX_PULSE		38
    284#define IRQ_DA8XX_C1_TX_PULSE		39
    285#define IRQ_DA8XX_C1_MISC_PULSE		40
    286#define IRQ_DA8XX_MEMERR		41
    287#define IRQ_DA8XX_GPIO0			42
    288#define IRQ_DA8XX_GPIO1			43
    289#define IRQ_DA8XX_GPIO2			44
    290#define IRQ_DA8XX_GPIO3			45
    291#define IRQ_DA8XX_GPIO4			46
    292#define IRQ_DA8XX_GPIO5			47
    293#define IRQ_DA8XX_GPIO6			48
    294#define IRQ_DA8XX_GPIO7			49
    295#define IRQ_DA8XX_GPIO8			50
    296#define IRQ_DA8XX_I2CINT1		51
    297#define IRQ_DA8XX_LCDINT		52
    298#define IRQ_DA8XX_UARTINT1		53
    299#define IRQ_DA8XX_MCASPINT		54
    300#define IRQ_DA8XX_ALLINT1		55
    301#define IRQ_DA8XX_SPINT1		56
    302#define IRQ_DA8XX_UHPI_INT1		57
    303#define IRQ_DA8XX_USB_INT		58
    304#define IRQ_DA8XX_IRQN			59
    305#define IRQ_DA8XX_RWAKEUP		60
    306#define IRQ_DA8XX_UARTINT2		61
    307#define IRQ_DA8XX_DFTSSINT		62
    308#define IRQ_DA8XX_EHRPWM0		63
    309#define IRQ_DA8XX_EHRPWM0TZ		64
    310#define IRQ_DA8XX_EHRPWM1		65
    311#define IRQ_DA8XX_EHRPWM1TZ		66
    312#define IRQ_DA8XX_ECAP0			69
    313#define IRQ_DA8XX_ECAP1			70
    314#define IRQ_DA8XX_ECAP2			71
    315#define IRQ_DA8XX_ARMCLKSTOPREQ		90
    316
    317/* DA830 specific interrupts */
    318#define IRQ_DA830_MPUERR		27
    319#define IRQ_DA830_IOPUERR		27
    320#define IRQ_DA830_BOOTCFGERR		27
    321#define IRQ_DA830_EHRPWM2		67
    322#define IRQ_DA830_EHRPWM2TZ		68
    323#define IRQ_DA830_EQEP0			72
    324#define IRQ_DA830_EQEP1			73
    325#define IRQ_DA830_T12CMPINT0_0		74
    326#define IRQ_DA830_T12CMPINT1_0		75
    327#define IRQ_DA830_T12CMPINT2_0		76
    328#define IRQ_DA830_T12CMPINT3_0		77
    329#define IRQ_DA830_T12CMPINT4_0		78
    330#define IRQ_DA830_T12CMPINT5_0		79
    331#define IRQ_DA830_T12CMPINT6_0		80
    332#define IRQ_DA830_T12CMPINT7_0		81
    333#define IRQ_DA830_T12CMPINT0_1		82
    334#define IRQ_DA830_T12CMPINT1_1		83
    335#define IRQ_DA830_T12CMPINT2_1		84
    336#define IRQ_DA830_T12CMPINT3_1		85
    337#define IRQ_DA830_T12CMPINT4_1		86
    338#define IRQ_DA830_T12CMPINT5_1		87
    339#define IRQ_DA830_T12CMPINT6_1		88
    340#define IRQ_DA830_T12CMPINT7_1		89
    341
    342#define DA830_N_CP_INTC_IRQ		96
    343
    344/* DA850 speicific interrupts */
    345#define IRQ_DA850_MPUADDRERR0		27
    346#define IRQ_DA850_MPUPROTERR0		27
    347#define IRQ_DA850_IOPUADDRERR0		27
    348#define IRQ_DA850_IOPUPROTERR0		27
    349#define IRQ_DA850_IOPUADDRERR1		27
    350#define IRQ_DA850_IOPUPROTERR1		27
    351#define IRQ_DA850_IOPUADDRERR2		27
    352#define IRQ_DA850_IOPUPROTERR2		27
    353#define IRQ_DA850_BOOTCFG_ADDR_ERR	27
    354#define IRQ_DA850_BOOTCFG_PROT_ERR	27
    355#define IRQ_DA850_MPUADDRERR1		27
    356#define IRQ_DA850_MPUPROTERR1		27
    357#define IRQ_DA850_IOPUADDRERR3		27
    358#define IRQ_DA850_IOPUPROTERR3		27
    359#define IRQ_DA850_IOPUADDRERR4		27
    360#define IRQ_DA850_IOPUPROTERR4		27
    361#define IRQ_DA850_IOPUADDRERR5		27
    362#define IRQ_DA850_IOPUPROTERR5		27
    363#define IRQ_DA850_MIOPU_BOOTCFG_ERR	27
    364#define IRQ_DA850_SATAINT		67
    365#define IRQ_DA850_TINT12_2		68
    366#define IRQ_DA850_TINT34_2		68
    367#define IRQ_DA850_TINTALL_2		68
    368#define IRQ_DA850_MMCSDINT0_1		72
    369#define IRQ_DA850_MMCSDINT1_1		73
    370#define IRQ_DA850_T12CMPINT0_2		74
    371#define IRQ_DA850_T12CMPINT1_2		75
    372#define IRQ_DA850_T12CMPINT2_2		76
    373#define IRQ_DA850_T12CMPINT3_2		77
    374#define IRQ_DA850_T12CMPINT4_2		78
    375#define IRQ_DA850_T12CMPINT5_2		79
    376#define IRQ_DA850_T12CMPINT6_2		80
    377#define IRQ_DA850_T12CMPINT7_2		81
    378#define IRQ_DA850_T12CMPINT0_3		82
    379#define IRQ_DA850_T12CMPINT1_3		83
    380#define IRQ_DA850_T12CMPINT2_3		84
    381#define IRQ_DA850_T12CMPINT3_3		85
    382#define IRQ_DA850_T12CMPINT4_3		86
    383#define IRQ_DA850_T12CMPINT5_3		87
    384#define IRQ_DA850_T12CMPINT6_3		88
    385#define IRQ_DA850_T12CMPINT7_3		89
    386#define IRQ_DA850_RPIINT		91
    387#define IRQ_DA850_VPIFINT		92
    388#define IRQ_DA850_CCINT1		93
    389#define IRQ_DA850_CCERRINT1		94
    390#define IRQ_DA850_TCERRINT2		95
    391#define IRQ_DA850_TINT12_3		96
    392#define IRQ_DA850_TINT34_3		96
    393#define IRQ_DA850_TINTALL_3		96
    394#define IRQ_DA850_MCBSP0RINT		97
    395#define IRQ_DA850_MCBSP0XINT		98
    396#define IRQ_DA850_MCBSP1RINT		99
    397#define IRQ_DA850_MCBSP1XINT		100
    398
    399#define DA850_N_CP_INTC_IRQ		101
    400
    401/* da850 currently has the most gpio pins (144) */
    402#define DAVINCI_N_GPIO			144
    403/* da850 currently has the most irqs so use DA850_N_CP_INTC_IRQ */
    404
    405#endif /* __ASM_ARCH_IRQS_H */