Also it will be great to have VIn’s calibration (inside it87 driver) and presets for different motherboards. For Gigabyte GA-78LMT-S2P I made this:
it87_refresh(it87_sensors_data& data)
{
//...
// syslog: it87: ITE8728 found at address = 0x0228. VENDOR_ID: 0x90 - CORE_ID: 0x12 - REV: 0x07
//calibration from BIOS HW monitor and driver values
data.voltages[0] = ITESensorRead(IT87_REG_VIN0) * ADC_RES * 0.73;
data.voltages[1] = ITESensorRead(IT87_REG_VIN1) * ADC_RES * 0.75;
data.voltages[2] = ITESensorRead(IT87_REG_VIN2) * ADC_RES * 1.26;
data.voltages[3] = ITESensorRead(IT87_REG_VIN3) * ADC_RES * 1.68 ; // +5V. (6854.4 mV / 255). Missed because does not measure in BIOS.
data.voltages[4] = ITESensorRead(IT87_REG_VIN4) * ADC_RES * 4 * 1.2; // +12V. (16320 mV / 255)
//...
}
Comparison of result
Monitoring inside BIOS

