📄 vic_pl190.h_old.svn-base
字号:
#ifndef __VIC_PL190_H#define __VIC_PL190_H#define ITC_Base 0x1000B000#define ITC_dim 2 //interrupt number (generic)/* * Description: * Number of vector register on each vectored interrupt controller. * This value should be altered to match the capabilities of the VIC. */#define VIC_NUM_VECTOR_REGISTERS 16typedef struct IRQController{ unsigned int VICIRQStatus; unsigned int VICFIQStatus; unsigned int VICRawIntr; unsigned int VICIntSelect; unsigned int VICIntEnable; unsigned int VICIntEnClear; unsigned int VICSoftInt; unsigned int VICSoftIntClear; unsigned int VICProtection; unsigned char Reserved_0[12]; unsigned int VICCurrVectAddr; unsigned int VICDefVectAddr; unsigned char Reserved_1[200]; unsigned int VICVectAddrs[VIC_NUM_VECTOR_REGISTERS]; unsigned char Reserved_2[192]; unsigned int VICVectCntl[VIC_NUM_VECTOR_REGISTERS]; unsigned char Reserved_3[192]; unsigned int VICITCR; unsigned int VICITIP1; unsigned int VICITIP2; unsigned int VICITOP1; unsigned int VICITOP2; unsigned char Reserved_4[3276]; unsigned int VICPeriphID0; unsigned int VICPeriphID1; unsigned int VICPeriphID2; unsigned int VICPeriphID3; unsigned int VICPCellID0; unsigned int VICPCellID1; unsigned int VICPCellID2; unsigned int VICPCellID3; } IRQController;#define IRQCntl ((volatile struct IRQController*) (ITC_Base))// status mask#define ITC_MAC_int 0x0800#define ITC_USBD_int 0x0400#define ITC_GDMA1_int 0x10000 // for gDMA1 (may be it is for gDMA2:wrong mapping!!)#define ITC_GDMA2_int 0x8000 // for gDMA2 #define ITC_I2C_int 0x1000 /*modified by bapi*/#define ITC_SMI_int 0x0010#define ITC_RTC_int 0x0020#define ITC_GPT1_int 0x40000#define ITC_GPT2_int 0x20000/*#define ITC_GPT1_int 0x4000 // GPT3 interrupt#define ITC_GPT2_int 0x2000 // GPT4 interrupt*/#define ITC_PI_DMA_FINISH_int 0x0100#define ITC_ADC_int 0x400000#define ITC_USBH1_int 0x0100#define ITC_USBH2_int 0x0200#define ITC_OHCI_1_int 0x0040#define ITC_OHCI_2_int 0x0080#define ITC_UART3_int 0x80000 /* added by bapi for UART3 */#define ITC_UART2_int 0x100000#define ITC_UART1_int 0x200000#define ITC_NUM_INTERRUPTS 31#define VICProtection_MASK 0x00000001#define VICVectCntl_MASK 0x0000003F#define VICITCR_MASK 0x00000001#define VICITIP1_MASK 0x00000003#define VICITOP1_MASK 0x00000003#define VICPeriphID_MASK 0x000000FF#define VICPCellID_MASK 0x000000FFvoid intctlInit(void);void intctlIntRegister_1(unsigned , void (*intHAND)(), unsigned char);void intctlIntRegister(unsigned , void (*intHAND)(), unsigned char);void intctlIntEnable(unsigned);void intctlIntClear(unsigned intNum);void intctlIntDisable(unsigned intNum);#endif // __VIC_PL190_H
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -