Files
m241Neelima/vxworks-6.9/target/h/drv/intrCtl/m5200Intr.h
T
2026-07-30 11:19:44 +05:30

221 lines
7.0 KiB
C

/* m5200Intr.h - Motorola MPC5200 interrupt header file */
/* Copyright 1991-2005 Wind River Systems, Inc. */
/*
modification history
--------------------
01b,15feb05,j_b INUM_PERIPHERAL_LAST corrected
01a,03jul03,pkr derived from ppc860Intr.h
*/
#ifndef __INCm5200Intrh
#define __INCm5200Intrh
#ifdef __cplusplus
extern "C" {
#endif
/* interrupt number definitions */
/* Peripheral Interrupts */
#define INUM_PERIPHERAL_FIRST 0
#define INUM_BESTCOMM 0
#define INUM_PSC1 1
#define INUM_PSC2 2
#define INUM_PSC3 3
#define INUM_PSC6 4
#define INUM_ETH 5
#define INUM_USB 6
#define INUM_ATA 7
#define INUM_PCI_CTL 8
#define INUM_PCI_RX 9
#define INUM_PCI_TX 10
#define INUM_PSC4 11
#define INUM_PSC5 12
#define INUM_SPI_MODF 13
#define INUM_SPI_SPIF 14
#define INUM_I2C1 15
#define INUM_I2C2 16
#define INUM_CAN1 17
#define INUM_CAN2 18
#define INUM_IR_RX 19
#define INUM_IR_TX 20
#define INUM_XLB 21
#define INUM_BDLC 22
#define INUM_BESTCOMM_LP 23
#define INUM_PERIPHERAL_LAST INUM_BESTCOMM_LP
/* External Interrupts to Main Controller */
#define INUM_MAIN_FIRST 32
#define INUM_SLT1 32
#define INUM_IRQ1 33
#define INUM_IRQ2 34
#define INUM_IRQ3 35
#define _INUM_LO 36 /* internal only */
#define INUM_RTC_pint 37
#define INUM_RTC_sint 38
#define INUM_GPIO_std 39
#define INUM_GPIO_wkup 40
#define INUM_TMR0 41
#define INUM_TMR1 42
#define INUM_TMR2 43
#define INUM_TMR3 44
#define INUM_TMR4 45
#define INUM_TMR5 46
#define INUM_TMR6 47
#define INUM_TMR7 48
#define INUM_MAIN_LAST 48
/* Critical Interrupts to Main Controller */
#define INUM_CRITICAL_FIRST 49
#define INUM_IRQ0 49
#define INUM_SLT0 50
#define _INUM_HI 51 /* internal only */
#define INUM_CCS 52
#define INUM_CRITICAL_LAST 52
/* Bestcomm Interrupts (to share a common table */
#define INUM_SDMA_FIRST 53
#define INUM_SDMA_TEA 53
#define INUM_SDMA_TASK0 54
#define INUM_SDMA_TASK1 55
#define INUM_SDMA_TASK2 56
#define INUM_SDMA_TASK3 57
#define INUM_SDMA_TASK4 58
#define INUM_SDMA_TASK5 59
#define INUM_SDMA_TASK6 60
#define INUM_SDMA_TASK7 61
#define INUM_SDMA_TASK8 62
#define INUM_SDMA_TASK9 63
#define INUM_SDMA_TASK10 64
#define INUM_SDMA_TASK11 65
#define INUM_SDMA_TASK12 66
#define INUM_SDMA_TASK13 67
#define INUM_SDMA_TASK14 68
#define INUM_SDMA_TASK15 69
#define INUM_SDMA_LAST 69
#define SDMA_TASKNO_TO_INUM(TASKNO) (INUM_SDMA_TASK0+TASKNO)
#define NUM_VEC_MAX 69
/* vectors */
#define IV_BESTCOMM INUM_TO_IVEC (INUM_BESTCOMM)
#define IV_PSC1 INUM_TO_IVEC (INUM_PSC1)
#define IV_PSC2 INUM_TO_IVEC (INUM_PSC2)
#define IV_PSC3 INUM_TO_IVEC (INUM_PSC3)
#define IV_PSC6 INUM_TO_IVEC (INUM_PSC6)
#define IV_ETH INUM_TO_IVEC (INUM_ETH)
#define IV_USB INUM_TO_IVEC (INUM_USB)
#define IV_ATA INUM_TO_IVEC (INUM_ATA)
#define IV_PCI_CTL INUM_TO_IVEC (INUM_PCI_CTL)
#define IV_PCI_RX INUM_TO_IVEC (INUM_PCI_RX)
#define IV_PCI_TX INUM_TO_IVEC (INUM_PCI_TX)
#define IV_PSC4 INUM_TO_IVEC (INUM_PSC4)
#define IV_PSC5 INUM_TO_IVEC (INUM_PSC5)
#define IV_SPI_MODF INUM_TO_IVEC (INUM_SPI_MODF)
#define IV_SPI_SPIF INUM_TO_IVEC (INUM_SPI_SPIF)
#define IV_I2C1 INUM_TO_IVEC (INUM_I2C1)
#define IV_I2C2 INUM_TO_IVEC (INUM_I2C2)
#define IV_CAN1 INUM_TO_IVEC (INUM_CAN1)
#define IV_CAN2 INUM_TO_IVEC (INUM_CAN2)
#define IV_IR_RX INUM_TO_IVEC (INUM_IR_RX)
#define IV_IR_TX INUM_TO_IVEC (INUM_IR_TX)
#define IV_XLB INUM_TO_IVEC (INUM_XLB)
#define IV_BDLC INUM_TO_IVEC (INUM_BDLC)
#define IV_BESTCOMM_LP INUM_TO_IVEC (INUM_BESTCOMM_LP)
#define IV_RESERVED24 INUM_TO_IVEC (INUM_RESERVED24)
#define IV_RESERVED25 INUM_TO_IVEC (INUM_RESERVED25)
#define IV_RESERVED26 INUM_TO_IVEC (INUM_RESERVED26)
#define IV_RESERVED27 INUM_TO_IVEC (INUM_RESERVED27)
#define IV_RESERVED28 INUM_TO_IVEC (INUM_RESERVED28)
#define IV_RESERVED29 INUM_TO_IVEC (INUM_RESERVED29)
#define IV_RESERVED30 INUM_TO_IVEC (INUM_RESERVED30)
#define IV_RESERVED31 INUM_TO_IVEC (INUM_RESERVED31)
#define IV_SLT1 INUM_TO_IVEC (INUM_SLT1)
#define IV_IRQ1 INUM_TO_IVEC (INUM_IRQ1)
#define IV_IRQ2 INUM_TO_IVEC (INUM_IRQ2)
#define IV_IRQ3 INUM_TO_IVEC (INUM_IRQ3)
#define IV_RTC_pint INUM_TO_IVEC (INUM_RTC_pint)
#define IV_RTC_sint INUM_TO_IVEC (INUM_RTC_sint)
#define IV_GPIO_std INUM_TO_IVEC (INUM_GPIO_std)
#define IV_GPIO_wkup INUM_TO_IVEC (INUM_GPIO_wkup)
#define IV_TMR0 INUM_TO_IVEC (INUM_TMR0)
#define IV_TMR1 INUM_TO_IVEC (INUM_TMR1)
#define IV_TMR2 INUM_TO_IVEC (INUM_TMR2)
#define IV_TMR3 INUM_TO_IVEC (INUM_TMR3)
#define IV_TMR4 INUM_TO_IVEC (INUM_TMR4)
#define IV_TMR5 INUM_TO_IVEC (INUM_TMR5)
#define IV_TMR6 INUM_TO_IVEC (INUM_TMR6)
#define IV_TMR7 INUM_TO_IVEC (INUM_TMR7)
#define IV_IRQ0 INUM_TO_IVEC (INUM_IRQ0)
#define IV_SLT0 INUM_TO_IVEC (INUM_SLT0)
#define IV_CCS INUM_TO_IVEC (INUM_CCS)
#define IV_SDMA_TEA INUM_TO_IVEC (INUM_SDMA_TEA)
#define IV_SDMA_TASK0 INUM_TO_IVEC (INUM_SDMA_TASK0)
#define IV_SDMA_TASK1 INUM_TO_IVEC (INUM_SDMA_TASK1)
#define IV_SDMA_TASK2 INUM_TO_IVEC (INUM_SDMA_TASK2)
#define IV_SDMA_TASK3 INUM_TO_IVEC (INUM_SDMA_TASK3)
#define IV_SDMA_TASK4 INUM_TO_IVEC (INUM_SDMA_TASK4)
#define IV_SDMA_TASK5 INUM_TO_IVEC (INUM_SDMA_TASK5)
#define IV_SDMA_TASK6 INUM_TO_IVEC (INUM_SDMA_TASK6)
#define IV_SDMA_TASK7 INUM_TO_IVEC (INUM_SDMA_TASK7)
#define IV_SDMA_TASK8 INUM_TO_IVEC (INUM_SDMA_TASK8)
#define IV_SDMA_TASK9 INUM_TO_IVEC (INUM_SDMA_TASK9)
#define IV_SDMA_TASK10 INUM_TO_IVEC (INUM_SDMA_TASK10)
#define IV_SDMA_TASK11 INUM_TO_IVEC (INUM_SDMA_TASK11)
#define IV_SDMA_TASK12 INUM_TO_IVEC (INUM_SDMA_TASK12)
#define IV_SDMA_TASK13 INUM_TO_IVEC (INUM_SDMA_TASK13)
#define IV_SDMA_TASK14 INUM_TO_IVEC (INUM_SDMA_TASK14)
#define SDMA_TASKNO_TO_IVEC(TASKNO) INUM_TO_IVEC(SDMA_TASKNO_TO_INUM(TASKNO))
/* other defines */
#define USE_CRITICAL_INTERRUPT 0
#define INTR_LEVEL_DEFAULT 3
/* typedefs */
/* interrupt handler */
#ifndef _ASMLANGUAGE
typedef struct intr_handler
{
VOIDFUNCPTR vec; /* interrupt vector */
int arg; /* interrupt handler argument */
} INTR_HANDLER;
/* function declarations */
#if defined(__STDC__) || defined(__cplusplus)
IMPORT STATUS m5200IntrInit (void);
IMPORT int m5200IntrSetLevel(int, int);
IMPORT void m5200IntAck(int);
#else
IMPORT STATUS m5200IntrInit ();
IMPORT STATUS m5200IntrSetLevel();
IMPORT void m5200IntAck();
#endif /* __STDC__ */
#endif /* _ASMLANGUAGE */
#define _EXC_INFO_XLB 0x10000 /* mach check from XLB, info in DAR/DSISR */
#ifdef __cplusplus
}
#endif
#endif /* __INCm5200Intrh */