import PULS_20180308
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / power / mt8127 / fan5405.h
CommitLineData
6fa3eb70
S
1/*****************************************************************************
2*
3* Filename:
4* ---------
5* fan5405.h
6*
7* Project:
8* --------
9* Android
10*
11* Description:
12* ------------
13* fan5405 header file
14*
15* Author:
16* -------
17*
18****************************************************************************/
19
20#ifndef _fan5405_SW_H_
21#define _fan5405_SW_H_
22
4b9e9796 23#define HIGH_BATTERY_VOLTAGE_SUPPORT
6fa3eb70
S
24
25#define fan5405_CON0 0x00
26#define fan5405_CON1 0x01
27#define fan5405_CON2 0x02
28#define fan5405_CON3 0x03
29#define fan5405_CON4 0x04
30#define fan5405_CON5 0x05
31#define fan5405_CON6 0x06
32#define fan5405_REG_NUM 7
33
34
35/**********************************************************
36 *
37 * [MASK/SHIFT]
38 *
39 *********************************************************/
40//CON0
41#define CON0_TMR_RST_MASK 0x01
42#define CON0_TMR_RST_SHIFT 7
43
44#define CON0_OTG_MASK 0x01
45#define CON0_OTG_SHIFT 7
46
47#define CON0_EN_STAT_MASK 0x01
48#define CON0_EN_STAT_SHIFT 6
49
50#define CON0_STAT_MASK 0x03
51#define CON0_STAT_SHIFT 4
52
53#define CON0_BOOST_MASK 0x01
54#define CON0_BOOST_SHIFT 3
55
56#define CON0_FAULT_MASK 0x07
57#define CON0_FAULT_SHIFT 0
58
59//CON1
60#define CON1_LIN_LIMIT_MASK 0x03
61#define CON1_LIN_LIMIT_SHIFT 6
62
63#define CON1_LOW_V_MASK 0x03
64#define CON1_LOW_V_SHIFT 4
65
66#define CON1_TE_MASK 0x01
67#define CON1_TE_SHIFT 3
68
69#define CON1_CE_MASK 0x01
70#define CON1_CE_SHIFT 2
71
72#define CON1_HZ_MODE_MASK 0x01
73#define CON1_HZ_MODE_SHIFT 1
74
75#define CON1_OPA_MODE_MASK 0x01
76#define CON1_OPA_MODE_SHIFT 0
77
78//CON2
79#define CON2_OREG_MASK 0x3F
80#define CON2_OREG_SHIFT 2
81
82#define CON2_OTG_PL_MASK 0x01
83#define CON2_OTG_PL_SHIFT 1
84
85#define CON2_OTG_EN_MASK 0x01
86#define CON2_OTG_EN_SHIFT 0
87
88//CON3
89#define CON3_VENDER_CODE_MASK 0x07
90#define CON3_VENDER_CODE_SHIFT 5
91
92#define CON3_PIN_MASK 0x03
93#define CON3_PIN_SHIFT 3
94
95#define CON3_REVISION_MASK 0x07
96#define CON3_REVISION_SHIFT 0
97
98//CON4
99#define CON4_RESET_MASK 0x01
100#define CON4_RESET_SHIFT 7
101
102#define CON4_I_CHR_MASK 0x07
103#define CON4_I_CHR_SHIFT 4
104
105#define CON4_I_TERM_MASK 0x07
106#define CON4_I_TERM_SHIFT 0
107
108//CON5
109#define CON5_DIS_VREG_MASK 0x01
110#define CON5_DIS_VREG_SHIFT 6
111
112#define CON5_IO_LEVEL_MASK 0x01
113#define CON5_IO_LEVEL_SHIFT 5
114
115#define CON5_SP_STATUS_MASK 0x01
116#define CON5_SP_STATUS_SHIFT 4
117
118#define CON5_EN_LEVEL_MASK 0x01
119#define CON5_EN_LEVEL_SHIFT 3
120
121#define CON5_VSP_MASK 0x07
122#define CON5_VSP_SHIFT 0
123
124//CON6
125#define CON6_ISAFE_MASK 0x07
126#define CON6_ISAFE_SHIFT 4
127
128#define CON6_VSAFE_MASK 0x0F
129#define CON6_VSAFE_SHIFT 0
130
131/**********************************************************
132 *
133 * [Extern Function]
134 *
135 *********************************************************/
136//CON0----------------------------------------------------
137extern void fan5405_set_tmr_rst(kal_uint32 val);
138extern kal_uint32 fan5405_get_otg_status(void);
139extern void fan5405_set_en_stat(kal_uint32 val);
140extern kal_uint32 fan5405_get_chip_status(void);
141extern kal_uint32 fan5405_get_boost_status(void);
142extern kal_uint32 fan5405_get_fault_status(void);
143//CON1----------------------------------------------------
144extern void fan5405_set_input_charging_current(kal_uint32 val);
145extern void fan5405_set_v_low(kal_uint32 val);
146extern void fan5405_set_te(kal_uint32 val);
147extern void fan5405_set_ce(kal_uint32 val);
148extern void fan5405_set_hz_mode(kal_uint32 val);
149extern void fan5405_set_opa_mode(kal_uint32 val);
150//CON2----------------------------------------------------
151extern void fan5405_set_oreg(kal_uint32 val);
152extern void fan5405_set_otg_pl(kal_uint32 val);
153extern void fan5405_set_otg_en(kal_uint32 val);
154//CON3----------------------------------------------------
155extern kal_uint32 fan5405_get_vender_code(void);
156extern kal_uint32 fan5405_get_pn(void);
157extern kal_uint32 fan5405_get_revision(void);
158//CON4----------------------------------------------------
159extern void fan5405_set_reset(kal_uint32 val);
160extern void fan5405_set_iocharge(kal_uint32 val);
161extern void fan5405_set_iterm(kal_uint32 val);
162//CON5----------------------------------------------------
163extern void fan5405_set_dis_vreg(kal_uint32 val);
164extern void fan5405_set_io_level(kal_uint32 val);
165extern kal_uint32 fan5405_get_sp_status(void);
166extern kal_uint32 fan5405_get_en_level(void);
167extern void fan5405_set_vsp(kal_uint32 val);
168//CON6----------------------------------------------------
169extern void fan5405_set_i_safe(kal_uint32 val);
170extern void fan5405_set_v_safe(kal_uint32 val);
171//---------------------------------------------------------
172extern void fan5405_dump_register(void);
173extern kal_uint32 fan5405_reg_config_interface (kal_uint8 RegNum, kal_uint8 val);
174
175extern kal_uint32 fan5405_read_interface (kal_uint8 RegNum, kal_uint8 *val, kal_uint8 MASK, kal_uint8 SHIFT);
176extern kal_uint32 fan5405_config_interface (kal_uint8 RegNum, kal_uint8 val, kal_uint8 MASK, kal_uint8 SHIFT);
177
178#endif // _fan5405_SW_H_
179