162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-only */
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci *  longhaul.h
462306a36Sopenharmony_ci *  (C) 2003 Dave Jones.
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci *  VIA-specific information
762306a36Sopenharmony_ci */
862306a36Sopenharmony_ci
962306a36Sopenharmony_ciunion msr_bcr2 {
1062306a36Sopenharmony_ci	struct {
1162306a36Sopenharmony_ci		unsigned Reseved:19,	// 18:0
1262306a36Sopenharmony_ci		ESOFTBF:1,		// 19
1362306a36Sopenharmony_ci		Reserved2:3,		// 22:20
1462306a36Sopenharmony_ci		CLOCKMUL:4,		// 26:23
1562306a36Sopenharmony_ci		Reserved3:5;		// 31:27
1662306a36Sopenharmony_ci	} bits;
1762306a36Sopenharmony_ci	unsigned long val;
1862306a36Sopenharmony_ci};
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ciunion msr_longhaul {
2162306a36Sopenharmony_ci	struct {
2262306a36Sopenharmony_ci		unsigned RevisionID:4,	// 3:0
2362306a36Sopenharmony_ci		RevisionKey:4,		// 7:4
2462306a36Sopenharmony_ci		EnableSoftBusRatio:1,	// 8
2562306a36Sopenharmony_ci		EnableSoftVID:1,	// 9
2662306a36Sopenharmony_ci		EnableSoftBSEL:1,	// 10
2762306a36Sopenharmony_ci		Reserved:3,		// 11:13
2862306a36Sopenharmony_ci		SoftBusRatio4:1,	// 14
2962306a36Sopenharmony_ci		VRMRev:1,		// 15
3062306a36Sopenharmony_ci		SoftBusRatio:4,		// 19:16
3162306a36Sopenharmony_ci		SoftVID:5,		// 24:20
3262306a36Sopenharmony_ci		Reserved2:3,		// 27:25
3362306a36Sopenharmony_ci		SoftBSEL:2,		// 29:28
3462306a36Sopenharmony_ci		Reserved3:2,		// 31:30
3562306a36Sopenharmony_ci		MaxMHzBR:4,		// 35:32
3662306a36Sopenharmony_ci		MaximumVID:5,		// 40:36
3762306a36Sopenharmony_ci		MaxMHzFSB:2,		// 42:41
3862306a36Sopenharmony_ci		MaxMHzBR4:1,		// 43
3962306a36Sopenharmony_ci		Reserved4:4,		// 47:44
4062306a36Sopenharmony_ci		MinMHzBR:4,		// 51:48
4162306a36Sopenharmony_ci		MinimumVID:5,		// 56:52
4262306a36Sopenharmony_ci		MinMHzFSB:2,		// 58:57
4362306a36Sopenharmony_ci		MinMHzBR4:1,		// 59
4462306a36Sopenharmony_ci		Reserved5:4;		// 63:60
4562306a36Sopenharmony_ci	} bits;
4662306a36Sopenharmony_ci	unsigned long long val;
4762306a36Sopenharmony_ci};
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci/*
5062306a36Sopenharmony_ci * Clock ratio tables. Div/Mod by 10 to get ratio.
5162306a36Sopenharmony_ci * The eblcr values specify the ratio read from the CPU.
5262306a36Sopenharmony_ci * The mults values specify what to write to the CPU.
5362306a36Sopenharmony_ci */
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci/*
5662306a36Sopenharmony_ci * VIA C3 Samuel 1  & Samuel 2 (stepping 0)
5762306a36Sopenharmony_ci */
5862306a36Sopenharmony_cistatic const int samuel1_mults[16] = {
5962306a36Sopenharmony_ci	-1, /* 0000 -> RESERVED */
6062306a36Sopenharmony_ci	30, /* 0001 ->  3.0x */
6162306a36Sopenharmony_ci	40, /* 0010 ->  4.0x */
6262306a36Sopenharmony_ci	-1, /* 0011 -> RESERVED */
6362306a36Sopenharmony_ci	-1, /* 0100 -> RESERVED */
6462306a36Sopenharmony_ci	35, /* 0101 ->  3.5x */
6562306a36Sopenharmony_ci	45, /* 0110 ->  4.5x */
6662306a36Sopenharmony_ci	55, /* 0111 ->  5.5x */
6762306a36Sopenharmony_ci	60, /* 1000 ->  6.0x */
6862306a36Sopenharmony_ci	70, /* 1001 ->  7.0x */
6962306a36Sopenharmony_ci	80, /* 1010 ->  8.0x */
7062306a36Sopenharmony_ci	50, /* 1011 ->  5.0x */
7162306a36Sopenharmony_ci	65, /* 1100 ->  6.5x */
7262306a36Sopenharmony_ci	75, /* 1101 ->  7.5x */
7362306a36Sopenharmony_ci	-1, /* 1110 -> RESERVED */
7462306a36Sopenharmony_ci	-1, /* 1111 -> RESERVED */
7562306a36Sopenharmony_ci};
7662306a36Sopenharmony_ci
7762306a36Sopenharmony_cistatic const int samuel1_eblcr[16] = {
7862306a36Sopenharmony_ci	50, /* 0000 -> RESERVED */
7962306a36Sopenharmony_ci	30, /* 0001 ->  3.0x */
8062306a36Sopenharmony_ci	40, /* 0010 ->  4.0x */
8162306a36Sopenharmony_ci	-1, /* 0011 -> RESERVED */
8262306a36Sopenharmony_ci	55, /* 0100 ->  5.5x */
8362306a36Sopenharmony_ci	35, /* 0101 ->  3.5x */
8462306a36Sopenharmony_ci	45, /* 0110 ->  4.5x */
8562306a36Sopenharmony_ci	-1, /* 0111 -> RESERVED */
8662306a36Sopenharmony_ci	-1, /* 1000 -> RESERVED */
8762306a36Sopenharmony_ci	70, /* 1001 ->  7.0x */
8862306a36Sopenharmony_ci	80, /* 1010 ->  8.0x */
8962306a36Sopenharmony_ci	60, /* 1011 ->  6.0x */
9062306a36Sopenharmony_ci	-1, /* 1100 -> RESERVED */
9162306a36Sopenharmony_ci	75, /* 1101 ->  7.5x */
9262306a36Sopenharmony_ci	-1, /* 1110 -> RESERVED */
9362306a36Sopenharmony_ci	65, /* 1111 ->  6.5x */
9462306a36Sopenharmony_ci};
9562306a36Sopenharmony_ci
9662306a36Sopenharmony_ci/*
9762306a36Sopenharmony_ci * VIA C3 Samuel2 Stepping 1->15
9862306a36Sopenharmony_ci */
9962306a36Sopenharmony_cistatic const int samuel2_eblcr[16] = {
10062306a36Sopenharmony_ci	50,  /* 0000 ->  5.0x */
10162306a36Sopenharmony_ci	30,  /* 0001 ->  3.0x */
10262306a36Sopenharmony_ci	40,  /* 0010 ->  4.0x */
10362306a36Sopenharmony_ci	100, /* 0011 -> 10.0x */
10462306a36Sopenharmony_ci	55,  /* 0100 ->  5.5x */
10562306a36Sopenharmony_ci	35,  /* 0101 ->  3.5x */
10662306a36Sopenharmony_ci	45,  /* 0110 ->  4.5x */
10762306a36Sopenharmony_ci	110, /* 0111 -> 11.0x */
10862306a36Sopenharmony_ci	90,  /* 1000 ->  9.0x */
10962306a36Sopenharmony_ci	70,  /* 1001 ->  7.0x */
11062306a36Sopenharmony_ci	80,  /* 1010 ->  8.0x */
11162306a36Sopenharmony_ci	60,  /* 1011 ->  6.0x */
11262306a36Sopenharmony_ci	120, /* 1100 -> 12.0x */
11362306a36Sopenharmony_ci	75,  /* 1101 ->  7.5x */
11462306a36Sopenharmony_ci	130, /* 1110 -> 13.0x */
11562306a36Sopenharmony_ci	65,  /* 1111 ->  6.5x */
11662306a36Sopenharmony_ci};
11762306a36Sopenharmony_ci
11862306a36Sopenharmony_ci/*
11962306a36Sopenharmony_ci * VIA C3 Ezra
12062306a36Sopenharmony_ci */
12162306a36Sopenharmony_cistatic const int ezra_mults[16] = {
12262306a36Sopenharmony_ci	100, /* 0000 -> 10.0x */
12362306a36Sopenharmony_ci	30,  /* 0001 ->  3.0x */
12462306a36Sopenharmony_ci	40,  /* 0010 ->  4.0x */
12562306a36Sopenharmony_ci	90,  /* 0011 ->  9.0x */
12662306a36Sopenharmony_ci	95,  /* 0100 ->  9.5x */
12762306a36Sopenharmony_ci	35,  /* 0101 ->  3.5x */
12862306a36Sopenharmony_ci	45,  /* 0110 ->  4.5x */
12962306a36Sopenharmony_ci	55,  /* 0111 ->  5.5x */
13062306a36Sopenharmony_ci	60,  /* 1000 ->  6.0x */
13162306a36Sopenharmony_ci	70,  /* 1001 ->  7.0x */
13262306a36Sopenharmony_ci	80,  /* 1010 ->  8.0x */
13362306a36Sopenharmony_ci	50,  /* 1011 ->  5.0x */
13462306a36Sopenharmony_ci	65,  /* 1100 ->  6.5x */
13562306a36Sopenharmony_ci	75,  /* 1101 ->  7.5x */
13662306a36Sopenharmony_ci	85,  /* 1110 ->  8.5x */
13762306a36Sopenharmony_ci	120, /* 1111 -> 12.0x */
13862306a36Sopenharmony_ci};
13962306a36Sopenharmony_ci
14062306a36Sopenharmony_cistatic const int ezra_eblcr[16] = {
14162306a36Sopenharmony_ci	50,  /* 0000 ->  5.0x */
14262306a36Sopenharmony_ci	30,  /* 0001 ->  3.0x */
14362306a36Sopenharmony_ci	40,  /* 0010 ->  4.0x */
14462306a36Sopenharmony_ci	100, /* 0011 -> 10.0x */
14562306a36Sopenharmony_ci	55,  /* 0100 ->  5.5x */
14662306a36Sopenharmony_ci	35,  /* 0101 ->  3.5x */
14762306a36Sopenharmony_ci	45,  /* 0110 ->  4.5x */
14862306a36Sopenharmony_ci	95,  /* 0111 ->  9.5x */
14962306a36Sopenharmony_ci	90,  /* 1000 ->  9.0x */
15062306a36Sopenharmony_ci	70,  /* 1001 ->  7.0x */
15162306a36Sopenharmony_ci	80,  /* 1010 ->  8.0x */
15262306a36Sopenharmony_ci	60,  /* 1011 ->  6.0x */
15362306a36Sopenharmony_ci	120, /* 1100 -> 12.0x */
15462306a36Sopenharmony_ci	75,  /* 1101 ->  7.5x */
15562306a36Sopenharmony_ci	85,  /* 1110 ->  8.5x */
15662306a36Sopenharmony_ci	65,  /* 1111 ->  6.5x */
15762306a36Sopenharmony_ci};
15862306a36Sopenharmony_ci
15962306a36Sopenharmony_ci/*
16062306a36Sopenharmony_ci * VIA C3 (Ezra-T) [C5M].
16162306a36Sopenharmony_ci */
16262306a36Sopenharmony_cistatic const int ezrat_mults[32] = {
16362306a36Sopenharmony_ci	100, /* 0000 -> 10.0x */
16462306a36Sopenharmony_ci	30,  /* 0001 ->  3.0x */
16562306a36Sopenharmony_ci	40,  /* 0010 ->  4.0x */
16662306a36Sopenharmony_ci	90,  /* 0011 ->  9.0x */
16762306a36Sopenharmony_ci	95,  /* 0100 ->  9.5x */
16862306a36Sopenharmony_ci	35,  /* 0101 ->  3.5x */
16962306a36Sopenharmony_ci	45,  /* 0110 ->  4.5x */
17062306a36Sopenharmony_ci	55,  /* 0111 ->  5.5x */
17162306a36Sopenharmony_ci	60,  /* 1000 ->  6.0x */
17262306a36Sopenharmony_ci	70,  /* 1001 ->  7.0x */
17362306a36Sopenharmony_ci	80,  /* 1010 ->  8.0x */
17462306a36Sopenharmony_ci	50,  /* 1011 ->  5.0x */
17562306a36Sopenharmony_ci	65,  /* 1100 ->  6.5x */
17662306a36Sopenharmony_ci	75,  /* 1101 ->  7.5x */
17762306a36Sopenharmony_ci	85,  /* 1110 ->  8.5x */
17862306a36Sopenharmony_ci	120, /* 1111 ->  12.0x */
17962306a36Sopenharmony_ci
18062306a36Sopenharmony_ci	-1,  /* 0000 -> RESERVED (10.0x) */
18162306a36Sopenharmony_ci	110, /* 0001 -> 11.0x */
18262306a36Sopenharmony_ci	-1, /* 0010 -> 12.0x */
18362306a36Sopenharmony_ci	-1,  /* 0011 -> RESERVED (9.0x)*/
18462306a36Sopenharmony_ci	105, /* 0100 -> 10.5x */
18562306a36Sopenharmony_ci	115, /* 0101 -> 11.5x */
18662306a36Sopenharmony_ci	125, /* 0110 -> 12.5x */
18762306a36Sopenharmony_ci	135, /* 0111 -> 13.5x */
18862306a36Sopenharmony_ci	140, /* 1000 -> 14.0x */
18962306a36Sopenharmony_ci	150, /* 1001 -> 15.0x */
19062306a36Sopenharmony_ci	160, /* 1010 -> 16.0x */
19162306a36Sopenharmony_ci	130, /* 1011 -> 13.0x */
19262306a36Sopenharmony_ci	145, /* 1100 -> 14.5x */
19362306a36Sopenharmony_ci	155, /* 1101 -> 15.5x */
19462306a36Sopenharmony_ci	-1,  /* 1110 -> RESERVED (13.0x) */
19562306a36Sopenharmony_ci	-1,  /* 1111 -> RESERVED (12.0x) */
19662306a36Sopenharmony_ci};
19762306a36Sopenharmony_ci
19862306a36Sopenharmony_cistatic const int ezrat_eblcr[32] = {
19962306a36Sopenharmony_ci	50,  /* 0000 ->  5.0x */
20062306a36Sopenharmony_ci	30,  /* 0001 ->  3.0x */
20162306a36Sopenharmony_ci	40,  /* 0010 ->  4.0x */
20262306a36Sopenharmony_ci	100, /* 0011 -> 10.0x */
20362306a36Sopenharmony_ci	55,  /* 0100 ->  5.5x */
20462306a36Sopenharmony_ci	35,  /* 0101 ->  3.5x */
20562306a36Sopenharmony_ci	45,  /* 0110 ->  4.5x */
20662306a36Sopenharmony_ci	95,  /* 0111 ->  9.5x */
20762306a36Sopenharmony_ci	90,  /* 1000 ->  9.0x */
20862306a36Sopenharmony_ci	70,  /* 1001 ->  7.0x */
20962306a36Sopenharmony_ci	80,  /* 1010 ->  8.0x */
21062306a36Sopenharmony_ci	60,  /* 1011 ->  6.0x */
21162306a36Sopenharmony_ci	120, /* 1100 -> 12.0x */
21262306a36Sopenharmony_ci	75,  /* 1101 ->  7.5x */
21362306a36Sopenharmony_ci	85,  /* 1110 ->  8.5x */
21462306a36Sopenharmony_ci	65,  /* 1111 ->  6.5x */
21562306a36Sopenharmony_ci
21662306a36Sopenharmony_ci	-1,  /* 0000 -> RESERVED (9.0x) */
21762306a36Sopenharmony_ci	110, /* 0001 -> 11.0x */
21862306a36Sopenharmony_ci	120, /* 0010 -> 12.0x */
21962306a36Sopenharmony_ci	-1,  /* 0011 -> RESERVED (10.0x)*/
22062306a36Sopenharmony_ci	135, /* 0100 -> 13.5x */
22162306a36Sopenharmony_ci	115, /* 0101 -> 11.5x */
22262306a36Sopenharmony_ci	125, /* 0110 -> 12.5x */
22362306a36Sopenharmony_ci	105, /* 0111 -> 10.5x */
22462306a36Sopenharmony_ci	130, /* 1000 -> 13.0x */
22562306a36Sopenharmony_ci	150, /* 1001 -> 15.0x */
22662306a36Sopenharmony_ci	160, /* 1010 -> 16.0x */
22762306a36Sopenharmony_ci	140, /* 1011 -> 14.0x */
22862306a36Sopenharmony_ci	-1,  /* 1100 -> RESERVED (12.0x) */
22962306a36Sopenharmony_ci	155, /* 1101 -> 15.5x */
23062306a36Sopenharmony_ci	-1,  /* 1110 -> RESERVED (13.0x) */
23162306a36Sopenharmony_ci	145, /* 1111 -> 14.5x */
23262306a36Sopenharmony_ci};
23362306a36Sopenharmony_ci
23462306a36Sopenharmony_ci/*
23562306a36Sopenharmony_ci * VIA C3 Nehemiah */
23662306a36Sopenharmony_ci
23762306a36Sopenharmony_cistatic const int nehemiah_mults[32] = {
23862306a36Sopenharmony_ci	100, /* 0000 -> 10.0x */
23962306a36Sopenharmony_ci	-1, /* 0001 -> 16.0x */
24062306a36Sopenharmony_ci	40,  /* 0010 ->  4.0x */
24162306a36Sopenharmony_ci	90,  /* 0011 ->  9.0x */
24262306a36Sopenharmony_ci	95,  /* 0100 ->  9.5x */
24362306a36Sopenharmony_ci	-1,  /* 0101 ->  RESERVED */
24462306a36Sopenharmony_ci	45,  /* 0110 ->  4.5x */
24562306a36Sopenharmony_ci	55,  /* 0111 ->  5.5x */
24662306a36Sopenharmony_ci	60,  /* 1000 ->  6.0x */
24762306a36Sopenharmony_ci	70,  /* 1001 ->  7.0x */
24862306a36Sopenharmony_ci	80,  /* 1010 ->  8.0x */
24962306a36Sopenharmony_ci	50,  /* 1011 ->  5.0x */
25062306a36Sopenharmony_ci	65,  /* 1100 ->  6.5x */
25162306a36Sopenharmony_ci	75,  /* 1101 ->  7.5x */
25262306a36Sopenharmony_ci	85,  /* 1110 ->  8.5x */
25362306a36Sopenharmony_ci	120, /* 1111 -> 12.0x */
25462306a36Sopenharmony_ci	-1, /* 0000 -> 10.0x */
25562306a36Sopenharmony_ci	110, /* 0001 -> 11.0x */
25662306a36Sopenharmony_ci	-1, /* 0010 -> 12.0x */
25762306a36Sopenharmony_ci	-1,  /* 0011 ->  9.0x */
25862306a36Sopenharmony_ci	105, /* 0100 -> 10.5x */
25962306a36Sopenharmony_ci	115, /* 0101 -> 11.5x */
26062306a36Sopenharmony_ci	125, /* 0110 -> 12.5x */
26162306a36Sopenharmony_ci	135, /* 0111 -> 13.5x */
26262306a36Sopenharmony_ci	140, /* 1000 -> 14.0x */
26362306a36Sopenharmony_ci	150, /* 1001 -> 15.0x */
26462306a36Sopenharmony_ci	160, /* 1010 -> 16.0x */
26562306a36Sopenharmony_ci	130, /* 1011 -> 13.0x */
26662306a36Sopenharmony_ci	145, /* 1100 -> 14.5x */
26762306a36Sopenharmony_ci	155, /* 1101 -> 15.5x */
26862306a36Sopenharmony_ci	-1,  /* 1110 -> RESERVED (13.0x) */
26962306a36Sopenharmony_ci	-1, /* 1111 -> 12.0x */
27062306a36Sopenharmony_ci};
27162306a36Sopenharmony_ci
27262306a36Sopenharmony_cistatic const int nehemiah_eblcr[32] = {
27362306a36Sopenharmony_ci	50,  /* 0000 ->  5.0x */
27462306a36Sopenharmony_ci	160, /* 0001 -> 16.0x */
27562306a36Sopenharmony_ci	40,  /* 0010 ->  4.0x */
27662306a36Sopenharmony_ci	100, /* 0011 -> 10.0x */
27762306a36Sopenharmony_ci	55,  /* 0100 ->  5.5x */
27862306a36Sopenharmony_ci	-1,  /* 0101 ->  RESERVED */
27962306a36Sopenharmony_ci	45,  /* 0110 ->  4.5x */
28062306a36Sopenharmony_ci	95,  /* 0111 ->  9.5x */
28162306a36Sopenharmony_ci	90,  /* 1000 ->  9.0x */
28262306a36Sopenharmony_ci	70,  /* 1001 ->  7.0x */
28362306a36Sopenharmony_ci	80,  /* 1010 ->  8.0x */
28462306a36Sopenharmony_ci	60,  /* 1011 ->  6.0x */
28562306a36Sopenharmony_ci	120, /* 1100 -> 12.0x */
28662306a36Sopenharmony_ci	75,  /* 1101 ->  7.5x */
28762306a36Sopenharmony_ci	85,  /* 1110 ->  8.5x */
28862306a36Sopenharmony_ci	65,  /* 1111 ->  6.5x */
28962306a36Sopenharmony_ci	90,  /* 0000 ->  9.0x */
29062306a36Sopenharmony_ci	110, /* 0001 -> 11.0x */
29162306a36Sopenharmony_ci	120, /* 0010 -> 12.0x */
29262306a36Sopenharmony_ci	100, /* 0011 -> 10.0x */
29362306a36Sopenharmony_ci	135, /* 0100 -> 13.5x */
29462306a36Sopenharmony_ci	115, /* 0101 -> 11.5x */
29562306a36Sopenharmony_ci	125, /* 0110 -> 12.5x */
29662306a36Sopenharmony_ci	105, /* 0111 -> 10.5x */
29762306a36Sopenharmony_ci	130, /* 1000 -> 13.0x */
29862306a36Sopenharmony_ci	150, /* 1001 -> 15.0x */
29962306a36Sopenharmony_ci	160, /* 1010 -> 16.0x */
30062306a36Sopenharmony_ci	140, /* 1011 -> 14.0x */
30162306a36Sopenharmony_ci	120, /* 1100 -> 12.0x */
30262306a36Sopenharmony_ci	155, /* 1101 -> 15.5x */
30362306a36Sopenharmony_ci	-1,  /* 1110 -> RESERVED (13.0x) */
30462306a36Sopenharmony_ci	145 /* 1111 -> 14.5x */
30562306a36Sopenharmony_ci};
30662306a36Sopenharmony_ci
30762306a36Sopenharmony_ci/*
30862306a36Sopenharmony_ci * Voltage scales. Div/Mod by 1000 to get actual voltage.
30962306a36Sopenharmony_ci * Which scale to use depends on the VRM type in use.
31062306a36Sopenharmony_ci */
31162306a36Sopenharmony_ci
31262306a36Sopenharmony_cistruct mV_pos {
31362306a36Sopenharmony_ci	unsigned short mV;
31462306a36Sopenharmony_ci	unsigned short pos;
31562306a36Sopenharmony_ci};
31662306a36Sopenharmony_ci
31762306a36Sopenharmony_cistatic const struct mV_pos vrm85_mV[32] = {
31862306a36Sopenharmony_ci	{1250, 8},	{1200, 6},	{1150, 4},	{1100, 2},
31962306a36Sopenharmony_ci	{1050, 0},	{1800, 30},	{1750, 28},	{1700, 26},
32062306a36Sopenharmony_ci	{1650, 24},	{1600, 22},	{1550, 20},	{1500, 18},
32162306a36Sopenharmony_ci	{1450, 16},	{1400, 14},	{1350, 12},	{1300, 10},
32262306a36Sopenharmony_ci	{1275, 9},	{1225, 7},	{1175, 5},	{1125, 3},
32362306a36Sopenharmony_ci	{1075, 1},	{1825, 31},	{1775, 29},	{1725, 27},
32462306a36Sopenharmony_ci	{1675, 25},	{1625, 23},	{1575, 21},	{1525, 19},
32562306a36Sopenharmony_ci	{1475, 17},	{1425, 15},	{1375, 13},	{1325, 11}
32662306a36Sopenharmony_ci};
32762306a36Sopenharmony_ci
32862306a36Sopenharmony_cistatic const unsigned char mV_vrm85[32] = {
32962306a36Sopenharmony_ci	0x04,	0x14,	0x03,	0x13,	0x02,	0x12,	0x01,	0x11,
33062306a36Sopenharmony_ci	0x00,	0x10,	0x0f,	0x1f,	0x0e,	0x1e,	0x0d,	0x1d,
33162306a36Sopenharmony_ci	0x0c,	0x1c,	0x0b,	0x1b,	0x0a,	0x1a,	0x09,	0x19,
33262306a36Sopenharmony_ci	0x08,	0x18,	0x07,	0x17,	0x06,	0x16,	0x05,	0x15
33362306a36Sopenharmony_ci};
33462306a36Sopenharmony_ci
33562306a36Sopenharmony_cistatic const struct mV_pos mobilevrm_mV[32] = {
33662306a36Sopenharmony_ci	{1750, 31},	{1700, 30},	{1650, 29},	{1600, 28},
33762306a36Sopenharmony_ci	{1550, 27},	{1500, 26},	{1450, 25},	{1400, 24},
33862306a36Sopenharmony_ci	{1350, 23},	{1300, 22},	{1250, 21},	{1200, 20},
33962306a36Sopenharmony_ci	{1150, 19},	{1100, 18},	{1050, 17},	{1000, 16},
34062306a36Sopenharmony_ci	{975, 15},	{950, 14},	{925, 13},	{900, 12},
34162306a36Sopenharmony_ci	{875, 11},	{850, 10},	{825, 9},	{800, 8},
34262306a36Sopenharmony_ci	{775, 7},	{750, 6},	{725, 5},	{700, 4},
34362306a36Sopenharmony_ci	{675, 3},	{650, 2},	{625, 1},	{600, 0}
34462306a36Sopenharmony_ci};
34562306a36Sopenharmony_ci
34662306a36Sopenharmony_cistatic const unsigned char mV_mobilevrm[32] = {
34762306a36Sopenharmony_ci	0x1f,	0x1e,	0x1d,	0x1c,	0x1b,	0x1a,	0x19,	0x18,
34862306a36Sopenharmony_ci	0x17,	0x16,	0x15,	0x14,	0x13,	0x12,	0x11,	0x10,
34962306a36Sopenharmony_ci	0x0f,	0x0e,	0x0d,	0x0c,	0x0b,	0x0a,	0x09,	0x08,
35062306a36Sopenharmony_ci	0x07,	0x06,	0x05,	0x04,	0x03,	0x02,	0x01,	0x00
35162306a36Sopenharmony_ci};
35262306a36Sopenharmony_ci
353