Commit | Line | Data |
---|---|---|
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 | ||
22 | typedef 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 | ||
92 | typedef 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 | ||
114 | typedef 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 | ||
121 | typedef struct | |
122 | { | |
123 | DEVICE_POWER Power[MT65XX_POWER_COUNT_END]; | |
124 | } ROOTBUS_HW; | |
125 | ||
126 | //============================================================================== | |
127 | // PMIC6320 Exported Function for power service | |
128 | //============================================================================== | |
129 | extern void pmic_ldo_enable(MT65XX_POWER powerId, kal_bool powerEnable); | |
130 | extern void pmic_ldo_vol_sel(MT65XX_POWER powerId, MT65XX_POWER_VOLTAGE powerVolt); | |
131 | ||
132 | extern bool hwPowerOn(MT65XX_POWER powerId, MT65XX_POWER_VOLTAGE powerVolt, char *mode_name); | |
133 | extern bool hwPowerDown(MT65XX_POWER powerId, char *mode_name); | |
134 | ||
135 | #endif // _MT_PMIC_LDO_H_ | |
136 |