import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / arch / arm / mach-mt8127 / include / mach / mt_pm_ldo.h
CommitLineData
6fa3eb70
S
1
2#ifndef _MT_PMIC_LDO_H_
3#define _MT_PMIC_LDO_H_
4
5#include <mach/mt_typedefs.h>
6
7#define MAX_DEVICE 20
8#define MAX_MOD_NAME 32
9
10#define NON_OP "NOP"
11
12/* Debug message event */
13#define DBG_PMAPI_NONE 0x00000000
14#define DBG_PMAPI_CG 0x00000001
15#define DBG_PMAPI_PLL 0x00000002
16#define DBG_PMAPI_SUB 0x00000004
17#define DBG_PMAPI_PMIC 0x00000008
18#define DBG_PMAPI_ALL 0xFFFFFFFF
19
20#define DBG_PMAPI_MASK (DBG_PMAPI_ALL)
21
22typedef enum MT65XX_POWER_TAG {
23
24 //MT6323 Digital LDO
25 MT6323_POWER_LDO_VIO28=0,
26 MT6323_POWER_LDO_VUSB,
27 MT6323_POWER_LDO_VMC,
28 MT6323_POWER_LDO_VMCH,
29 MT6323_POWER_LDO_VEMC_3V3,
30 MT6323_POWER_LDO_VGP1,
31 MT6323_POWER_LDO_VGP2,
32 MT6323_POWER_LDO_VGP3,
33 MT6323_POWER_LDO_VCN_1V8,
34 MT6323_POWER_LDO_VSIM1,
35 MT6323_POWER_LDO_VSIM2,
36 MT6323_POWER_LDO_VRTC,
37 MT6323_POWER_LDO_VCAM_AF,
38 MT6323_POWER_LDO_VIBR,
39 MT6323_POWER_LDO_VM,
40 MT6323_POWER_LDO_VRF18,
41 MT6323_POWER_LDO_VIO18,
42 MT6323_POWER_LDO_VCAMD,
43 MT6323_POWER_LDO_VCAM_IO,
44
45 //MT6323 Analog LDO
46 MT6323_POWER_LDO_VTCXO,
47 MT6323_POWER_LDO_VA,
48 MT6323_POWER_LDO_VCAMA,
49 MT6323_POWER_LDO_VCN33_BT,
50 MT6323_POWER_LDO_VCN33_WIFI,
51 MT6323_POWER_LDO_VCN28,
52
53 //MT6320 Digital LDO
54 MT65XX_POWER_LDO_VIO28,
55 MT65XX_POWER_LDO_VUSB,
56 MT65XX_POWER_LDO_VMC, //6397
57 MT65XX_POWER_LDO_VMCH, //6397
58 MT65XX_POWER_LDO_VMC1, //6323
59 MT65XX_POWER_LDO_VMCH1, //6323
60 MT65XX_POWER_LDO_VEMC_3V3,
61 MT65XX_POWER_LDO_VEMC_1V8,
62 MT65XX_POWER_LDO_VCAMD, //6397
63 MT65XX_POWER_LDO_VCAMIO, //6397
64 MT65XX_POWER_LDO_VCAMAF, //6397
65 MT65XX_POWER_LDO_VGP1, //6323
66 MT65XX_POWER_LDO_VGP2, //6323
67 MT65XX_POWER_LDO_VGP3, //6323
68 MT65XX_POWER_LDO_VGP4,
69 MT65XX_POWER_LDO_VGP5,
70 MT65XX_POWER_LDO_VGP6,
71 MT65XX_POWER_LDO_VSIM1,
72 MT65XX_POWER_LDO_VSIM2,
73 MT65XX_POWER_LDO_VIBR,
74 MT65XX_POWER_LDO_VRTC,
75 MT65XX_POWER_LDO_VAST,
76
77 //MT6320 Analog LDO
78 MT65XX_POWER_LDO_VRF28,
79 MT65XX_POWER_LDO_VRF28_2,
80 MT65XX_POWER_LDO_VTCXO,
81 MT65XX_POWER_LDO_VTCXO_2,
82 MT65XX_POWER_LDO_VA,
83 MT65XX_POWER_LDO_VA28,
84 MT65XX_POWER_LDO_VCAMA,
85
86 MT6323_POWER_LDO_DEFAULT,
87 MT65XX_POWER_LDO_DEFAULT,
88 MT65XX_POWER_COUNT_END,
89 MT65XX_POWER_NONE = -1
90} MT65XX_POWER;
91
92typedef enum MT65XX_POWER_VOL_TAG
93{
94 VOL_DEFAULT,
95 VOL_0900 = 900,
96 VOL_1000 = 1000,
97 VOL_1100 = 1100,
98 VOL_1200 = 1200,
99 VOL_1300 = 1300,
100 VOL_1350 = 1350,
101 VOL_1500 = 1500,
102 VOL_1800 = 1800,
103 VOL_2000 = 2000,
104 VOL_2100 = 2100,
105 VOL_2500 = 2500,
106 VOL_2800 = 2800,
107 VOL_3000 = 3000,
108 VOL_3300 = 3300,
109 VOL_3400 = 3400,
110 VOL_3500 = 3500,
111 VOL_3600 = 3600
112} MT65XX_POWER_VOLTAGE;
113
114typedef struct {
115 DWORD dwPowerCount;
116 BOOL bDefault_on;
117 char name[MAX_MOD_NAME];
118 char mod_name[MAX_DEVICE][MAX_MOD_NAME];
119} DEVICE_POWER;
120
121typedef struct
122{
123 DEVICE_POWER Power[MT65XX_POWER_COUNT_END];
124} ROOTBUS_HW;
125
126//==============================================================================
127// PMIC6320 Exported Function for power service
128//==============================================================================
129extern void pmic_ldo_enable(MT65XX_POWER powerId, kal_bool powerEnable);
130extern void pmic_ldo_vol_sel(MT65XX_POWER powerId, MT65XX_POWER_VOLTAGE powerVolt);
131
132extern bool hwPowerOn(MT65XX_POWER powerId, MT65XX_POWER_VOLTAGE powerVolt, char *mode_name);
133extern bool hwPowerDown(MT65XX_POWER powerId, char *mode_name);
134
135#endif // _MT_PMIC_LDO_H_
136