GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm / mach-pxa / palmtc.h
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