1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * arch/arm/mach-pxa/include/mach/poodle.h 3*4882a593Smuzhiyun * 4*4882a593Smuzhiyun * May be copied or modified under the terms of the GNU General Public 5*4882a593Smuzhiyun * License. See linux/COPYING for more information. 6*4882a593Smuzhiyun * 7*4882a593Smuzhiyun * Based on: 8*4882a593Smuzhiyun * arch/arm/mach-sa1100/include/mach/collie.h 9*4882a593Smuzhiyun * 10*4882a593Smuzhiyun * ChangeLog: 11*4882a593Smuzhiyun * 04-06-2001 Lineo Japan, Inc. 12*4882a593Smuzhiyun * 04-16-2001 SHARP Corporation 13*4882a593Smuzhiyun * Update to 2.6 John Lenz 14*4882a593Smuzhiyun */ 15*4882a593Smuzhiyun #ifndef __ASM_ARCH_POODLE_H 16*4882a593Smuzhiyun #define __ASM_ARCH_POODLE_H 1 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun #include "irqs.h" /* PXA_GPIO_TO_IRQ */ 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun /* 21*4882a593Smuzhiyun * GPIOs 22*4882a593Smuzhiyun */ 23*4882a593Smuzhiyun /* PXA GPIOs */ 24*4882a593Smuzhiyun #define POODLE_GPIO_ON_KEY (0) 25*4882a593Smuzhiyun #define POODLE_GPIO_AC_IN (1) 26*4882a593Smuzhiyun #define POODLE_GPIO_CO 16 27*4882a593Smuzhiyun #define POODLE_GPIO_TP_INT (5) 28*4882a593Smuzhiyun #define POODLE_GPIO_TP_CS (24) 29*4882a593Smuzhiyun #define POODLE_GPIO_WAKEUP (11) /* change battery */ 30*4882a593Smuzhiyun #define POODLE_GPIO_GA_INT (10) 31*4882a593Smuzhiyun #define POODLE_GPIO_IR_ON (22) 32*4882a593Smuzhiyun #define POODLE_GPIO_HP_IN (4) 33*4882a593Smuzhiyun #define POODLE_GPIO_CF_IRQ (17) 34*4882a593Smuzhiyun #define POODLE_GPIO_CF_CD (14) 35*4882a593Smuzhiyun #define POODLE_GPIO_CF_STSCHG (14) 36*4882a593Smuzhiyun #define POODLE_GPIO_SD_PWR (33) 37*4882a593Smuzhiyun #define POODLE_GPIO_SD_PWR1 (3) 38*4882a593Smuzhiyun #define POODLE_GPIO_nSD_CLK (6) 39*4882a593Smuzhiyun #define POODLE_GPIO_nSD_WP (7) 40*4882a593Smuzhiyun #define POODLE_GPIO_nSD_INT (8) 41*4882a593Smuzhiyun #define POODLE_GPIO_nSD_DETECT (9) 42*4882a593Smuzhiyun #define POODLE_GPIO_MAIN_BAT_LOW (13) 43*4882a593Smuzhiyun #define POODLE_GPIO_BAT_COVER (13) 44*4882a593Smuzhiyun #define POODLE_GPIO_USB_PULLUP (20) 45*4882a593Smuzhiyun #define POODLE_GPIO_ADC_TEMP_ON (21) 46*4882a593Smuzhiyun #define POODLE_GPIO_BYPASS_ON (36) 47*4882a593Smuzhiyun #define POODLE_GPIO_CHRG_ON (38) 48*4882a593Smuzhiyun #define POODLE_GPIO_CHRG_FULL (16) 49*4882a593Smuzhiyun #define POODLE_GPIO_DISCHARGE_ON (42) /* Enable battery discharge */ 50*4882a593Smuzhiyun 51*4882a593Smuzhiyun /* PXA GPIOs */ 52*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_ON_KEY PXA_GPIO_TO_IRQ(0) 53*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_AC_IN PXA_GPIO_TO_IRQ(1) 54*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_HP_IN PXA_GPIO_TO_IRQ(4) 55*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_CO PXA_GPIO_TO_IRQ(16) 56*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_TP_INT PXA_GPIO_TO_IRQ(5) 57*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_WAKEUP PXA_GPIO_TO_IRQ(11) 58*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_GA_INT PXA_GPIO_TO_IRQ(10) 59*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_CF_IRQ PXA_GPIO_TO_IRQ(17) 60*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_CF_CD PXA_GPIO_TO_IRQ(14) 61*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_nSD_INT PXA_GPIO_TO_IRQ(8) 62*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_nSD_DETECT PXA_GPIO_TO_IRQ(9) 63*4882a593Smuzhiyun #define POODLE_IRQ_GPIO_MAIN_BAT_LOW PXA_GPIO_TO_IRQ(13) 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun /* SCOOP GPIOs */ 66*4882a593Smuzhiyun #define POODLE_SCOOP_CHARGE_ON SCOOP_GPCR_PA11 67*4882a593Smuzhiyun #define POODLE_SCOOP_CP401 SCOOP_GPCR_PA13 68*4882a593Smuzhiyun #define POODLE_SCOOP_VPEN SCOOP_GPCR_PA18 69*4882a593Smuzhiyun #define POODLE_SCOOP_L_PCLK SCOOP_GPCR_PA20 70*4882a593Smuzhiyun #define POODLE_SCOOP_L_LCLK SCOOP_GPCR_PA21 71*4882a593Smuzhiyun #define POODLE_SCOOP_HS_OUT SCOOP_GPCR_PA22 72*4882a593Smuzhiyun 73*4882a593Smuzhiyun #define POODLE_SCOOP_IO_DIR ( POODLE_SCOOP_VPEN | POODLE_SCOOP_HS_OUT ) 74*4882a593Smuzhiyun #define POODLE_SCOOP_IO_OUT ( 0 ) 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun #define POODLE_SCOOP_GPIO_BASE (PXA_NR_BUILTIN_GPIO) 77*4882a593Smuzhiyun #define POODLE_GPIO_CHARGE_ON (POODLE_SCOOP_GPIO_BASE + 0) 78*4882a593Smuzhiyun #define POODLE_GPIO_CP401 (POODLE_SCOOP_GPIO_BASE + 2) 79*4882a593Smuzhiyun #define POODLE_GPIO_VPEN (POODLE_SCOOP_GPIO_BASE + 7) 80*4882a593Smuzhiyun #define POODLE_GPIO_L_PCLK (POODLE_SCOOP_GPIO_BASE + 9) 81*4882a593Smuzhiyun #define POODLE_GPIO_L_LCLK (POODLE_SCOOP_GPIO_BASE + 10) 82*4882a593Smuzhiyun #define POODLE_GPIO_HS_OUT (POODLE_SCOOP_GPIO_BASE + 11) 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun #define POODLE_LOCOMO_GPIO_AMP_ON LOCOMO_GPIO(8) 85*4882a593Smuzhiyun #define POODLE_LOCOMO_GPIO_MUTE_L LOCOMO_GPIO(10) 86*4882a593Smuzhiyun #define POODLE_LOCOMO_GPIO_MUTE_R LOCOMO_GPIO(11) 87*4882a593Smuzhiyun #define POODLE_LOCOMO_GPIO_232VCC_ON LOCOMO_GPIO(12) 88*4882a593Smuzhiyun #define POODLE_LOCOMO_GPIO_JK_B LOCOMO_GPIO(13) 89*4882a593Smuzhiyun 90*4882a593Smuzhiyun #define POODLE_NR_IRQS (IRQ_BOARD_START + 4) /* 4 for LoCoMo */ 91*4882a593Smuzhiyun 92*4882a593Smuzhiyun extern struct platform_device poodle_locomo_device; 93*4882a593Smuzhiyun 94*4882a593Smuzhiyun #endif /* __ASM_ARCH_POODLE_H */ 95