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