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