?? h3600_gpio.h
字號(hào):
/* * * 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 */
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -