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

📄 h3600_gpio.h

📁 优龙2410linux2.6.8内核源代码
💻 H
📖 第 1 页 / 共 3 页
字号:
/* * * Definitions for H3600 Handheld Computer * * Copyright 2000 Compaq Computer Corporation. * * Use consistent with the GNU GPL is permitted, * provided that this copyright notice is * preserved in its entirety in all copies and derived works. * * COMPAQ COMPUTER CORPORATION MAKES NO WARRANTIES, EXPRESSED OR IMPLIED, * AS TO THE USEFULNESS OR CORRECTNESS OF THIS CODE OR ITS * FITNESS FOR ANY PARTICULAR PURPOSE. * * Author: Jamey Hicks. * * History: * * 2001-10-??   Andrew Christian   Added support for iPAQ H3800 * */#ifndef _INCLUDE_H3600_GPIO_H_#define _INCLUDE_H3600_GPIO_H_/* * GPIO lines that are common across ALL iPAQ models are in "h3600.h" * This file contains machine-specific definitions */#define GPIO_H3600_SUSPEND              GPIO_GPIO (0)/* GPIO[2:9] used by LCD on H3600/3800, used as GPIO on H3100 */#define GPIO_H3100_BT_ON		GPIO_GPIO (2)#define GPIO_H3100_GPIO3		GPIO_GPIO (3)#define GPIO_H3100_QMUTE		GPIO_GPIO (4)#define GPIO_H3100_LCD_3V_ON		GPIO_GPIO (5)#define GPIO_H3100_AUD_ON		GPIO_GPIO (6)#define GPIO_H3100_AUD_PWR_ON		GPIO_GPIO (7)#define GPIO_H3100_IR_ON		GPIO_GPIO (8)#define GPIO_H3100_IR_FSEL		GPIO_GPIO (9)/* for H3600, audio sample rate clock generator */#define GPIO_H3600_CLK_SET0		GPIO_GPIO (12)#define GPIO_H3600_CLK_SET1		GPIO_GPIO (13)#define GPIO_H3600_ACTION_BUTTON	GPIO_GPIO (18)#define GPIO_H3600_SOFT_RESET           GPIO_GPIO (20)   /* Also known as BATT_FAULT */#define GPIO_H3600_OPT_LOCK		GPIO_GPIO (22)#define GPIO_H3600_OPT_DET		GPIO_GPIO (27)/* H3800 specific pins */#define GPIO_H3800_AC_IN                GPIO_GPIO (12)#define GPIO_H3800_COM_DSR              GPIO_GPIO (13)#define GPIO_H3800_MMC_INT              GPIO_GPIO (18)#define GPIO_H3800_NOPT_IND             GPIO_GPIO (20)   /* Almost exactly the same as GPIO_H3600_OPT_DET */#define GPIO_H3800_OPT_BAT_FAULT        GPIO_GPIO (22)#define GPIO_H3800_CLK_OUT              GPIO_GPIO (27)/****************************************************/#define IRQ_GPIO_H3600_ACTION_BUTTON    IRQ_GPIO18#define IRQ_GPIO_H3600_OPT_DET		IRQ_GPIO27#define IRQ_GPIO_H3800_MMC_INT          IRQ_GPIO18#define IRQ_GPIO_H3800_NOPT_IND         IRQ_GPIO20 /* almost same as OPT_DET *//* H3100 / 3600 EGPIO pins */#define EGPIO_H3600_VPP_ON		(1 << 0)#define EGPIO_H3600_CARD_RESET		(1 << 1)   /* reset the attached pcmcia/compactflash card.  active high. */#define EGPIO_H3600_OPT_RESET		(1 << 2)   /* reset the attached option pack.  active high. */#define EGPIO_H3600_CODEC_NRESET	(1 << 3)   /* reset the onboard UDA1341.  active low. */#define EGPIO_H3600_OPT_NVRAM_ON	(1 << 4)   /* apply power to optionpack nvram, active high. */#define EGPIO_H3600_OPT_ON		(1 << 5)   /* full power to option pack.  active high. */#define EGPIO_H3600_LCD_ON		(1 << 6)   /* enable 3.3V to LCD.  active high. */#define EGPIO_H3600_RS232_ON		(1 << 7)   /* UART3 transceiver force on.  Active high. *//* H3600 only EGPIO pins */#define EGPIO_H3600_LCD_PCI		(1 << 8)   /* LCD control IC enable.  active high. */#define EGPIO_H3600_IR_ON		(1 << 9)   /* apply power to IR module.  active high. */#define EGPIO_H3600_AUD_AMP_ON		(1 << 10)  /* apply power to audio power amp.  active high. */#define EGPIO_H3600_AUD_PWR_ON		(1 << 11)  /* apply power to reset of audio circuit.  active high. */#define EGPIO_H3600_QMUTE		(1 << 12)  /* mute control for onboard UDA1341.  active high. */#define EGPIO_H3600_IR_FSEL		(1 << 13)  /* IR speed select: 1->fast, 0->slow */#define EGPIO_H3600_LCD_5V_ON		(1 << 14)  /* enable 5V to LCD. active high. */#define EGPIO_H3600_LVDD_ON		(1 << 15)  /* enable 9V and -6.5V to LCD. *//********************* H3800, ASIC #2 ********************/#define _H3800_ASIC2_Base            (H3600_EGPIO_VIRT)#define H3800_ASIC2_OFFSET(s,x,y)    \    (*((volatile s *) (_H3800_ASIC2_Base + _H3800_ASIC2_ ## x ## _Base + _H3800_ASIC2_ ## x ## _ ## y)))#define H3800_ASIC2_NOFFSET(s,x,n,y) \    (*((volatile s *) (_H3800_ASIC2_Base + _H3800_ASIC2_ ## x ## _ ## n ## _Base + _H3800_ASIC2_ ## x ## _ ## y)))#define _H3800_ASIC2_GPIO_Base                 0x0000#define _H3800_ASIC2_GPIO_Direction            0x0000    /* R/W, 16 bits 1:input, 0:output */#define _H3800_ASIC2_GPIO_InterruptType        0x0004    /* R/W, 12 bits 1:edge, 0:level          */#define _H3800_ASIC2_GPIO_InterruptEdgeType    0x0008    /* R/W, 12 bits 1:rising, 0:falling */#define _H3800_ASIC2_GPIO_InterruptLevelType   0x000C    /* R/W, 12 bits 1:high, 0:low  */#define _H3800_ASIC2_GPIO_InterruptClear       0x0010    /* W,   12 bits */#define _H3800_ASIC2_GPIO_InterruptFlag        0x0010    /* R,   12 bits - reads int status */#define _H3800_ASIC2_GPIO_Data                 0x0014    /* R/W, 16 bits */#define _H3800_ASIC2_GPIO_BattFaultOut         0x0018    /* R/W, 16 bit - sets level on batt fault */#define _H3800_ASIC2_GPIO_InterruptEnable      0x001c    /* R/W, 12 bits 1:enable interrupt */#define _H3800_ASIC2_GPIO_Alternate            0x003c    /* R/W, 12+1 bits - set alternate functions */#define H3800_ASIC2_GPIO_Direction          H3800_ASIC2_OFFSET( u16, GPIO, Direction )#define H3800_ASIC2_GPIO_InterruptType      H3800_ASIC2_OFFSET( u16, GPIO, InterruptType )#define H3800_ASIC2_GPIO_InterruptEdgeType  H3800_ASIC2_OFFSET( u16, GPIO, InterruptEdgeType )#define H3800_ASIC2_GPIO_InterruptLevelType H3800_ASIC2_OFFSET( u16, GPIO, InterruptLevelType )#define H3800_ASIC2_GPIO_InterruptClear     H3800_ASIC2_OFFSET( u16, GPIO, InterruptClear )#define H3800_ASIC2_GPIO_InterruptFlag      H3800_ASIC2_OFFSET( u16, GPIO, InterruptFlag )#define H3800_ASIC2_GPIO_Data               H3800_ASIC2_OFFSET( u16, GPIO, Data )#define H3800_ASIC2_GPIO_BattFaultOut       H3800_ASIC2_OFFSET( u16, GPIO, BattFaultOut )#define H3800_ASIC2_GPIO_InterruptEnable    H3800_ASIC2_OFFSET( u16, GPIO, InterruptEnable )#define H3800_ASIC2_GPIO_Alternate          H3800_ASIC2_OFFSET( u16, GPIO, Alternate )#define GPIO_H3800_ASIC2_IN_Y1_N          (1 << 0)   /* Output: Touchscreen Y1 */#define GPIO_H3800_ASIC2_IN_X0            (1 << 1)   /* Output: Touchscreen X0 */#define GPIO_H3800_ASIC2_IN_Y0            (1 << 2)   /* Output: Touchscreen Y0 */#define GPIO_H3800_ASIC2_IN_X1_N          (1 << 3)   /* Output: Touchscreen X1 */#define GPIO_H3800_ASIC2_BT_RST           (1 << 4)   /* Output: Bluetooth reset */#define GPIO_H3800_ASIC2_PEN_IRQ          (1 << 5)   /* Input : Pen down        */#define GPIO_H3800_ASIC2_SD_DETECT        (1 << 6)   /* Input : SD detect */#define GPIO_H3800_ASIC2_EAR_IN_N         (1 << 7)   /* Input : Audio jack plug inserted */#define GPIO_H3800_ASIC2_OPT_PCM_RESET    (1 << 8)   /* Output: */#define GPIO_H3800_ASIC2_OPT_RESET        (1 << 9)   /* Output: */#define GPIO_H3800_ASIC2_USB_DETECT_N     (1 << 10)  /* Input : */#define GPIO_H3800_ASIC2_SD_CON_SLT       (1 << 11)  /* Input : */#define _H3800_ASIC2_KPIO_Base                 0x0200#define _H3800_ASIC2_KPIO_Direction            0x0000    /* R/W, 12 bits 1:input, 0:output */#define _H3800_ASIC2_KPIO_InterruptType        0x0004    /* R/W, 12 bits 1:edge, 0:level          */#define _H3800_ASIC2_KPIO_InterruptEdgeType    0x0008    /* R/W, 12 bits 1:rising, 0:falling */#define _H3800_ASIC2_KPIO_InterruptLevelType   0x000C    /* R/W, 12 bits 1:high, 0:low  */#define _H3800_ASIC2_KPIO_InterruptClear       0x0010    /* W,   20 bits - 8 special */#define _H3800_ASIC2_KPIO_InterruptFlag        0x0010    /* R,   20 bits - 8 special - reads int status */#define _H3800_ASIC2_KPIO_Data                 0x0014    /* R/W, 16 bits */#define _H3800_ASIC2_KPIO_BattFaultOut         0x0018    /* R/W, 16 bit - sets level on batt fault */#define _H3800_ASIC2_KPIO_InterruptEnable      0x001c    /* R/W, 20 bits - 8 special */#define _H3800_ASIC2_KPIO_Alternate            0x003c    /* R/W, 6 bits */#define H3800_ASIC2_KPIO_Direction          H3800_ASIC2_OFFSET( u16, KPIO, Direction )#define H3800_ASIC2_KPIO_InterruptType      H3800_ASIC2_OFFSET( u16, KPIO, InterruptType )#define H3800_ASIC2_KPIO_InterruptEdgeType  H3800_ASIC2_OFFSET( u16, KPIO, InterruptEdgeType )#define H3800_ASIC2_KPIO_InterruptLevelType H3800_ASIC2_OFFSET( u16, KPIO, InterruptLevelType )#define H3800_ASIC2_KPIO_InterruptClear     H3800_ASIC2_OFFSET( u32, KPIO, InterruptClear )#define H3800_ASIC2_KPIO_InterruptFlag      H3800_ASIC2_OFFSET( u32, KPIO, InterruptFlag )#define H3800_ASIC2_KPIO_Data               H3800_ASIC2_OFFSET( u16, KPIO, Data )#define H3800_ASIC2_KPIO_BattFaultOut       H3800_ASIC2_OFFSET( u16, KPIO, BattFaultOut )#define H3800_ASIC2_KPIO_InterruptEnable    H3800_ASIC2_OFFSET( u32, KPIO, InterruptEnable )#define H3800_ASIC2_KPIO_Alternate          H3800_ASIC2_OFFSET( u16, KPIO, Alternate )#define H3800_ASIC2_KPIO_SPI_INT        ( 1 << 16 )#define H3800_ASIC2_KPIO_OWM_INT        ( 1 << 17 )#define H3800_ASIC2_KPIO_ADC_INT        ( 1 << 18 )#define H3800_ASIC2_KPIO_UART_0_INT     ( 1 << 19 )#define H3800_ASIC2_KPIO_UART_1_INT     ( 1 << 20 )#define H3800_ASIC2_KPIO_TIMER_0_INT    ( 1 << 21 )#define H3800_ASIC2_KPIO_TIMER_1_INT    ( 1 << 22 )#define H3800_ASIC2_KPIO_TIMER_2_INT    ( 1 << 23 )#define KPIO_H3800_ASIC2_RECORD_BTN_N     (1 << 0)   /* Record button */#define KPIO_H3800_ASIC2_KEY_5W1_N        (1 << 1)   /* Keypad */#define KPIO_H3800_ASIC2_KEY_5W2_N        (1 << 2)   /* */#define KPIO_H3800_ASIC2_KEY_5W3_N        (1 << 3)   /* */#define KPIO_H3800_ASIC2_KEY_5W4_N        (1 << 4)   /* */#define KPIO_H3800_ASIC2_KEY_5W5_N        (1 << 5)   /* */#define KPIO_H3800_ASIC2_KEY_LEFT_N       (1 << 6)   /* */#define KPIO_H3800_ASIC2_KEY_RIGHT_N      (1 << 7)   /* */#define KPIO_H3800_ASIC2_KEY_AP1_N        (1 << 8)   /* Old "Calendar" */#define KPIO_H3800_ASIC2_KEY_AP2_N        (1 << 9)   /* Old "Schedule" */#define KPIO_H3800_ASIC2_KEY_AP3_N        (1 << 10)  /* Old "Q"        */#define KPIO_H3800_ASIC2_KEY_AP4_N        (1 << 11)  /* Old "Undo"     *//* Alternate KPIO functions (set by default) */#define KPIO_ALT_H3800_ASIC2_KEY_5W1_N        (1 << 1)   /* Action key */#define KPIO_ALT_H3800_ASIC2_KEY_5W2_N        (1 << 2)   /* J1 of keypad input */#define KPIO_ALT_H3800_ASIC2_KEY_5W3_N        (1 << 3)   /* J2 of keypad input */#define KPIO_ALT_H3800_ASIC2_KEY_5W4_N        (1 << 4)   /* J3 of keypad input */#define KPIO_ALT_H3800_ASIC2_KEY_5W5_N        (1 << 5)   /* J4 of keypad input */

⌨️ 快捷键说明

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