GNU Linux-libre 4.19.264-gnu1
[releases.git] / arch / arm / mach-pxa / palmz72.h
1 /*
2  * GPIOs and interrupts for Palm Zire72 Handheld Computer
3  *
4  * Authors:     Alex Osborne <bobofdoom@gmail.com>
5  *              Jan Herman <2hp@seznam.cz>
6  *              Sergey Lapin <slapin@ossfans.org>
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11  *
12  */
13
14 #ifndef _INCLUDE_PALMZ72_H_
15 #define _INCLUDE_PALMZ72_H_
16
17 /* Power and control */
18 #define GPIO_NR_PALMZ72_GPIO_RESET              1
19 #define GPIO_NR_PALMZ72_POWER_DETECT            0
20
21 /* SD/MMC */
22 #define GPIO_NR_PALMZ72_SD_DETECT_N             14
23 #define GPIO_NR_PALMZ72_SD_POWER_N              98
24 #define GPIO_NR_PALMZ72_SD_RO                   115
25
26 /* Touchscreen */
27 #define GPIO_NR_PALMZ72_WM9712_IRQ              27
28
29 /* IRDA -  disable GPIO connected to SD pin of tranceiver (TFBS4710?) ? */
30 #define GPIO_NR_PALMZ72_IR_DISABLE              49
31
32 /* USB */
33 #define GPIO_NR_PALMZ72_USB_DETECT_N            15
34 #define GPIO_NR_PALMZ72_USB_PULLUP              95
35
36 /* LCD/Backlight */
37 #define GPIO_NR_PALMZ72_BL_POWER                20
38 #define GPIO_NR_PALMZ72_LCD_POWER               96
39
40 /* LED */
41 #define GPIO_NR_PALMZ72_LED_GREEN               88
42
43 /* Bluetooth */
44 #define GPIO_NR_PALMZ72_BT_POWER                17
45 #define GPIO_NR_PALMZ72_BT_RESET                83
46
47 /* Camera */
48 #define GPIO_NR_PALMZ72_CAM_PWDN                56
49 #define GPIO_NR_PALMZ72_CAM_RESET               57
50 #define GPIO_NR_PALMZ72_CAM_POWER               91
51
52 /** Initial values **/
53
54 /* Battery */
55 #define PALMZ72_BAT_MAX_VOLTAGE         4000    /* 4.00v current voltage */
56 #define PALMZ72_BAT_MIN_VOLTAGE         3550    /* 3.55v critical voltage */
57 #define PALMZ72_BAT_MAX_CURRENT         0       /* unknown */
58 #define PALMZ72_BAT_MIN_CURRENT         0       /* unknown */
59 #define PALMZ72_BAT_MAX_CHARGE          1       /* unknown */
60 #define PALMZ72_BAT_MIN_CHARGE          1       /* unknown */
61 #define PALMZ72_MAX_LIFE_MINS           360     /* on-life in minutes */
62
63 /* Backlight */
64 #define PALMZ72_MAX_INTENSITY           0xFE
65 #define PALMZ72_DEFAULT_INTENSITY       0x7E
66 #define PALMZ72_LIMIT_MASK              0x7F
67 #define PALMZ72_PRESCALER               0x3F
68 #define PALMZ72_PERIOD_NS               3500
69
70 #ifdef CONFIG_PM
71 struct palmz72_resume_info {
72         u32 magic0;             /* 0x0 */
73         u32 magic1;             /* 0x4 */
74         u32 resume_addr;        /* 0x8 */
75         u32 pad[11];            /* 0xc..0x37 */
76         u32 arm_control;        /* 0x38 */
77         u32 aux_control;        /* 0x3c */
78         u32 ttb;                /* 0x40 */
79         u32 domain_access;      /* 0x44 */
80         u32 process_id;         /* 0x48 */
81 };
82 #endif
83 #endif
84