📄 xhyper255.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 + -