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

📄 xhyper255.h

📁 linux嵌入式课程实践中的一个关于声卡驱动程序 。
💻 H
字号:
/* *  linux/include/asm-arm/arch-pxa/xhyper255.h * *  This program is free software; you can redistribute it and/or modify *  it under the terms of the GNU General Public License version 2 as *  published by the Free Software Foundation. * *  Copyright (c) 2002 Hybus Co,. ltd. * * 2002-11-10: bedguy <bedguy@hybus.net> *             Initialize */#define MSC_CS(cs,val) ((val)<<((cs&1)<<4))#define MSC_RBUFF_SHIFT 15 #define MSC_RBUFF_SLOW (0)#define MSC_RBUFF_FAST (1)#define MSC_RBUFF(x) ((x)<<MSC_RBUFF_SHIFT)#define MSC_RRR_SHIFT 12#define MSC_RRR(x) ((x)<<MSC_RRR_SHIFT)#define MSC_RDN_SHIFT 8#define MSC_RDN(x) ((x)<<MSC_RDN_SHIFT)#define MSC_RDF_SHIFT 4#define MSC_RDF(x) ((x)<<MSC_RDF_SHIFT)#define MSC_RBW_SHIFT 3#define MSC_RBW(x) ((x)<<MSC_RBW_SHIFT)#define MSC_RT_SHIFT  0#define MSC_RT(x) ((x)<<MSC_RT_SHIFT)#ifndef __ASSEMBLY__extern unsigned short hyper_port0;extern unsigned short hyper_port1;extern unsigned short hyper_port2;extern unsigned short hyper_port3;#endif/*----------------------------XHYPER255B----------------------------------*/#ifdef CONFIG_ARCH_XHYPER255B#define PCMCIA_IREQ                     IRQ_GPIO(2)#define PCMCIA_CD                       IRQ_GPIO(3)#define CF_IREQ                         IRQ_GPIO(16)#define CF_CD                           IRQ_GPIO(17)#define IRQ_GPIO_ADS7843                IRQ_GPIO(5)#define IRQ_GPIO_EZHOST                	IRQ_GPIO(7)#define XHYPER255B_HEARTBEAT_LED 0x1#define XHYPER255B_SYS_BUSY_LED  0x2#define XHYPER255B_HEARTBEAT_LED_ON    XHYPER255B_LED_ON(LED5)#define XHYPER255B_HEARTBEAT_LED_OFF   XHYPER255B_LED_OFF(LED5)#define XHYPER255B_SYS_BUSY_LED_ON     XHYPER255B_LED_ON(LED6)#define XHYPER255B_SYS_BUSY_LED_OFF    XHYPER255B_LED_OFF(LED6)//---------------------------------------------// 				Extend PORT0//---------------------------------------------#define _EXT_PORT0         	0xf0110000#define EXT_PORT0      		(*(volatile unsigned short *)( _EXT_PORT0 ))#define RTC_CE			(1<<0)  // #define RTC_CLK      		(1<<1)  // #define PCMCIA_RESET  		(1<<2)  // #define CF_RESET         	(1<<3)  // #define ADS7843_DCLK     	(1<<4)  // #define ADS7843_C        	(1<<5)  // #define ADS7843_DI        	(1<<6)  //#define LCD_Back_ON      	(1<<7)	//               #define PCMCIA_VCC5_EN   	(1<<8)  //#define PCMCIA_VCC3_EN    	(1<<9)  // #define PCMCIA_EN0        	(1<<10) // #define PCMCIA_EN1        	(1<<11) //#define CF_VCC_EN         	(1<<12) ////---------------------------------------------// 		Extend PORT1//---------------------------------------------#define _EXT_PORT1    		0xf0120000#define EXT_PORT1      		(*(volatile unsigned short *)( _EXT_PORT1 ))#define PCMCIA_BVD1		(1<<0)  // #define PCMCIA_BVD2      	(1<<1)  // #define PCMCIA_INPACK  		(1<<2)  // #define CF_BVD1         	(1<<3)  // #define CF_BVD2     		(1<<4)  // #define CF_INPACK        	(1<<5)  // #define PCMCIA_VS1   		(1<<8)  //#define PCMCIA_VS2    		(1<<9)  // #define CF_VS1        		(1<<10) // #define CF_VS2        		(1<<11) ////---------------------------------------------//              Extend PORT2//---------------------------------------------#define _EXT_PORT2          0xf0130000#define EXT_PORT2           (*(volatile unsigned short *)( _EXT_PORT2 ))#define SWITCH2             (1<<0)  // #define SWITCH3             (1<<1)  // #define SWITCH4 	    (1<<2)  // #define SWITCH5             (1<<3)  // #define SWITCH6             (1<<4)  // #define SWITCH7             (1<<5)  // #define SWITCH8             (1<<6)  // #define SWITCH9             (1<<7)  // //---------------------------------------------//              Extend PORT3//---------------------------------------------#define _EXT_PORT3          0xf0140000#define EXT_PORT3           (*(volatile unsigned short *)( _EXT_PORT3 ))#define LED5                (1<<0)  // #define LED6                (1<<1)  // #define LED7                (1<<2)  // #define LED8                (1<<3)  // #define LED9                (1<<4)  // #define LED10               (1<<5)  // #define LED11               (1<<6)  // #define LED12               (1<<7)  // #define XHYPER255B_LED_ON(x) \		hyper_port3 |= x; EXT_PORT3 = ~(hyper_port3);#define XHYPER255B_LED_OFF(x) \		hyper_port3 &= ~x; EXT_PORT3 = ~(hyper_port3);//---------------------------------------------// 				Extend PORT Function//---------------------------------------------#define XHYPER255_SetBit(x,y) {\    if(x==0)      { hyper_port0 |= (y); EXT_PORT0 = hyper_port0;}\    else if(x==1) { hyper_port1 |= (y); EXT_PORT1 = hyper_port1;}\}#define XHYPER255_ClearBit(x, y) {\    if(x==0)      { hyper_port0 &= ~(y); EXT_PORT0 = hyper_port0;}\    else if(x==1) { hyper_port1 &= ~(y); EXT_PORT1 = hyper_port1;}\}/*----------------------------XHYPER255A----------------------------------*/#elif defined(CONFIG_ARCH_XHYPER255A)#define IRQ_GPIO_ADS7843                 IRQ_GPIO(3)#define _EXT_PORT0          0xF0200000 #define EXT_PORT0           (*(volatile unsigned short *)( _EXT_PORT0 ))#define ADS7843_DCLK        (1<<0)  // #define ADS7843_C           (1<<1)  // #define ADS7843_DI          (1<<2)  // #define D_ON_OFF            (1<<3)  // #define L_ON_OFF            (1<<4)  // #define LCD_Back_ON         (1<<5)  // #define XHYPER255_SetBit(x,y) {\    if(x==0)      { hyper_port0 |= (y); EXT_PORT0 = hyper_port0;}\}#define XHYPER255_ClearBit(x, y) {\    if(x==0)      { hyper_port0 &= ~(y); EXT_PORT0 = hyper_port0;}\}#endif	//CONFIG_ARCH_XHYPER255B#define HYPER255_HLHBit(x,y) {\HYPER255_SetBit(x,y);   udelay(5000);\HYPER255_ClearBit(x,y); udelay(5000);\HYPER255_SetBit(x,y);   udelay(5000);\}#define HYPER255_LHLBit(x,y) {\HYPER255_ClearBit(x,y); udelay(5000);\HYPER255_SetBit(x,y);   udelay(5000);\HYPER255_ClearBit(x,y); udelay(5000);\}

⌨️ 快捷键说明

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