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