blob: 83d1cfd00fc9f7d05e75c4a0c94383c479407179 [file] [log] [blame]
Russell Kinga09e64f2008-08-05 16:14:15 +01001/*
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)
Eric Miao9ee40d92008-08-24 05:32:15 -040026#define POODLE_GPIO_TP_CS (24)
Russell Kinga09e64f2008-08-05 16:14:15 +010027#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 IRQ_GPIO(0)
51#define POODLE_IRQ_GPIO_AC_IN IRQ_GPIO(1)
52#define POODLE_IRQ_GPIO_HP_IN IRQ_GPIO(4)
53#define POODLE_IRQ_GPIO_CO IRQ_GPIO(16)
54#define POODLE_IRQ_GPIO_TP_INT IRQ_GPIO(5)
55#define POODLE_IRQ_GPIO_WAKEUP IRQ_GPIO(11)
56#define POODLE_IRQ_GPIO_GA_INT IRQ_GPIO(10)
57#define POODLE_IRQ_GPIO_CF_IRQ IRQ_GPIO(17)
58#define POODLE_IRQ_GPIO_CF_CD IRQ_GPIO(14)
59#define POODLE_IRQ_GPIO_nSD_INT IRQ_GPIO(8)
60#define POODLE_IRQ_GPIO_nSD_DETECT IRQ_GPIO(9)
61#define POODLE_IRQ_GPIO_MAIN_BAT_LOW IRQ_GPIO(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
Eric Miao2d91f942008-09-05 16:21:48 +080074#define POODLE_SCOOP_GPIO_BASE (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
Dmitry Baryshkovf64c0ac2008-08-08 23:14:58 +010082#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
Haojian Zhuang6ac6b812010-08-20 15:23:59 +080088#define POODLE_NR_IRQS (IRQ_BOARD_START + 4) /* 4 for LoCoMo */
89
Russell Kinga09e64f2008-08-05 16:14:15 +010090extern struct platform_device poodle_locomo_device;
91
92#endif /* __ASM_ARCH_POODLE_H */