⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 irq.h

📁 samsung 9908DVD源代码,
💻 H
字号:
/**********************************************************************************
 * irq.h                                                                         
 * modified by hspark@pplab.ce.cnu.ac.kr
 * 2001/6/27
 **********************************************************************************/

#ifndef __MK_IRQ_H__
#define __MK_IRQ_H__

#if 0

#define INT_BT			0	
#define INT_RTC			1	
#define INT_TA			2	
#define INT_TAOV		3	
#define INT_TB			4	
#define INT_TBOV		5	
#define INT_TC			6	
#define INT_TCOV		7	
#define INT_USB			8	
#define INT_PPIC		9	
#define INT_UART 		10	
#define INT_IIC 		11	
#define INT_SIO			12	
#define INT_IIS0		13	
#define INT_IIS1		14	
// Reserved				15
#endif 

#define EINT0			0	// External Interrupt 0		
#define EINT1			1	// External Interrupt 1 	
#define EINT2			2	// External Interrupt 2	 	
#define IR_INT			3	// Remote control signal 
#define EINTG			4	// External Interrupt Group(3-7)
#define INT_TIMERA		5	// Timer A Interrupt
#define WATCHDOG		6	// Watchdog Timer Interrupt	
#define INT_TIMERB		7	// Timer B Interrupt
#define INT_TIMERC		8	// Timer C Interrupt
#define INT_TIMERD		9	// Timer D Interrupt
//#define INT_DMA 		10	// IODMA 0 Interrupt
#define INT_DMA0 		10	// IODMA Interrupt
// Reserved   			11	// IODMA 1-3 Interrupt
#define INT_NTSC		12	// NTSC/PAL Encoder Interrupt
#define INT_656			13	// BT.656 Interrupt
#define INT_GA			14	// Graphic Accelator Interrupt
#define INT_MIXER		15	// Mixer Interrrupt
#define INT_IFE			16	// I-Frame Encoder INterrupt
#define INT_M2VD		17	// MPEG Video Decoder
#define INT_SPD			18	// Sub-picture decoder Interrupt
#define INT_PSD			19	// Program stream demux Interrupt
#define INT_FIU			20	// Front Interface Unit Interrupt (ATAPI)
// Reserved			21
#define INT_UART0		22	// UART0 Tx/Rx Interrupt
#define INT_SPDIF		23	// SPDIF Interrupt
#define INT_SAIU		24	// Serial Audio Interface Unit (IIS) Interface
#define INT_ADM			25	// Audio DSP Interrupt
#define INT_SPI			26	// SPI(or SIO) Interrupt
#define INT_IIC			27	// IIC Interrupt
#define INT_NAND		28	// Nand-flash controller Interrupt (or SmartMedia)
#define INT_MSTICK		29	// Memory Stick Interrupt
#define INT_UART1		30	// UART1 Tx/Rx Interrupt
#define INT_ADC			31	// ADC EOC(End Of Conversion) Interrupt


//TEMPORY

#define		TIMER_BASE		0x38E000                 
#define		rTACON_H		(*(volatile unsigned int *) (TIMER_BASE+0x000))
#define		rTACON_L		(*(volatile unsigned int *) (TIMER_BASE+0x002))
#define		rTACMD_H		(*(volatile unsigned int *) (TIMER_BASE+0x004))
#define		rTACMD_L		(*(volatile unsigned int *) (TIMER_BASE+0x006))
#define		rTADATA1_H		(*(volatile unsigned int *) (TIMER_BASE+0x008))
#define		rTADATA1_L		(*(volatile unsigned int *) (TIMER_BASE+0x00a))
#define		rTADATA2_H		(*(volatile unsigned int *) (TIMER_BASE+0x00C))
#define		rTADATA2_L		(*(volatile unsigned int *) (TIMER_BASE+0x00e))
#define		rTAPRE_H		(*(volatile unsigned int *) (TIMER_BASE+0x010))
#define		rTAPRE_L		(*(volatile unsigned int *) (TIMER_BASE+0x012))
#define		rTACNT_H		(*(volatile unsigned int *) (TIMER_BASE+0x014))
#define		rTACNT_L		(*(volatile unsigned int *) (TIMER_BASE+0x016))
#define		rTBCON_H		(*(volatile unsigned int *) (TIMER_BASE+0x020))
#define		rTBCON_L		(*(volatile unsigned int *) (TIMER_BASE+0x022))
#define		rTBCMD_H		(*(volatile unsigned int *) (TIMER_BASE+0x024))
#define		rTBCMD_L		(*(volatile unsigned int *) (TIMER_BASE+0x026))
#define		rTBDATA1_H		(*(volatile unsigned int *) (TIMER_BASE+0x028))
#define		rTBDATA1_L		(*(volatile unsigned int *) (TIMER_BASE+0x02a))
#define		rTBDATA2_H		(*(volatile unsigned int *) (TIMER_BASE+0x02C))
#define		rTBDATA2_L		(*(volatile unsigned int *) (TIMER_BASE+0x02e))
#define		rTBPRE_H		(*(volatile unsigned int *) (TIMER_BASE+0x030))
#define		rTBPRE_L		(*(volatile unsigned int *) (TIMER_BASE+0x032))
#define		rTBCNT_H		(*(volatile unsigned int *) (TIMER_BASE+0x034))
#define		rTBCNT_L		(*(volatile unsigned int *) (TIMER_BASE+0x036))
#define		rTCCON_H		(*(volatile unsigned int *) (TIMER_BASE+0x040))
#define		rTCCON_L		(*(volatile unsigned int *) (TIMER_BASE+0x042))
#define		rTCCMD_H		(*(volatile unsigned int *) (TIMER_BASE+0x044))
#define		rTCCMD_L		(*(volatile unsigned int *) (TIMER_BASE+0x046))
#define		rTCDATA1_H		(*(volatile unsigned int *) (TIMER_BASE+0x048))
#define		rTCDATA1_L		(*(volatile unsigned int *) (TIMER_BASE+0x04a))
#define		rTCDATA2_H		(*(volatile unsigned int *) (TIMER_BASE+0x04C))
#define		rTCDATA2_L		(*(volatile unsigned int *) (TIMER_BASE+0x04e))
#define		rTCPRE_H		(*(volatile unsigned int *) (TIMER_BASE+0x050))
#define		rTCPRE_L		(*(volatile unsigned int *) (TIMER_BASE+0x052))
#define		rTCCNT_H		(*(volatile unsigned int *) (TIMER_BASE+0x054))
#define		rTCCNT_L		(*(volatile unsigned int *) (TIMER_BASE+0x056))
#define		rTDCON_H		(*(volatile unsigned int *) (TIMER_BASE+0x060))
#define		rTDCON_L		(*(volatile unsigned int *) (TIMER_BASE+0x062))
#define		rTDCMD_H		(*(volatile unsigned int *) (TIMER_BASE+0x064))
#define		rTDCMD_L		(*(volatile unsigned int *) (TIMER_BASE+0x066))
#define		rTDDATA1_H		(*(volatile unsigned int *) (TIMER_BASE+0x068))
#define		rTDDATA1_L		(*(volatile unsigned int *) (TIMER_BASE+0x06a))
#define		rTDDATA2_H		(*(volatile unsigned int *) (TIMER_BASE+0x06C))
#define		rTDDATA2_L		(*(volatile unsigned int *) (TIMER_BASE+0x06e))
#define		rTDPRE_H		(*(volatile unsigned int *) (TIMER_BASE+0x070))
#define		rTDPRE_L		(*(volatile unsigned int *) (TIMER_BASE+0x072))
#define		rTDCNT_H		(*(volatile unsigned int *) (TIMER_BASE+0x074))
#define		rTDCNT_L		(*(volatile unsigned int *) (TIMER_BASE+0x076))


#define intcUnit_BASE 0x338000

#define		SRCPND_H		((intcUnit_BASE+0x00))
#define		SRCPND_L		((intcUnit_BASE+0x02))
#define		INTMOD_H		((intcUnit_BASE+0x04))
#define		INTMOD_L		((intcUnit_BASE+0x06))
#define		INTMASK_H		((intcUnit_BASE+0x08))
#define		INTMASK_L		((intcUnit_BASE+0x0a))
#define		PRIORITY_H		((intcUnit_BASE+0x0C))
#define		PRIORITY_L		((intcUnit_BASE+0x0e))
#define		INTPND_H		((intcUnit_BASE+0x10))
#define		INTPND_L		((intcUnit_BASE+0x12))
#define		INTOFFSET_H		((intcUnit_BASE+0x14))
#define		INTOFFSET_L		((intcUnit_BASE+0x16))
#define		EINTPOL_H		((intcUnit_BASE+0x18))
#define		EINTPOL_L		((intcUnit_BASE+0x1a))
#define		EINTPND_H		((intcUnit_BASE+0x1C))
#define		EINTPND_L		((intcUnit_BASE+0x1e))
#define		EINTMASK_H		((intcUnit_BASE+0x20))
#define		EINTMASK_L		((intcUnit_BASE+0x22))

#define		rSRCPND_H		(*(volatile unsigned int *)(intcUnit_BASE+0x00))
#define		rSRCPND_L		(*(volatile unsigned int *)(intcUnit_BASE+0x02))
#define		rINTMOD_H		(*(volatile unsigned int *)(intcUnit_BASE+0x04))
#define		rINTMOD_L		(*(volatile unsigned int *)(intcUnit_BASE+0x06))
#define		rINTMASK_H		(*(volatile unsigned int *)(intcUnit_BASE+0x08))
#define		rINTMASK_L		(*(volatile unsigned int *)(intcUnit_BASE+0x0a))
#define		rPRIORITY_H	(*(volatile unsigned int *)(intcUnit_BASE+0x0C))
#define		rPRIORITY_L		(*(volatile unsigned int *)(intcUnit_BASE+0x0e))
#define		rINTPND_H		(*(volatile unsigned int *)(intcUnit_BASE+0x10))
#define		rINTPND_L		(*(volatile unsigned int *)(intcUnit_BASE+0x12))
#define		rINTOFFSET_H		(*(volatile unsigned int *)(intcUnit_BASE+0x14))
#define		rINTOFFSET_L		(*(volatile unsigned int *)(intcUnit_BASE+0x16))
#define		rEINTPOL_H		(*(volatile unsigned int *)(intcUnit_BASE+0x18))
#define		rEINTPOL_L		(*(volatile unsigned int *)(intcUnit_BASE+0x1a))
#define		rEINTPND_H		(*(volatile unsigned int *)(intcUnit_BASE+0x1C))
#define		rEINTPND_L		(*(volatile unsigned int *)(intcUnit_BASE+0x1e))
#define		rEINTMASK_H		(*(volatile unsigned int *)(intcUnit_BASE+0x20))
#define		rEINTMASK_L		(*(volatile unsigned int *)(intcUnit_BASE+0x22))

/*************************************************************
 *Interrupt controller 
 *************************************************************/
#define	 	BIT_BT			(0x1<<0)
#define	 	BIT_RTC			(0x1<<1)
#define	 	BIT_TA			(0x1<<2)
#define	 	BIT_TAOV		(0x1<<3)
#define	 	BIT_TB			(0x1<<4)
#define	 	BIT_TBOV		(0x1<<5)
#define	 	BIT_TC			(0x1<<6)
#define	 	BIT_TCOV		(0x1<<7)
#define	 	BIT_USB			(0x1<<8)
#define	 	BIT_PPIC		(0x1<<9)				
#define	 	BIT_UART 		(0x1<<10)
#define	 	BIT_IIC	        (0x1<<11)
#define	 	BIT_SIO			(0x1<<12)
#define	 	BIT_IIS0		(0x1<<13)
#define	 	BIT_IIS1		(0x1<<14)
//reserved					(0x0<<15)


/*-----------------------------------------------------------------
 * Internal Function
 *-----------------------------------------------------------------*/
typedef VOID(*MK_voidFuncVoid)(INT);	/* IRQ service function */

VOID MK_InterruptInitialize(VOID);

VOID MK_TimerCInitialize(VOID);
VOID MK_TimerDInitialize(VOID);

/*-----------------------------------------------------------------
 * API Function
 *-----------------------------------------------------------------*/
INT MK_IRQInstall(INT Num, MK_voidFuncVoid Func);
INT MK_FIQInstall(INT Num, MK_voidFuncVoid Func);

#endif	/* __MK_IRQ_H__ */


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -