import PULS_20180308
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / arm / mach-mt8127 / ttab / power / cust_battery_meter.h
1 #ifndef _CUST_BATTERY_METER_H
2 #define _CUST_BATTERY_METER_H
3
4 #include <mach/mt_typedefs.h>
5
6 // ============================================================
7 // define
8 // ============================================================
9 //#define SOC_BY_AUXADC
10 #ifdef CONFIG_MTK_PMIC_MT6397
11 #define SOC_BY_HW_FG //fg auxadc
12 #else
13 #define SOC_BY_SW_FG //oam
14 #endif
15
16 #define CUST_CAPACITY_OCV2CV_TRANSFORM
17 //#define CONFIG_DIS_CHECK_BATTERY
18 //#define FIXED_TBAT_25
19
20 #if defined(CONFIG_MTK_BQ24296_SUPPORT) \
21 || defined(CONFIG_MTK_BQ24196_SUPPORT)
22 #define BAT_VOL_USE_ISENSE
23 #define SWCHR_POWER_PATH
24 #endif
25
26 #if defined(CONFIG_MTK_FAN5402_SUPPORT) \
27 || defined(CONFIG_MTK_FAN5405_SUPPORT) \
28 || defined(CONFIG_MTK_BQ24158_SUPPORT) \
29 || defined(CONFIG_MTK_BQ24196_SUPPORT) \
30 || defined(CONFIG_MTK_BQ24296_SUPPORT) \
31 || defined(CONFIG_MTK_NCP1851_SUPPORT) \
32 || defined(CONFIG_MTK_NCP1854_SUPPORT) \
33 || defined(CONFIG_MTK_BQ24160_SUPPORT) \
34 || defined(CONFIG_MTK_BQ24157_SUPPORT) \
35 || defined(CONFIG_MTK_BQ24250_SUPPORT) \
36 || defined(CONFIG_MTK_BQ24261_SUPPORT)
37 #define EXTERNAL_SWCHR_SUPPORT
38 #endif
39
40 /* ADC Channel Number */
41 #ifdef CONFIG_MTK_PMIC_MT6397
42 #define CUST_TABT_NUMBER 8
43 #ifdef BAT_VOL_USE_ISENSE
44 #define VBAT_CHANNEL_NUMBER 1 // w/ powerpath, battery voltage is ISENSE(1)
45 #define ISENSE_CHANNEL_NUMBER 0 // w/ powerpath, system voltage is VSENSE(0)
46 #else
47 #define VBAT_CHANNEL_NUMBER 0
48 #define ISENSE_CHANNEL_NUMBER 1
49 #endif
50 #define VCHARGER_CHANNEL_NUMBER 2
51 #define VBATTEMP_CHANNEL_NUMBER 3
52
53 #else //6323
54
55 #define CUST_TABT_NUMBER 17
56 #ifdef BAT_VOL_USE_ISENSE
57 #define VBAT_CHANNEL_NUMBER 6 // w/ powerpath, battery voltage is ISENSE(1)
58 #define ISENSE_CHANNEL_NUMBER 7 // w/ powerpath, system voltage is VSENSE(0)
59 #else
60 #define VBAT_CHANNEL_NUMBER 7
61 #define ISENSE_CHANNEL_NUMBER 6
62 #endif
63 #define VCHARGER_CHANNEL_NUMBER 4
64 #define VBATTEMP_CHANNEL_NUMBER 5
65
66 #endif
67
68 /* ADC resistor */
69 #define R_BAT_SENSE 4
70 #define R_I_SENSE 4
71 #define R_CHARGER_1 330
72 #define R_CHARGER_2 39
73
74 #define TEMPERATURE_T0 110
75 #define TEMPERATURE_T1 0
76 #define TEMPERATURE_T2 25
77 #define TEMPERATURE_T3 50
78 #define TEMPERATURE_T 255 // This should be fixed, never change the value
79
80 #define FG_METER_RESISTANCE 0
81
82 /* Qmax for battery */
83 #define Q_MAX_POS_50 4060
84 #define Q_MAX_POS_25 4060
85 #define Q_MAX_POS_0 3400
86 #define Q_MAX_NEG_10 2950
87
88 #define Q_MAX_POS_50_H_CURRENT 4000
89 #define Q_MAX_POS_25_H_CURRENT 4020
90 #define Q_MAX_POS_0_H_CURRENT 2760
91 #define Q_MAX_NEG_10_H_CURRENT 2450
92
93 /*[BUGFIX]-Add-BEGIN by TCTSZ.pingao.yang, 4/15/2015, pr-975290, change fg integration way */
94 /* Discharge Percentage */
95 #define OAM_D5 0 // 1 : D5, 0: D2
96 /*[BUGFIX]-Add-end by TCTSZ.pingao.yang, 4/15/2015*/
97
98 /* battery meter parameter */
99 #define CUST_TRACKING_POINT 14
100 #define CUST_R_SENSE 62 //Fixed sensor resistor according to HW designed.
101 #define CUST_HW_CC 0
102 #define AGING_TUNING_VALUE 100
103 #define CUST_R_FG_OFFSET 23
104
105 #define OCV_BOARD_COMPESATE 0 //mV
106 #define R_FG_BOARD_BASE 1000
107 #define R_FG_BOARD_SLOPE 1000 //slope
108 #define CAR_TUNE_VALUE 89
109
110
111 /* HW Fuel gague */
112 #define CURRENT_DETECT_R_FG (-1) //turn off auto detect for auxadc gauge
113 #define MinErrorOffset 1000
114 #define FG_VBAT_AVERAGE_SIZE 18
115 #define R_FG_VALUE 20 // mOhm, base is 20
116
117 #define CUST_POWERON_DELTA_CAPACITY_TOLRANCE 60
118 #define CUST_POWERON_LOW_CAPACITY_TOLRANCE 5
119 #define CUST_POWERON_MAX_VBAT_TOLRANCE 70
120 #define CUST_POWERON_DELTA_VBAT_TOLRANCE 60
121
122 /* Disable Battery check for HQA */
123 #ifdef MTK_DISABLE_POWER_ON_OFF_VOLTAGE_LIMITATION
124 #define FIXED_TBAT_25
125 #endif
126
127 /* Dynamic change wake up period of battery thread when suspend*/
128 #define VBAT_NORMAL_WAKEUP 3600 //3.6V
129 #define VBAT_LOW_POWER_WAKEUP 3500 //3.5v
130 #define NORMAL_WAKEUP_PERIOD 5400 //90 * 60 = 90 min
131 #define LOW_POWER_WAKEUP_PERIOD 300 //5 * 60 = 5 min
132 #define CLOSE_POWEROFF_WAKEUP_PERIOD 30 //30 s
133
134 /*[BUGFIX]-Add-BEGIN by TCTSZ.pingao.yang, 4/15/2015, */
135 #define MAX_SUSPEND_CURRENT 420 // 42 mA
136 #define MIN_SUSPEND_CURRENT 0 // 0 mA
137 #define DEFAUL_SUSPEND_CURRENT 120 //12mA
138 #define SUSPEND_CURRENT_SETP 30 //3mA
139 #define SLEEP_AFTER_FG_DIFF 3 // diff about 3%
140 #define UI_REDUCE_CURRENT 180 //18mA
141 #define SLEEP_REDUCE_CURRENT 60 //6mA
142 /*[BUGFIX]-Add-END by TCTSZ.pingao.yang */
143
144 #endif //#ifndef _CUST_BATTERY_METER_H