1/*
2 * linux/include/asm-arm/arch-pxa/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 *   linux/include/asm-arm/arch-sa1100/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_WAKEUP		(11)	/* change battery */
27#define POODLE_GPIO_GA_INT		(10)
28#define POODLE_GPIO_IR_ON		(22)
29#define POODLE_GPIO_HP_IN		(4)
30#define POODLE_GPIO_CF_IRQ		(17)
31#define POODLE_GPIO_CF_CD		(14)
32#define POODLE_GPIO_CF_STSCHG		(14)
33#define POODLE_GPIO_SD_PWR		(33)
34#define POODLE_GPIO_SD_PWR1		(3)
35#define POODLE_GPIO_nSD_CLK		(6)
36#define POODLE_GPIO_nSD_WP		(7)
37#define POODLE_GPIO_nSD_INT		(8)
38#define POODLE_GPIO_nSD_DETECT		(9)
39#define POODLE_GPIO_MAIN_BAT_LOW	(13)
40#define POODLE_GPIO_BAT_COVER		(13)
41#define POODLE_GPIO_USB_PULLUP		(20)
42#define POODLE_GPIO_ADC_TEMP_ON		(21)
43#define POODLE_GPIO_BYPASS_ON		(36)
44#define POODLE_GPIO_CHRG_ON		(38)
45#define POODLE_GPIO_CHRG_FULL		(16)
46#define POODLE_GPIO_DISCHARGE_ON        (42) /* Enable battery discharge */
47
48/* PXA GPIOs */
49#define POODLE_IRQ_GPIO_ON_KEY		IRQ_GPIO(0)
50#define POODLE_IRQ_GPIO_AC_IN		IRQ_GPIO(1)
51#define POODLE_IRQ_GPIO_HP_IN		IRQ_GPIO(4)
52#define POODLE_IRQ_GPIO_CO		IRQ_GPIO(16)
53#define POODLE_IRQ_GPIO_TP_INT		IRQ_GPIO(5)
54#define POODLE_IRQ_GPIO_WAKEUP		IRQ_GPIO(11)
55#define POODLE_IRQ_GPIO_GA_INT		IRQ_GPIO(10)
56#define POODLE_IRQ_GPIO_CF_IRQ		IRQ_GPIO(17)
57#define POODLE_IRQ_GPIO_CF_CD		IRQ_GPIO(14)
58#define POODLE_IRQ_GPIO_nSD_INT		IRQ_GPIO(8)
59#define POODLE_IRQ_GPIO_nSD_DETECT	IRQ_GPIO(9)
60#define POODLE_IRQ_GPIO_MAIN_BAT_LOW	IRQ_GPIO(13)
61
62/* SCOOP GPIOs */
63#define POODLE_SCOOP_CHARGE_ON	SCOOP_GPCR_PA11
64#define POODLE_SCOOP_CP401	SCOOP_GPCR_PA13
65#define POODLE_SCOOP_VPEN	SCOOP_GPCR_PA18
66#define POODLE_SCOOP_L_PCLK	SCOOP_GPCR_PA20
67#define POODLE_SCOOP_L_LCLK	SCOOP_GPCR_PA21
68#define POODLE_SCOOP_HS_OUT	SCOOP_GPCR_PA22
69
70#define POODLE_SCOOP_IO_DIR	( POODLE_SCOOP_VPEN | POODLE_SCOOP_HS_OUT )
71#define POODLE_SCOOP_IO_OUT	( 0 )
72
73extern struct platform_device poodle_locomo_device;
74
75#endif /* __ASM_ARCH_POODLE_H  */
76