[ARM] 3228/1: SharpSL: Move PM code to arch/arm/common
[linux-2.6.git] / arch / arm / mach-pxa / sharpsl.h
1 /*
2  * Copyright (c) 2004-2005 Richard Purdie
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  *
8  */
9
10
11 /*
12  * SharpSL SSP Driver
13  */
14 struct corgissp_machinfo {
15         int port;
16         int cs_lcdcon;
17         int cs_ads7846;
18         int cs_max1111;
19         int clk_lcdcon;
20         int clk_ads7846;
21         int clk_max1111;
22 };
23
24 void corgi_ssp_set_machinfo(struct corgissp_machinfo *machinfo);
25
26
27 /*
28  * SharpSL Backlight
29  */
30 void corgi_bl_set_intensity(int intensity);
31 void spitz_bl_set_intensity(int intensity);
32 void akita_bl_set_intensity(int intensity);
33
34
35 /*
36  * SharpSL Touchscreen Driver
37  */
38 unsigned long corgi_get_hsync_len(void);
39 unsigned long spitz_get_hsync_len(void);
40 void corgi_put_hsync(void);
41 void spitz_put_hsync(void);
42 void corgi_wait_hsync(void);
43 void spitz_wait_hsync(void);
44
45
46 /*
47  * SharpSL Battery/PM Driver
48  */
49
50 #define READ_GPIO_BIT(x)    (GPLR(x) & GPIO_bit(x))
51
52 /* MAX1111 Channel Definitions */
53 #define MAX1111_BATT_VOLT   4u
54 #define MAX1111_BATT_TEMP   2u
55 #define MAX1111_ACIN_VOLT   6u
56
57 extern struct battery_thresh spitz_battery_levels_acin[];
58 extern struct battery_thresh spitz_battery_levels_noac[];
59 void sharpsl_pm_pxa_init(void);
60 void sharpsl_pm_pxa_remove(void);
61 int sharpsl_pm_pxa_read_max1111(int channel);
62
63