📄 vic_pl190.h.svn-base
字号:
// PROJECT SPEARHEAD///////////////////////////////////////////////////////////////////////////////////*****************************************************************************//** **//** Copyright (c) 2005 ST Microelectronics **//** All rights reserved **//** **//** Filename : vic_pl190.h **//** Author : Bapi Kar **//** Revision : 1.0 **//** Description: New Header of VIC_PL190 **//** **//** Modification History: - 1.0 (19th august'2005) **//** details:new status mask is added(compared to old vic_pl190.h_old **//** till 18th August'2005 used the old vic_pl190.h_old file **//*****************************************************************************/#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))//Interrupt Status mask#define ITC_eASIC7_int 0x80000000#define ITC_eASIC6_int 0x40000000#define ITC_eASIC5_int 0x20000000#define ITC_eASIC4_int 0x10000000/* 5 interrupts not used here */#define ITC_ADC_int 0x00400000#define ITC_UART1_int 0x00200000#define ITC_UART2_int 0x00100000#define ITC_UART3_int 0x00080000#define ITC_GPT1_int 0x00040000#define ITC_GPT2_int 0x00020000 #define ITC_GDMA1_int 0x00010000#define ITC_GDMA2_int 0x00008000#define ITC_GPT3_int 0x00004000#define ITC_GPT4_int 0x00002000#define ITC_I2C_int 0x00001000#define ITC_MAC_int 0x00000800#define ITC_USBD_int 0x00000400#define ITC_USBH2_int 0x00000200#define ITC_USBH1_int 0x00000100#define ITC_OHCI_2_int 0x00000080#define ITC_OHCI_1_int 0x00000040#define ITC_RTC_int 0x00000020#define ITC_SMI_int 0x00000010#define ITC_eASIC3_int 0x00000008#define ITC_eASIC2_int 0x00000004#define ITC_eASIC1_int 0x00000002#define ITC_eASIC0_int 0x00000001#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 + -