1 /* SPDX-License-Identifier: GPL-2.0-only */
2 /*
3  * linux/include/asm-arm/arch-pxa/palmtc-gpio.h
4  *
5  * GPIOs and interrupts for Palm Tungsten|C Handheld Computer
6  *
7  * Authors:	Alex Osborne <bobofdoom@gmail.com>
8  *		Marek Vasut <marek.vasut@gmail.com>
9  *		Holger Bocklet <bitz.email@gmx.net>
10  */
11 
12 #ifndef _INCLUDE_PALMTC_H_
13 #define _INCLUDE_PALMTC_H_
14 
15 #include "irqs.h" /* PXA_GPIO_TO_IRQ */
16 
17 /** HERE ARE GPIOs **/
18 
19 /* GPIOs */
20 #define GPIO_NR_PALMTC_EARPHONE_DETECT	2
21 #define GPIO_NR_PALMTC_CRADLE_DETECT	5
22 #define GPIO_NR_PALMTC_HOTSYNC_BUTTON	7
23 
24 /* SD/MMC */
25 #define GPIO_NR_PALMTC_SD_DETECT_N	12
26 #define GPIO_NR_PALMTC_SD_POWER		32
27 #define GPIO_NR_PALMTC_SD_READONLY	54
28 
29 /* WLAN */
30 #define GPIO_NR_PALMTC_PCMCIA_READY	13
31 #define GPIO_NR_PALMTC_PCMCIA_PWRREADY	14
32 #define GPIO_NR_PALMTC_PCMCIA_POWER1	15
33 #define GPIO_NR_PALMTC_PCMCIA_POWER2	33
34 #define GPIO_NR_PALMTC_PCMCIA_POWER3	55
35 #define GPIO_NR_PALMTC_PCMCIA_RESET	78
36 
37 /* UDC */
38 #define GPIO_NR_PALMTC_USB_DETECT_N	4
39 #define GPIO_NR_PALMTC_USB_POWER	36
40 
41 /* LCD/BACKLIGHT */
42 #define GPIO_NR_PALMTC_BL_POWER		16
43 #define GPIO_NR_PALMTC_LCD_POWER	44
44 #define GPIO_NR_PALMTC_LCD_BLANK	38
45 
46 /* UART */
47 #define GPIO_NR_PALMTC_RS232_POWER	37
48 
49 /* IRDA */
50 #define GPIO_NR_PALMTC_IR_DISABLE	45
51 
52 /* IRQs */
53 #define IRQ_GPIO_PALMTC_SD_DETECT_N	PXA_GPIO_TO_IRQ(GPIO_NR_PALMTC_SD_DETECT_N)
54 #define IRQ_GPIO_PALMTC_WLAN_READY	PXA_GPIO_TO_IRQ(GPIO_NR_PALMTC_WLAN_READY)
55 
56 /* UCB1400 GPIOs */
57 #define GPIO_NR_PALMTC_POWER_DETECT	(0x80 | 0x00)
58 #define GPIO_NR_PALMTC_HEADPHONE_DETECT	(0x80 | 0x01)
59 #define GPIO_NR_PALMTC_SPEAKER_ENABLE	(0x80 | 0x03)
60 #define GPIO_NR_PALMTC_VIBRA_POWER	(0x80 | 0x05)
61 #define GPIO_NR_PALMTC_LED_POWER	(0x80 | 0x07)
62 
63 /** HERE ARE INIT VALUES **/
64 #define PALMTC_UCB1400_GPIO_OFFSET	0x80
65 
66 /* BATTERY */
67 #define PALMTC_BAT_MAX_VOLTAGE		4000	/* 4.00V maximum voltage */
68 #define PALMTC_BAT_MIN_VOLTAGE		3550	/* 3.55V critical voltage */
69 #define PALMTC_BAT_MAX_CURRENT		0	/* unknown */
70 #define PALMTC_BAT_MIN_CURRENT		0	/* unknown */
71 #define PALMTC_BAT_MAX_CHARGE		1	/* unknown */
72 #define PALMTC_BAT_MIN_CHARGE		1	/* unknown */
73 #define PALMTC_MAX_LIFE_MINS		240	/* on-life in minutes */
74 
75 #define PALMTC_BAT_MEASURE_DELAY	(HZ * 1)
76 
77 /* BACKLIGHT */
78 #define PALMTC_MAX_INTENSITY		0xFE
79 #define PALMTC_DEFAULT_INTENSITY	0x7E
80 #define PALMTC_LIMIT_MASK		0x7F
81 #define PALMTC_PRESCALER		0x3F
82 #define PALMTC_PERIOD_NS		3500
83 
84 #endif
85