xref: /OK3568_Linux_fs/kernel/arch/arm/mach-pxa/include/mach/palmld.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * GPIOs and interrupts for Palm LifeDrive Handheld Computer
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Authors:	Alex Osborne <ato@meshy.org>
6*4882a593Smuzhiyun  *		Marek Vasut <marek.vasut@gmail.com>
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun #ifndef _INCLUDE_PALMLD_H_
10*4882a593Smuzhiyun #define _INCLUDE_PALMLD_H_
11*4882a593Smuzhiyun 
12*4882a593Smuzhiyun #include "irqs.h" /* PXA_GPIO_TO_IRQ */
13*4882a593Smuzhiyun 
14*4882a593Smuzhiyun /** HERE ARE GPIOs **/
15*4882a593Smuzhiyun 
16*4882a593Smuzhiyun /* GPIOs */
17*4882a593Smuzhiyun #define GPIO_NR_PALMLD_GPIO_RESET	1
18*4882a593Smuzhiyun #define GPIO_NR_PALMLD_POWER_DETECT	4
19*4882a593Smuzhiyun #define GPIO_NR_PALMLD_HOTSYNC_BUTTON_N	10
20*4882a593Smuzhiyun #define GPIO_NR_PALMLD_POWER_SWITCH	12
21*4882a593Smuzhiyun #define GPIO_NR_PALMLD_EARPHONE_DETECT 	13
22*4882a593Smuzhiyun #define GPIO_NR_PALMLD_LOCK_SWITCH	15
23*4882a593Smuzhiyun 
24*4882a593Smuzhiyun /* SD/MMC */
25*4882a593Smuzhiyun #define GPIO_NR_PALMLD_SD_DETECT_N	14
26*4882a593Smuzhiyun #define GPIO_NR_PALMLD_SD_POWER		114
27*4882a593Smuzhiyun #define GPIO_NR_PALMLD_SD_READONLY	116
28*4882a593Smuzhiyun 
29*4882a593Smuzhiyun /* TOUCHSCREEN */
30*4882a593Smuzhiyun #define GPIO_NR_PALMLD_WM9712_IRQ	27
31*4882a593Smuzhiyun 
32*4882a593Smuzhiyun /* IRDA */
33*4882a593Smuzhiyun #define GPIO_NR_PALMLD_IR_DISABLE	108
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun /* LCD/BACKLIGHT */
36*4882a593Smuzhiyun #define GPIO_NR_PALMLD_BL_POWER		19
37*4882a593Smuzhiyun #define GPIO_NR_PALMLD_LCD_POWER	96
38*4882a593Smuzhiyun 
39*4882a593Smuzhiyun /* LCD BORDER */
40*4882a593Smuzhiyun #define GPIO_NR_PALMLD_BORDER_SWITCH	21
41*4882a593Smuzhiyun #define GPIO_NR_PALMLD_BORDER_SELECT	22
42*4882a593Smuzhiyun 
43*4882a593Smuzhiyun /* BLUETOOTH */
44*4882a593Smuzhiyun #define GPIO_NR_PALMLD_BT_POWER		17
45*4882a593Smuzhiyun #define GPIO_NR_PALMLD_BT_RESET		83
46*4882a593Smuzhiyun 
47*4882a593Smuzhiyun /* PCMCIA (WiFi) */
48*4882a593Smuzhiyun #define GPIO_NR_PALMLD_PCMCIA_READY	38
49*4882a593Smuzhiyun #define GPIO_NR_PALMLD_PCMCIA_POWER	36
50*4882a593Smuzhiyun #define GPIO_NR_PALMLD_PCMCIA_RESET	81
51*4882a593Smuzhiyun 
52*4882a593Smuzhiyun /* LEDs */
53*4882a593Smuzhiyun #define GPIO_NR_PALMLD_LED_GREEN	52
54*4882a593Smuzhiyun #define GPIO_NR_PALMLD_LED_AMBER	94
55*4882a593Smuzhiyun 
56*4882a593Smuzhiyun /* IDE */
57*4882a593Smuzhiyun #define GPIO_NR_PALMLD_IDE_RESET	98
58*4882a593Smuzhiyun #define GPIO_NR_PALMLD_IDE_PWEN		115
59*4882a593Smuzhiyun 
60*4882a593Smuzhiyun /* USB */
61*4882a593Smuzhiyun #define GPIO_NR_PALMLD_USB_DETECT_N	3
62*4882a593Smuzhiyun #define GPIO_NR_PALMLD_USB_READY	86
63*4882a593Smuzhiyun #define GPIO_NR_PALMLD_USB_RESET	88
64*4882a593Smuzhiyun #define GPIO_NR_PALMLD_USB_INT		106
65*4882a593Smuzhiyun #define GPIO_NR_PALMLD_USB_POWER	118
66*4882a593Smuzhiyun /* 20, 53 and 86 are usb related too */
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun /* INTERRUPTS */
69*4882a593Smuzhiyun #define IRQ_GPIO_PALMLD_GPIO_RESET	PXA_GPIO_TO_IRQ(GPIO_NR_PALMLD_GPIO_RESET)
70*4882a593Smuzhiyun #define IRQ_GPIO_PALMLD_SD_DETECT_N	PXA_GPIO_TO_IRQ(GPIO_NR_PALMLD_SD_DETECT_N)
71*4882a593Smuzhiyun #define IRQ_GPIO_PALMLD_WM9712_IRQ	PXA_GPIO_TO_IRQ(GPIO_NR_PALMLD_WM9712_IRQ)
72*4882a593Smuzhiyun #define IRQ_GPIO_PALMLD_IDE_IRQ		PXA_GPIO_TO_IRQ(GPIO_NR_PALMLD_IDE_IRQ)
73*4882a593Smuzhiyun 
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun /** HERE ARE INIT VALUES **/
76*4882a593Smuzhiyun 
77*4882a593Smuzhiyun /* IO mappings */
78*4882a593Smuzhiyun #define PALMLD_USB_PHYS		PXA_CS2_PHYS
79*4882a593Smuzhiyun #define PALMLD_USB_VIRT		0xf0000000
80*4882a593Smuzhiyun #define PALMLD_USB_SIZE		0x00100000
81*4882a593Smuzhiyun 
82*4882a593Smuzhiyun #define PALMLD_IDE_PHYS		0x20000000
83*4882a593Smuzhiyun #define PALMLD_IDE_VIRT		0xf1000000
84*4882a593Smuzhiyun #define PALMLD_IDE_SIZE		0x00100000
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun #define PALMLD_PHYS_IO_START	0x40000000
87*4882a593Smuzhiyun #define PALMLD_STR_BASE		0xa0200000
88*4882a593Smuzhiyun 
89*4882a593Smuzhiyun /* BATTERY */
90*4882a593Smuzhiyun #define PALMLD_BAT_MAX_VOLTAGE		4000	/* 4.00V maximum voltage */
91*4882a593Smuzhiyun #define PALMLD_BAT_MIN_VOLTAGE		3550	/* 3.55V critical voltage */
92*4882a593Smuzhiyun #define PALMLD_BAT_MAX_CURRENT		0	/* unknown */
93*4882a593Smuzhiyun #define PALMLD_BAT_MIN_CURRENT		0	/* unknown */
94*4882a593Smuzhiyun #define PALMLD_BAT_MAX_CHARGE		1	/* unknown */
95*4882a593Smuzhiyun #define PALMLD_BAT_MIN_CHARGE		1	/* unknown */
96*4882a593Smuzhiyun #define PALMLD_MAX_LIFE_MINS		240	/* on-life in minutes */
97*4882a593Smuzhiyun 
98*4882a593Smuzhiyun #define PALMLD_BAT_MEASURE_DELAY	(HZ * 1)
99*4882a593Smuzhiyun 
100*4882a593Smuzhiyun /* BACKLIGHT */
101*4882a593Smuzhiyun #define PALMLD_MAX_INTENSITY		0xFE
102*4882a593Smuzhiyun #define PALMLD_DEFAULT_INTENSITY	0x7E
103*4882a593Smuzhiyun #define PALMLD_LIMIT_MASK		0x7F
104*4882a593Smuzhiyun #define PALMLD_PRESCALER		0x3F
105*4882a593Smuzhiyun #define PALMLD_PERIOD_NS		3500
106*4882a593Smuzhiyun 
107*4882a593Smuzhiyun #endif
108