xref: /OK3568_Linux_fs/kernel/arch/arm/mach-pxa/include/mach/poodle.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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