Files
m241Neelima/vxworks-6.9/target/h/hwif/intCtlr/vxbQeIntCtlr.h
T
2026-07-30 11:19:44 +05:30

97 lines
2.5 KiB
C

/* vxbQeIntCtlr.h - Quicc Engine interrupt controller header file */
/* Copyright (c) 2007 Wind River Systems, Inc. */
/*
modification history
--------------------
01a,03jun07,dtr adapted from qeIntrCtl.h.
*/
#ifndef __INCvxbQeIntCtlrh
#define __INCvxbQeIntCtlrh
#include "vxWorks.h"
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _ASMLANGUAGE
#define CAST(x)
#else /* _ASMLANGUAGE */
#define CAST(x) (x)
#endif /* _ASMLANGUAGE */
#ifdef QE_IVEC_TO_INUM
# undef QE_IVEC_TO_INUM
#endif /* IVEC_TO_INUM */
#ifdef QE_INUM_TO_IVEC
# undef QE_INUM_TO_IVEC
#endif /* INUM_TO_IVEC */
#define QE_IVEC_TO_INUM(intVec) (qeIvecToInum(intVec))
#define QE_INUM_TO_IVEC(intNum) (qeInumToIvec(intNum))
#define QE_INUM_MAX 64
#define QE_IVEC_MAX 64
#ifndef _ASMLANGUAGE
#define CAST(x) (x)
#ifndef VUINT32
typedef volatile UINT32 VUINT32; /* volatile unsigned word */
#endif
#else
#define CAST(x)
#endif
#define QE_CICR(base) ((VUINT32 *) ((base) + 0x80)) /* interrupt configuration Register */
#define QE_CIVEC(base) ((VUINT32 *) ((base) + 0x84))
#define QE_CRIPNR(base) ((VUINT32 *) ((base) + 0x88))
#define QE_CIPNR(base) ((VUINT32 *) ((base) + 0x8C))
#define QE_CIPXCC(base) ((VUINT32 *) ((base) + 0x90))
#define QE_CIPYCC(base) ((VUINT32 *) ((base) + 0x94))
#define QE_CIPWCC(base) ((VUINT32 *) ((base) + 0x98))
#define QE_CIPZCC(base) ((VUINT32 *) ((base) + 0x9C))
#define QE_CIMR(base) ((VUINT32 *) ((base) + 0xA0))
#define QE_CRIMR(base) ((VUINT32 *) ((base) + 0xA4))
#define QE_CICNR(base) ((VUINT32 *) ((base) + 0xA8))
#define QE_CIPRTA(base) ((VUINT32 *) ((base) + 0xB0))
#define QE_CIPRTB(base) ((VUINT32 *) ((base) + 0xB4))
#define QE_CRIC(base) ((VUINT32 *) ((base) + 0xBC))
#define QE_CHIVEC(base) ((VUINT32 *) ((base) + 0xE0))
#ifndef _ASMLANGUAGE
typedef struct qe_intr_handler
{
VOIDFUNCPTR vec; /* interrupt vector */
int arg; /* interrupt handler argument */
void *pNext;
} QE_INTR_HANDLER;
/* SIU Interrupt Mask structure; a value for the high and low parts */
typedef struct qe_siu_int_mask
{
UINT32 crimr;
UINT32 cimr;
} QE_SIU_INT_MASK;
/* function declarations */
IMPORT STATUS vxbQeIntrInit ();
extern STATUS vxbQeIntDisable (int );
IMPORT STATUS vxbQeIntEnable (int );
extern int qeIvecToInum(VOIDFUNCPTR *);
extern VOIDFUNCPTR * qeInumToIvec(int);
extern void vxbQeIntCtlrRegister(void);
#endif /* _ASMLANGUAGE */
#ifdef __cplusplus
}
#endif
#endif /* __INCvxbQeIntCtlrh */