blob: b56b19351a0389d2cd8ac7d76f027b2bcf1b39ba [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
Linus Walleij9705e742014-02-04 13:53:07 +010018#include "irqs.h" /* PXA_GPIO_TO_IRQ */
19
Russell Kinga09e64f2008-08-05 16:14:15 +010020/*
21 * GPIOs
22 */
23/* PXA GPIOs */
24#define POODLE_GPIO_ON_KEY (0)
25#define POODLE_GPIO_AC_IN (1)
26#define POODLE_GPIO_CO 16
27#define POODLE_GPIO_TP_INT (5)
Eric Miao9ee40d92008-08-24 05:32:15 -040028#define POODLE_GPIO_TP_CS (24)
Russell Kinga09e64f2008-08-05 16:14:15 +010029#define POODLE_GPIO_WAKEUP (11) /* change battery */
30#define POODLE_GPIO_GA_INT (10)
31#define POODLE_GPIO_IR_ON (22)
32#define POODLE_GPIO_HP_IN (4)
33#define POODLE_GPIO_CF_IRQ (17)
34#define POODLE_GPIO_CF_CD (14)
35#define POODLE_GPIO_CF_STSCHG (14)
36#define POODLE_GPIO_SD_PWR (33)
37#define POODLE_GPIO_SD_PWR1 (3)
38#define POODLE_GPIO_nSD_CLK (6)
39#define POODLE_GPIO_nSD_WP (7)
40#define POODLE_GPIO_nSD_INT (8)
41#define POODLE_GPIO_nSD_DETECT (9)
42#define POODLE_GPIO_MAIN_BAT_LOW (13)
43#define POODLE_GPIO_BAT_COVER (13)
44#define POODLE_GPIO_USB_PULLUP (20)
45#define POODLE_GPIO_ADC_TEMP_ON (21)
46#define POODLE_GPIO_BYPASS_ON (36)
47#define POODLE_GPIO_CHRG_ON (38)
48#define POODLE_GPIO_CHRG_FULL (16)
49#define POODLE_GPIO_DISCHARGE_ON (42) /* Enable battery discharge */
50
51/* PXA GPIOs */
Haojian Zhuang6384fda2011-10-10 14:21:08 +080052#define POODLE_IRQ_GPIO_ON_KEY PXA_GPIO_TO_IRQ(0)
53#define POODLE_IRQ_GPIO_AC_IN PXA_GPIO_TO_IRQ(1)
54#define POODLE_IRQ_GPIO_HP_IN PXA_GPIO_TO_IRQ(4)
55#define POODLE_IRQ_GPIO_CO PXA_GPIO_TO_IRQ(16)
56#define POODLE_IRQ_GPIO_TP_INT PXA_GPIO_TO_IRQ(5)
57#define POODLE_IRQ_GPIO_WAKEUP PXA_GPIO_TO_IRQ(11)
58#define POODLE_IRQ_GPIO_GA_INT PXA_GPIO_TO_IRQ(10)
59#define POODLE_IRQ_GPIO_CF_IRQ PXA_GPIO_TO_IRQ(17)
60#define POODLE_IRQ_GPIO_CF_CD PXA_GPIO_TO_IRQ(14)
61#define POODLE_IRQ_GPIO_nSD_INT PXA_GPIO_TO_IRQ(8)
62#define POODLE_IRQ_GPIO_nSD_DETECT PXA_GPIO_TO_IRQ(9)
63#define POODLE_IRQ_GPIO_MAIN_BAT_LOW PXA_GPIO_TO_IRQ(13)
Russell Kinga09e64f2008-08-05 16:14:15 +010064
65/* SCOOP GPIOs */
66#define POODLE_SCOOP_CHARGE_ON SCOOP_GPCR_PA11
67#define POODLE_SCOOP_CP401 SCOOP_GPCR_PA13
68#define POODLE_SCOOP_VPEN SCOOP_GPCR_PA18
69#define POODLE_SCOOP_L_PCLK SCOOP_GPCR_PA20
70#define POODLE_SCOOP_L_LCLK SCOOP_GPCR_PA21
71#define POODLE_SCOOP_HS_OUT SCOOP_GPCR_PA22
72
73#define POODLE_SCOOP_IO_DIR ( POODLE_SCOOP_VPEN | POODLE_SCOOP_HS_OUT )
74#define POODLE_SCOOP_IO_OUT ( 0 )
75
Haojian Zhuang1a8d5fa2011-11-08 14:15:59 +080076#define POODLE_SCOOP_GPIO_BASE (PXA_NR_BUILTIN_GPIO)
Eric Miao2d91f942008-09-05 16:21:48 +080077#define POODLE_GPIO_CHARGE_ON (POODLE_SCOOP_GPIO_BASE + 0)
78#define POODLE_GPIO_CP401 (POODLE_SCOOP_GPIO_BASE + 2)
79#define POODLE_GPIO_VPEN (POODLE_SCOOP_GPIO_BASE + 7)
80#define POODLE_GPIO_L_PCLK (POODLE_SCOOP_GPIO_BASE + 9)
81#define POODLE_GPIO_L_LCLK (POODLE_SCOOP_GPIO_BASE + 10)
82#define POODLE_GPIO_HS_OUT (POODLE_SCOOP_GPIO_BASE + 11)
83
Dmitry Baryshkovf64c0ac2008-08-08 23:14:58 +010084#define POODLE_LOCOMO_GPIO_AMP_ON LOCOMO_GPIO(8)
85#define POODLE_LOCOMO_GPIO_MUTE_L LOCOMO_GPIO(10)
86#define POODLE_LOCOMO_GPIO_MUTE_R LOCOMO_GPIO(11)
87#define POODLE_LOCOMO_GPIO_232VCC_ON LOCOMO_GPIO(12)
88#define POODLE_LOCOMO_GPIO_JK_B LOCOMO_GPIO(13)
89
Haojian Zhuang6ac6b812010-08-20 15:23:59 +080090#define POODLE_NR_IRQS (IRQ_BOARD_START + 4) /* 4 for LoCoMo */
91
Russell Kinga09e64f2008-08-05 16:14:15 +010092extern struct platform_device poodle_locomo_device;
93
94#endif /* __ASM_ARCH_POODLE_H */