tizen 2.4 release
[profile/mobile/platform/kernel/u-boot-tm1.git] / arch / arm / include / asm / arch-sc8810 / adc_drvapi.h
1 /******************************************************************************
2  ** File Name:      adc_drvapi.h                                                  *
3  ** Author:         hao.liu                                             *
4  ** DATE:           06/12/2010                                                *
5  ** Copyright:      2002 Spreatrum, Incoporated. All Rights Reserved.         *
6  ** Description:    This file defines the basic input and output operations   *
7  **                 on hardware, it can be treated as a hardware abstract     *
8  **                 layer interface.                                          *
9  ******************************************************************************
10
11  ******************************************************************************
12  **                        Edit History                                       *
13  ** ------------------------------------------------------------------------- *
14  ** DATE           NAME             DESCRIPTION                               * ** 06/12/2010     hao.liu    Create.                                   *
15  ******************************************************************************/
16
17 #ifndef _ADC_DRVAPI_H_
18 #define _ADC_DRVAPI_H_
19
20 #ifdef CONFIG_SC7710G2
21
22 #define ADC_SCALE_3V       0
23 #define ADC_SCALE_1V2   1
24
25 typedef enum adc_channel {
26         ADC_CHANNEL_0 = 0,
27         ADC_CHANNEL_1 = 1,
28         ADC_CHANNEL_2 = 2,
29         ADC_CHANNEL_3 = 3,
30         ADC_CHANNEL_PROG = 4,
31         ADC_CHANNEL_VBAT = 5,
32         ADC_CHANNEL_VCHGSEN = 6,
33         ADC_CHANNEL_VCHGBG = 7,
34         ADC_CHANNEL_ISENSE = 8,
35         ADC_CHANNEL_TPYD = 9,
36         ADC_CHANNEL_TPYU = 10,
37         ADC_CHANNEL_TPXR = 11,
38         ADC_CHANNEL_TPXL = 12,
39         ADC_CHANNEL_DCDCCORE = 13,
40         ADC_CHANNEL_DCDCARM = 14,
41         ADC_CHANNEL_DCDCMEM = 15,
42         ADC_CHANNEL_DCDCLDO = 16,
43         ADC_CHANNEL_VBATBK = 17,
44         ADC_CHANNEL_HEADMIC = 18,
45         ADC_CHANNEL_LDO0 = 19,  /* ldo rf/abb/cama */
46         ADC_CHANNEL_LDO1 = 20,  /* ldo v3v/v28/vsim0/vsim1/cammot/sd0/usb/dvdd18/v25 */
47         ADC_CHANNEL_LDO2 = 21,  /* ldo camio/camcore/cmmb1v2/cmmb1v8/v18/sd1/sd3/ */
48     ADC_CHANNEL_4 = 22,
49     ADC_CHANNEL_WHTLED = 23,
50     ADC_MAX,
51 }adc_channel;
52 typedef enum{false, true} bool;
53
54 #else
55 #define ADC_SCALE_3V       0
56 #define ADC_SCALE_1V2   1
57
58 typedef enum
59 {
60     ADIN_0 = 0,
61     ADIN_1,
62     ADIN_2,
63     ADIN_3,
64     ADIN_4,
65     ADIN_5,
66     ADIN_6,
67     ADIN_7,
68     ADIN_8,
69     ADIN_9,
70     ADIN_10,
71     ADIN_11,
72     ADIN_12,
73     ADIN_13,
74     ADIN_14,
75     ADIN_15,
76     ADC_MAX
77 } adc_channel;
78 typedef enum{false, true} bool;
79
80 #ifdef CONFIG_MACH_SP6810A
81 #define ADC_CHANNEL_TEMP 0
82 #else
83 #define ADC_CHANNEL_TEMP 1
84 #endif
85 #define ADC_CHANNEL_VBAT 5
86 #define ADC_CHANNEL_PROG 4
87 #define ADC_CHANNEL_VCHG 6
88
89 #endif
90
91 #ifdef __cplusplus
92 extern   "C"
93 {
94 #endif
95
96 void ADC_Init (void);
97 int32_t ADC_GetValue(adc_channel adcSource, bool scale);
98
99 #ifdef __cplusplus
100 }
101 #endif
102
103 #endif  // _ADC_DRVAPI_H_
104