xref: /OK3568_Linux_fs/kernel/drivers/cpufreq/longhaul.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  *  longhaul.h
4*4882a593Smuzhiyun  *  (C) 2003 Dave Jones.
5*4882a593Smuzhiyun  *
6*4882a593Smuzhiyun  *  VIA-specific information
7*4882a593Smuzhiyun  */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun union msr_bcr2 {
10*4882a593Smuzhiyun 	struct {
11*4882a593Smuzhiyun 		unsigned Reseved:19,	// 18:0
12*4882a593Smuzhiyun 		ESOFTBF:1,		// 19
13*4882a593Smuzhiyun 		Reserved2:3,		// 22:20
14*4882a593Smuzhiyun 		CLOCKMUL:4,		// 26:23
15*4882a593Smuzhiyun 		Reserved3:5;		// 31:27
16*4882a593Smuzhiyun 	} bits;
17*4882a593Smuzhiyun 	unsigned long val;
18*4882a593Smuzhiyun };
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun union msr_longhaul {
21*4882a593Smuzhiyun 	struct {
22*4882a593Smuzhiyun 		unsigned RevisionID:4,	// 3:0
23*4882a593Smuzhiyun 		RevisionKey:4,		// 7:4
24*4882a593Smuzhiyun 		EnableSoftBusRatio:1,	// 8
25*4882a593Smuzhiyun 		EnableSoftVID:1,	// 9
26*4882a593Smuzhiyun 		EnableSoftBSEL:1,	// 10
27*4882a593Smuzhiyun 		Reserved:3,		// 11:13
28*4882a593Smuzhiyun 		SoftBusRatio4:1,	// 14
29*4882a593Smuzhiyun 		VRMRev:1,		// 15
30*4882a593Smuzhiyun 		SoftBusRatio:4,		// 19:16
31*4882a593Smuzhiyun 		SoftVID:5,		// 24:20
32*4882a593Smuzhiyun 		Reserved2:3,		// 27:25
33*4882a593Smuzhiyun 		SoftBSEL:2,		// 29:28
34*4882a593Smuzhiyun 		Reserved3:2,		// 31:30
35*4882a593Smuzhiyun 		MaxMHzBR:4,		// 35:32
36*4882a593Smuzhiyun 		MaximumVID:5,		// 40:36
37*4882a593Smuzhiyun 		MaxMHzFSB:2,		// 42:41
38*4882a593Smuzhiyun 		MaxMHzBR4:1,		// 43
39*4882a593Smuzhiyun 		Reserved4:4,		// 47:44
40*4882a593Smuzhiyun 		MinMHzBR:4,		// 51:48
41*4882a593Smuzhiyun 		MinimumVID:5,		// 56:52
42*4882a593Smuzhiyun 		MinMHzFSB:2,		// 58:57
43*4882a593Smuzhiyun 		MinMHzBR4:1,		// 59
44*4882a593Smuzhiyun 		Reserved5:4;		// 63:60
45*4882a593Smuzhiyun 	} bits;
46*4882a593Smuzhiyun 	unsigned long long val;
47*4882a593Smuzhiyun };
48*4882a593Smuzhiyun 
49*4882a593Smuzhiyun /*
50*4882a593Smuzhiyun  * Clock ratio tables. Div/Mod by 10 to get ratio.
51*4882a593Smuzhiyun  * The eblcr values specify the ratio read from the CPU.
52*4882a593Smuzhiyun  * The mults values specify what to write to the CPU.
53*4882a593Smuzhiyun  */
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun /*
56*4882a593Smuzhiyun  * VIA C3 Samuel 1  & Samuel 2 (stepping 0)
57*4882a593Smuzhiyun  */
58*4882a593Smuzhiyun static const int samuel1_mults[16] = {
59*4882a593Smuzhiyun 	-1, /* 0000 -> RESERVED */
60*4882a593Smuzhiyun 	30, /* 0001 ->  3.0x */
61*4882a593Smuzhiyun 	40, /* 0010 ->  4.0x */
62*4882a593Smuzhiyun 	-1, /* 0011 -> RESERVED */
63*4882a593Smuzhiyun 	-1, /* 0100 -> RESERVED */
64*4882a593Smuzhiyun 	35, /* 0101 ->  3.5x */
65*4882a593Smuzhiyun 	45, /* 0110 ->  4.5x */
66*4882a593Smuzhiyun 	55, /* 0111 ->  5.5x */
67*4882a593Smuzhiyun 	60, /* 1000 ->  6.0x */
68*4882a593Smuzhiyun 	70, /* 1001 ->  7.0x */
69*4882a593Smuzhiyun 	80, /* 1010 ->  8.0x */
70*4882a593Smuzhiyun 	50, /* 1011 ->  5.0x */
71*4882a593Smuzhiyun 	65, /* 1100 ->  6.5x */
72*4882a593Smuzhiyun 	75, /* 1101 ->  7.5x */
73*4882a593Smuzhiyun 	-1, /* 1110 -> RESERVED */
74*4882a593Smuzhiyun 	-1, /* 1111 -> RESERVED */
75*4882a593Smuzhiyun };
76*4882a593Smuzhiyun 
77*4882a593Smuzhiyun static const int samuel1_eblcr[16] = {
78*4882a593Smuzhiyun 	50, /* 0000 -> RESERVED */
79*4882a593Smuzhiyun 	30, /* 0001 ->  3.0x */
80*4882a593Smuzhiyun 	40, /* 0010 ->  4.0x */
81*4882a593Smuzhiyun 	-1, /* 0011 -> RESERVED */
82*4882a593Smuzhiyun 	55, /* 0100 ->  5.5x */
83*4882a593Smuzhiyun 	35, /* 0101 ->  3.5x */
84*4882a593Smuzhiyun 	45, /* 0110 ->  4.5x */
85*4882a593Smuzhiyun 	-1, /* 0111 -> RESERVED */
86*4882a593Smuzhiyun 	-1, /* 1000 -> RESERVED */
87*4882a593Smuzhiyun 	70, /* 1001 ->  7.0x */
88*4882a593Smuzhiyun 	80, /* 1010 ->  8.0x */
89*4882a593Smuzhiyun 	60, /* 1011 ->  6.0x */
90*4882a593Smuzhiyun 	-1, /* 1100 -> RESERVED */
91*4882a593Smuzhiyun 	75, /* 1101 ->  7.5x */
92*4882a593Smuzhiyun 	-1, /* 1110 -> RESERVED */
93*4882a593Smuzhiyun 	65, /* 1111 ->  6.5x */
94*4882a593Smuzhiyun };
95*4882a593Smuzhiyun 
96*4882a593Smuzhiyun /*
97*4882a593Smuzhiyun  * VIA C3 Samuel2 Stepping 1->15
98*4882a593Smuzhiyun  */
99*4882a593Smuzhiyun static const int samuel2_eblcr[16] = {
100*4882a593Smuzhiyun 	50,  /* 0000 ->  5.0x */
101*4882a593Smuzhiyun 	30,  /* 0001 ->  3.0x */
102*4882a593Smuzhiyun 	40,  /* 0010 ->  4.0x */
103*4882a593Smuzhiyun 	100, /* 0011 -> 10.0x */
104*4882a593Smuzhiyun 	55,  /* 0100 ->  5.5x */
105*4882a593Smuzhiyun 	35,  /* 0101 ->  3.5x */
106*4882a593Smuzhiyun 	45,  /* 0110 ->  4.5x */
107*4882a593Smuzhiyun 	110, /* 0111 -> 11.0x */
108*4882a593Smuzhiyun 	90,  /* 1000 ->  9.0x */
109*4882a593Smuzhiyun 	70,  /* 1001 ->  7.0x */
110*4882a593Smuzhiyun 	80,  /* 1010 ->  8.0x */
111*4882a593Smuzhiyun 	60,  /* 1011 ->  6.0x */
112*4882a593Smuzhiyun 	120, /* 1100 -> 12.0x */
113*4882a593Smuzhiyun 	75,  /* 1101 ->  7.5x */
114*4882a593Smuzhiyun 	130, /* 1110 -> 13.0x */
115*4882a593Smuzhiyun 	65,  /* 1111 ->  6.5x */
116*4882a593Smuzhiyun };
117*4882a593Smuzhiyun 
118*4882a593Smuzhiyun /*
119*4882a593Smuzhiyun  * VIA C3 Ezra
120*4882a593Smuzhiyun  */
121*4882a593Smuzhiyun static const int ezra_mults[16] = {
122*4882a593Smuzhiyun 	100, /* 0000 -> 10.0x */
123*4882a593Smuzhiyun 	30,  /* 0001 ->  3.0x */
124*4882a593Smuzhiyun 	40,  /* 0010 ->  4.0x */
125*4882a593Smuzhiyun 	90,  /* 0011 ->  9.0x */
126*4882a593Smuzhiyun 	95,  /* 0100 ->  9.5x */
127*4882a593Smuzhiyun 	35,  /* 0101 ->  3.5x */
128*4882a593Smuzhiyun 	45,  /* 0110 ->  4.5x */
129*4882a593Smuzhiyun 	55,  /* 0111 ->  5.5x */
130*4882a593Smuzhiyun 	60,  /* 1000 ->  6.0x */
131*4882a593Smuzhiyun 	70,  /* 1001 ->  7.0x */
132*4882a593Smuzhiyun 	80,  /* 1010 ->  8.0x */
133*4882a593Smuzhiyun 	50,  /* 1011 ->  5.0x */
134*4882a593Smuzhiyun 	65,  /* 1100 ->  6.5x */
135*4882a593Smuzhiyun 	75,  /* 1101 ->  7.5x */
136*4882a593Smuzhiyun 	85,  /* 1110 ->  8.5x */
137*4882a593Smuzhiyun 	120, /* 1111 -> 12.0x */
138*4882a593Smuzhiyun };
139*4882a593Smuzhiyun 
140*4882a593Smuzhiyun static const int ezra_eblcr[16] = {
141*4882a593Smuzhiyun 	50,  /* 0000 ->  5.0x */
142*4882a593Smuzhiyun 	30,  /* 0001 ->  3.0x */
143*4882a593Smuzhiyun 	40,  /* 0010 ->  4.0x */
144*4882a593Smuzhiyun 	100, /* 0011 -> 10.0x */
145*4882a593Smuzhiyun 	55,  /* 0100 ->  5.5x */
146*4882a593Smuzhiyun 	35,  /* 0101 ->  3.5x */
147*4882a593Smuzhiyun 	45,  /* 0110 ->  4.5x */
148*4882a593Smuzhiyun 	95,  /* 0111 ->  9.5x */
149*4882a593Smuzhiyun 	90,  /* 1000 ->  9.0x */
150*4882a593Smuzhiyun 	70,  /* 1001 ->  7.0x */
151*4882a593Smuzhiyun 	80,  /* 1010 ->  8.0x */
152*4882a593Smuzhiyun 	60,  /* 1011 ->  6.0x */
153*4882a593Smuzhiyun 	120, /* 1100 -> 12.0x */
154*4882a593Smuzhiyun 	75,  /* 1101 ->  7.5x */
155*4882a593Smuzhiyun 	85,  /* 1110 ->  8.5x */
156*4882a593Smuzhiyun 	65,  /* 1111 ->  6.5x */
157*4882a593Smuzhiyun };
158*4882a593Smuzhiyun 
159*4882a593Smuzhiyun /*
160*4882a593Smuzhiyun  * VIA C3 (Ezra-T) [C5M].
161*4882a593Smuzhiyun  */
162*4882a593Smuzhiyun static const int ezrat_mults[32] = {
163*4882a593Smuzhiyun 	100, /* 0000 -> 10.0x */
164*4882a593Smuzhiyun 	30,  /* 0001 ->  3.0x */
165*4882a593Smuzhiyun 	40,  /* 0010 ->  4.0x */
166*4882a593Smuzhiyun 	90,  /* 0011 ->  9.0x */
167*4882a593Smuzhiyun 	95,  /* 0100 ->  9.5x */
168*4882a593Smuzhiyun 	35,  /* 0101 ->  3.5x */
169*4882a593Smuzhiyun 	45,  /* 0110 ->  4.5x */
170*4882a593Smuzhiyun 	55,  /* 0111 ->  5.5x */
171*4882a593Smuzhiyun 	60,  /* 1000 ->  6.0x */
172*4882a593Smuzhiyun 	70,  /* 1001 ->  7.0x */
173*4882a593Smuzhiyun 	80,  /* 1010 ->  8.0x */
174*4882a593Smuzhiyun 	50,  /* 1011 ->  5.0x */
175*4882a593Smuzhiyun 	65,  /* 1100 ->  6.5x */
176*4882a593Smuzhiyun 	75,  /* 1101 ->  7.5x */
177*4882a593Smuzhiyun 	85,  /* 1110 ->  8.5x */
178*4882a593Smuzhiyun 	120, /* 1111 ->  12.0x */
179*4882a593Smuzhiyun 
180*4882a593Smuzhiyun 	-1,  /* 0000 -> RESERVED (10.0x) */
181*4882a593Smuzhiyun 	110, /* 0001 -> 11.0x */
182*4882a593Smuzhiyun 	-1, /* 0010 -> 12.0x */
183*4882a593Smuzhiyun 	-1,  /* 0011 -> RESERVED (9.0x)*/
184*4882a593Smuzhiyun 	105, /* 0100 -> 10.5x */
185*4882a593Smuzhiyun 	115, /* 0101 -> 11.5x */
186*4882a593Smuzhiyun 	125, /* 0110 -> 12.5x */
187*4882a593Smuzhiyun 	135, /* 0111 -> 13.5x */
188*4882a593Smuzhiyun 	140, /* 1000 -> 14.0x */
189*4882a593Smuzhiyun 	150, /* 1001 -> 15.0x */
190*4882a593Smuzhiyun 	160, /* 1010 -> 16.0x */
191*4882a593Smuzhiyun 	130, /* 1011 -> 13.0x */
192*4882a593Smuzhiyun 	145, /* 1100 -> 14.5x */
193*4882a593Smuzhiyun 	155, /* 1101 -> 15.5x */
194*4882a593Smuzhiyun 	-1,  /* 1110 -> RESERVED (13.0x) */
195*4882a593Smuzhiyun 	-1,  /* 1111 -> RESERVED (12.0x) */
196*4882a593Smuzhiyun };
197*4882a593Smuzhiyun 
198*4882a593Smuzhiyun static const int ezrat_eblcr[32] = {
199*4882a593Smuzhiyun 	50,  /* 0000 ->  5.0x */
200*4882a593Smuzhiyun 	30,  /* 0001 ->  3.0x */
201*4882a593Smuzhiyun 	40,  /* 0010 ->  4.0x */
202*4882a593Smuzhiyun 	100, /* 0011 -> 10.0x */
203*4882a593Smuzhiyun 	55,  /* 0100 ->  5.5x */
204*4882a593Smuzhiyun 	35,  /* 0101 ->  3.5x */
205*4882a593Smuzhiyun 	45,  /* 0110 ->  4.5x */
206*4882a593Smuzhiyun 	95,  /* 0111 ->  9.5x */
207*4882a593Smuzhiyun 	90,  /* 1000 ->  9.0x */
208*4882a593Smuzhiyun 	70,  /* 1001 ->  7.0x */
209*4882a593Smuzhiyun 	80,  /* 1010 ->  8.0x */
210*4882a593Smuzhiyun 	60,  /* 1011 ->  6.0x */
211*4882a593Smuzhiyun 	120, /* 1100 -> 12.0x */
212*4882a593Smuzhiyun 	75,  /* 1101 ->  7.5x */
213*4882a593Smuzhiyun 	85,  /* 1110 ->  8.5x */
214*4882a593Smuzhiyun 	65,  /* 1111 ->  6.5x */
215*4882a593Smuzhiyun 
216*4882a593Smuzhiyun 	-1,  /* 0000 -> RESERVED (9.0x) */
217*4882a593Smuzhiyun 	110, /* 0001 -> 11.0x */
218*4882a593Smuzhiyun 	120, /* 0010 -> 12.0x */
219*4882a593Smuzhiyun 	-1,  /* 0011 -> RESERVED (10.0x)*/
220*4882a593Smuzhiyun 	135, /* 0100 -> 13.5x */
221*4882a593Smuzhiyun 	115, /* 0101 -> 11.5x */
222*4882a593Smuzhiyun 	125, /* 0110 -> 12.5x */
223*4882a593Smuzhiyun 	105, /* 0111 -> 10.5x */
224*4882a593Smuzhiyun 	130, /* 1000 -> 13.0x */
225*4882a593Smuzhiyun 	150, /* 1001 -> 15.0x */
226*4882a593Smuzhiyun 	160, /* 1010 -> 16.0x */
227*4882a593Smuzhiyun 	140, /* 1011 -> 14.0x */
228*4882a593Smuzhiyun 	-1,  /* 1100 -> RESERVED (12.0x) */
229*4882a593Smuzhiyun 	155, /* 1101 -> 15.5x */
230*4882a593Smuzhiyun 	-1,  /* 1110 -> RESERVED (13.0x) */
231*4882a593Smuzhiyun 	145, /* 1111 -> 14.5x */
232*4882a593Smuzhiyun };
233*4882a593Smuzhiyun 
234*4882a593Smuzhiyun /*
235*4882a593Smuzhiyun  * VIA C3 Nehemiah */
236*4882a593Smuzhiyun 
237*4882a593Smuzhiyun static const int nehemiah_mults[32] = {
238*4882a593Smuzhiyun 	100, /* 0000 -> 10.0x */
239*4882a593Smuzhiyun 	-1, /* 0001 -> 16.0x */
240*4882a593Smuzhiyun 	40,  /* 0010 ->  4.0x */
241*4882a593Smuzhiyun 	90,  /* 0011 ->  9.0x */
242*4882a593Smuzhiyun 	95,  /* 0100 ->  9.5x */
243*4882a593Smuzhiyun 	-1,  /* 0101 ->  RESERVED */
244*4882a593Smuzhiyun 	45,  /* 0110 ->  4.5x */
245*4882a593Smuzhiyun 	55,  /* 0111 ->  5.5x */
246*4882a593Smuzhiyun 	60,  /* 1000 ->  6.0x */
247*4882a593Smuzhiyun 	70,  /* 1001 ->  7.0x */
248*4882a593Smuzhiyun 	80,  /* 1010 ->  8.0x */
249*4882a593Smuzhiyun 	50,  /* 1011 ->  5.0x */
250*4882a593Smuzhiyun 	65,  /* 1100 ->  6.5x */
251*4882a593Smuzhiyun 	75,  /* 1101 ->  7.5x */
252*4882a593Smuzhiyun 	85,  /* 1110 ->  8.5x */
253*4882a593Smuzhiyun 	120, /* 1111 -> 12.0x */
254*4882a593Smuzhiyun 	-1, /* 0000 -> 10.0x */
255*4882a593Smuzhiyun 	110, /* 0001 -> 11.0x */
256*4882a593Smuzhiyun 	-1, /* 0010 -> 12.0x */
257*4882a593Smuzhiyun 	-1,  /* 0011 ->  9.0x */
258*4882a593Smuzhiyun 	105, /* 0100 -> 10.5x */
259*4882a593Smuzhiyun 	115, /* 0101 -> 11.5x */
260*4882a593Smuzhiyun 	125, /* 0110 -> 12.5x */
261*4882a593Smuzhiyun 	135, /* 0111 -> 13.5x */
262*4882a593Smuzhiyun 	140, /* 1000 -> 14.0x */
263*4882a593Smuzhiyun 	150, /* 1001 -> 15.0x */
264*4882a593Smuzhiyun 	160, /* 1010 -> 16.0x */
265*4882a593Smuzhiyun 	130, /* 1011 -> 13.0x */
266*4882a593Smuzhiyun 	145, /* 1100 -> 14.5x */
267*4882a593Smuzhiyun 	155, /* 1101 -> 15.5x */
268*4882a593Smuzhiyun 	-1,  /* 1110 -> RESERVED (13.0x) */
269*4882a593Smuzhiyun 	-1, /* 1111 -> 12.0x */
270*4882a593Smuzhiyun };
271*4882a593Smuzhiyun 
272*4882a593Smuzhiyun static const int nehemiah_eblcr[32] = {
273*4882a593Smuzhiyun 	50,  /* 0000 ->  5.0x */
274*4882a593Smuzhiyun 	160, /* 0001 -> 16.0x */
275*4882a593Smuzhiyun 	40,  /* 0010 ->  4.0x */
276*4882a593Smuzhiyun 	100, /* 0011 -> 10.0x */
277*4882a593Smuzhiyun 	55,  /* 0100 ->  5.5x */
278*4882a593Smuzhiyun 	-1,  /* 0101 ->  RESERVED */
279*4882a593Smuzhiyun 	45,  /* 0110 ->  4.5x */
280*4882a593Smuzhiyun 	95,  /* 0111 ->  9.5x */
281*4882a593Smuzhiyun 	90,  /* 1000 ->  9.0x */
282*4882a593Smuzhiyun 	70,  /* 1001 ->  7.0x */
283*4882a593Smuzhiyun 	80,  /* 1010 ->  8.0x */
284*4882a593Smuzhiyun 	60,  /* 1011 ->  6.0x */
285*4882a593Smuzhiyun 	120, /* 1100 -> 12.0x */
286*4882a593Smuzhiyun 	75,  /* 1101 ->  7.5x */
287*4882a593Smuzhiyun 	85,  /* 1110 ->  8.5x */
288*4882a593Smuzhiyun 	65,  /* 1111 ->  6.5x */
289*4882a593Smuzhiyun 	90,  /* 0000 ->  9.0x */
290*4882a593Smuzhiyun 	110, /* 0001 -> 11.0x */
291*4882a593Smuzhiyun 	120, /* 0010 -> 12.0x */
292*4882a593Smuzhiyun 	100, /* 0011 -> 10.0x */
293*4882a593Smuzhiyun 	135, /* 0100 -> 13.5x */
294*4882a593Smuzhiyun 	115, /* 0101 -> 11.5x */
295*4882a593Smuzhiyun 	125, /* 0110 -> 12.5x */
296*4882a593Smuzhiyun 	105, /* 0111 -> 10.5x */
297*4882a593Smuzhiyun 	130, /* 1000 -> 13.0x */
298*4882a593Smuzhiyun 	150, /* 1001 -> 15.0x */
299*4882a593Smuzhiyun 	160, /* 1010 -> 16.0x */
300*4882a593Smuzhiyun 	140, /* 1011 -> 14.0x */
301*4882a593Smuzhiyun 	120, /* 1100 -> 12.0x */
302*4882a593Smuzhiyun 	155, /* 1101 -> 15.5x */
303*4882a593Smuzhiyun 	-1,  /* 1110 -> RESERVED (13.0x) */
304*4882a593Smuzhiyun 	145 /* 1111 -> 14.5x */
305*4882a593Smuzhiyun };
306*4882a593Smuzhiyun 
307*4882a593Smuzhiyun /*
308*4882a593Smuzhiyun  * Voltage scales. Div/Mod by 1000 to get actual voltage.
309*4882a593Smuzhiyun  * Which scale to use depends on the VRM type in use.
310*4882a593Smuzhiyun  */
311*4882a593Smuzhiyun 
312*4882a593Smuzhiyun struct mV_pos {
313*4882a593Smuzhiyun 	unsigned short mV;
314*4882a593Smuzhiyun 	unsigned short pos;
315*4882a593Smuzhiyun };
316*4882a593Smuzhiyun 
317*4882a593Smuzhiyun static const struct mV_pos vrm85_mV[32] = {
318*4882a593Smuzhiyun 	{1250, 8},	{1200, 6},	{1150, 4},	{1100, 2},
319*4882a593Smuzhiyun 	{1050, 0},	{1800, 30},	{1750, 28},	{1700, 26},
320*4882a593Smuzhiyun 	{1650, 24},	{1600, 22},	{1550, 20},	{1500, 18},
321*4882a593Smuzhiyun 	{1450, 16},	{1400, 14},	{1350, 12},	{1300, 10},
322*4882a593Smuzhiyun 	{1275, 9},	{1225, 7},	{1175, 5},	{1125, 3},
323*4882a593Smuzhiyun 	{1075, 1},	{1825, 31},	{1775, 29},	{1725, 27},
324*4882a593Smuzhiyun 	{1675, 25},	{1625, 23},	{1575, 21},	{1525, 19},
325*4882a593Smuzhiyun 	{1475, 17},	{1425, 15},	{1375, 13},	{1325, 11}
326*4882a593Smuzhiyun };
327*4882a593Smuzhiyun 
328*4882a593Smuzhiyun static const unsigned char mV_vrm85[32] = {
329*4882a593Smuzhiyun 	0x04,	0x14,	0x03,	0x13,	0x02,	0x12,	0x01,	0x11,
330*4882a593Smuzhiyun 	0x00,	0x10,	0x0f,	0x1f,	0x0e,	0x1e,	0x0d,	0x1d,
331*4882a593Smuzhiyun 	0x0c,	0x1c,	0x0b,	0x1b,	0x0a,	0x1a,	0x09,	0x19,
332*4882a593Smuzhiyun 	0x08,	0x18,	0x07,	0x17,	0x06,	0x16,	0x05,	0x15
333*4882a593Smuzhiyun };
334*4882a593Smuzhiyun 
335*4882a593Smuzhiyun static const struct mV_pos mobilevrm_mV[32] = {
336*4882a593Smuzhiyun 	{1750, 31},	{1700, 30},	{1650, 29},	{1600, 28},
337*4882a593Smuzhiyun 	{1550, 27},	{1500, 26},	{1450, 25},	{1400, 24},
338*4882a593Smuzhiyun 	{1350, 23},	{1300, 22},	{1250, 21},	{1200, 20},
339*4882a593Smuzhiyun 	{1150, 19},	{1100, 18},	{1050, 17},	{1000, 16},
340*4882a593Smuzhiyun 	{975, 15},	{950, 14},	{925, 13},	{900, 12},
341*4882a593Smuzhiyun 	{875, 11},	{850, 10},	{825, 9},	{800, 8},
342*4882a593Smuzhiyun 	{775, 7},	{750, 6},	{725, 5},	{700, 4},
343*4882a593Smuzhiyun 	{675, 3},	{650, 2},	{625, 1},	{600, 0}
344*4882a593Smuzhiyun };
345*4882a593Smuzhiyun 
346*4882a593Smuzhiyun static const unsigned char mV_mobilevrm[32] = {
347*4882a593Smuzhiyun 	0x1f,	0x1e,	0x1d,	0x1c,	0x1b,	0x1a,	0x19,	0x18,
348*4882a593Smuzhiyun 	0x17,	0x16,	0x15,	0x14,	0x13,	0x12,	0x11,	0x10,
349*4882a593Smuzhiyun 	0x0f,	0x0e,	0x0d,	0x0c,	0x0b,	0x0a,	0x09,	0x08,
350*4882a593Smuzhiyun 	0x07,	0x06,	0x05,	0x04,	0x03,	0x02,	0x01,	0x00
351*4882a593Smuzhiyun };
352*4882a593Smuzhiyun 
353