mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-09-02 23:35:57 +00:00
Add support for the IT8716F (prefix it8716). It is mostly similar to the
IT8712F so there's not much to do. The most significant difference is that fan speeds are now reported as 16-bit values, without fan clock dividers. For this reason, I made the fan_divs optional in sensors. I also made the fans themselves optional, as I noticed that a number of motherboards don't use (and don't enable) fan3. I've made a separate section (chip "it8716-*") in sensors.conf.eg, because new motherboards tend to have different wirings (e.g. negative voltage lines are not monitored) so this will make for saner defaults. Thanks to Stian Oksavik for testing. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@4083 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
4
CHANGES
4
CHANGES
@@ -5,11 +5,13 @@ lm_sensors CHANGES file
|
||||
File doc/busses/i2c-piix4: Update (2.6 backport)
|
||||
File etc/sensors.conf.eg: Add an smsc47m192 section
|
||||
Comment out all set statements
|
||||
Add an it8716 section
|
||||
Library: Fix device scan when no i2c support is present
|
||||
Add support for W83627EHF voltage inputs and alarms
|
||||
Add support for the smsc47m192 driver
|
||||
Fix all memory leaks (yeah!)
|
||||
Fix no sensors being reported as an error
|
||||
Add support for the IT8716F chip
|
||||
Makefile: Don't grep autoconf.h on user-space targets
|
||||
Fix depmod on non-running kernel version
|
||||
Silent errors on missing dependency files
|
||||
@@ -43,6 +45,8 @@ lm_sensors CHANGES file
|
||||
Add smsc47m192 support
|
||||
Add abituguru support (Hans de Goede)
|
||||
Fix memory leak when printing an unknown chip
|
||||
Add it8716 support
|
||||
Make each it87 fan and fan div optional
|
||||
Program sensors-detect: Add ServerWorks HT-1000 SMBus detection
|
||||
Add ATI IXP200/300/400 SMBus detection
|
||||
Prevent warning on 64-bit PCI addresses
|
||||
|
@@ -1678,6 +1678,74 @@ chip "it87-*" "it8712-*"
|
||||
# ignore fan3
|
||||
|
||||
|
||||
chip "it8716-*"
|
||||
|
||||
# Voltages
|
||||
|
||||
label in0 "VCore"
|
||||
label in2 "+3.3V"
|
||||
label in3 "+5V"
|
||||
label in4 "+12V"
|
||||
label in7 "5VSB"
|
||||
label in8 "VBat"
|
||||
|
||||
compute in3 ((6.8/10)+1)*@ , @/((6.8/10)+1)
|
||||
compute in4 ((30/10)+1)*@ , @/((30/10)+1)
|
||||
compute in7 ((6.8/10)+1)*@ , @/((6.8/10)+1)
|
||||
|
||||
# If vid (nominal CPU voltage) isn't correct, hardcode the correct value
|
||||
# instead.
|
||||
# set in0_min vid * 0.95
|
||||
# set in0_max vid * 1.05
|
||||
# set in2_min 3.3 * 0.95
|
||||
# set in2_max 3.3 * 1.05
|
||||
# set in3_min 5 * 0.95
|
||||
# set in3_max 5 * 1.05
|
||||
# set in4_min 12 * 0.95
|
||||
# set in4_max 12 * 1.05
|
||||
# set in7_min 5 * 0.95
|
||||
# set in7_max 5 * 1.05
|
||||
# The chip does not support in8 min/max
|
||||
|
||||
# Temperatures
|
||||
|
||||
# If you are lucky, the BIOS has set the proper sensor types for you.
|
||||
# If your temperature readings are completely whacky you probably
|
||||
# need to change the sensor types. Adujst and uncomment the
|
||||
# appropriate lines below.
|
||||
#
|
||||
# 2 = thermistor; 3 = thermal diode; 0 = unused
|
||||
# set sensor1 3
|
||||
# set sensor2 3
|
||||
# set sensor3 3
|
||||
|
||||
# If a given sensor isn't used, you will probably want to ignore it
|
||||
# as well (see ignore statement right below).
|
||||
# The CPU sensor can be any of temp1, temp2 or temp3 - it's motherboard
|
||||
# dependent. Same for the motherboard temperature.
|
||||
|
||||
# label temp1 "CPU Temp"
|
||||
# label temp2 "M/B Temp"
|
||||
# ignore temp3
|
||||
|
||||
# set temp1_over 60
|
||||
# set temp1_low 10
|
||||
# set temp2_over 50
|
||||
# set temp2_low 10
|
||||
|
||||
# Fans
|
||||
|
||||
# The CPU fan can be any of fan1, fan2 or fan3 - it's motherboard
|
||||
# dependent. Same for the case fan.
|
||||
|
||||
# label fan1 "CPU Fan"
|
||||
# label fan2 "Case Fan"
|
||||
# ignore fan3
|
||||
|
||||
# set fan1_min 2000
|
||||
# set fan2_min 2000
|
||||
|
||||
|
||||
chip "fscpos-*"
|
||||
# Fujitsu-Siemens Poseidon chip
|
||||
|
||||
|
@@ -5904,6 +5904,7 @@ sensors_chip_features sensors_chip_features_list[] =
|
||||
{ SENSORS_ADM1024_PREFIX, adm1024_features },
|
||||
{ SENSORS_IT87_PREFIX, it87_features },
|
||||
{ SENSORS_IT8712_PREFIX, it87_features },
|
||||
{ SENSORS_IT8716_PREFIX, it87_features },
|
||||
{ SENSORS_FSCPOS_PREFIX, fscpos_features },
|
||||
{ SENSORS_FSCSCY_PREFIX, fscscy_features },
|
||||
{ SENSORS_FSCHER_PREFIX, fscher_features },
|
||||
|
@@ -1541,6 +1541,7 @@
|
||||
|
||||
#define SENSORS_IT87_PREFIX "it87"
|
||||
#define SENSORS_IT8712_PREFIX "it8712"
|
||||
#define SENSORS_IT8716_PREFIX "it8716"
|
||||
|
||||
#define SENSORS_IT87_IN0 1 /* R */
|
||||
#define SENSORS_IT87_IN1 2 /* R */
|
||||
|
@@ -1493,7 +1493,7 @@ use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect
|
||||
},
|
||||
{
|
||||
name => "ITE IT8716F",
|
||||
driver => "to-be-tested",
|
||||
driver => "it87",
|
||||
isa_addrs => [0x290],
|
||||
isa_detect => sub { ite_isa_detect 2, @_ },
|
||||
},
|
||||
@@ -1739,7 +1739,7 @@ $chip_kern26_w83791d = {
|
||||
},
|
||||
{
|
||||
name => "ITE IT8716F Super IO Sensors",
|
||||
driver => "to-be-tested",
|
||||
driver => "it87",
|
||||
devid => 0x8716,
|
||||
logdev => 0x04,
|
||||
},
|
||||
|
@@ -546,7 +546,8 @@ static const ChipDescriptor lm80_chip = {
|
||||
/** IT87 (thanks to Mike Black) **/
|
||||
|
||||
static const char *it87_names[] = {
|
||||
SENSORS_IT87_PREFIX, SENSORS_IT8712_PREFIX, NULL
|
||||
SENSORS_IT87_PREFIX, SENSORS_IT8712_PREFIX,
|
||||
SENSORS_IT8716_PREFIX, NULL
|
||||
};
|
||||
|
||||
static const FeatureDescriptor it87_features[] = {
|
||||
|
@@ -3602,39 +3602,48 @@ void print_it87(const sensors_chip_name *name)
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_IT87_FAN1,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_IT87_FAN1,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_IT87_FAN1_DIV,&fdiv) &&
|
||||
!sensors_get_feature(*name,SENSORS_IT87_FAN1_MIN,&min)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n",
|
||||
cur,min,fdiv, alarms&IT87_ALARM_FAN1?"ALARM":"");
|
||||
printf("%4.0f RPM (min = %4.0f RPM", cur, min);
|
||||
/* fan1_div is optional */
|
||||
if (!sensors_get_feature(*name, SENSORS_IT87_FAN1_DIV, &fdiv))
|
||||
printf(", div = %1.0f)", fdiv);
|
||||
else
|
||||
printf(") ");
|
||||
printf(" %s\n", alarms&IT87_ALARM_FAN1?"ALARM":"");
|
||||
}
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get FAN1 data!\n");
|
||||
free(label);
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_IT87_FAN2,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_IT87_FAN2,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_IT87_FAN2_DIV,&fdiv) &&
|
||||
!sensors_get_feature(*name,SENSORS_IT87_FAN2_MIN,&min)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n",
|
||||
cur,min,fdiv, alarms&IT87_ALARM_FAN2?"ALARM":"");
|
||||
printf("%4.0f RPM (min = %4.0f RPM", cur, min);
|
||||
/* fan2_div is optional */
|
||||
if (!sensors_get_feature(*name, SENSORS_IT87_FAN2_DIV, &fdiv))
|
||||
printf(", div = %1.0f)", fdiv);
|
||||
else
|
||||
printf(") ");
|
||||
printf(" %s\n", alarms&IT87_ALARM_FAN2?"ALARM":"");
|
||||
}
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get FAN2 data!\n");
|
||||
free(label);
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_IT87_FAN3,&label,&valid) &&
|
||||
!sensors_get_feature(*name,SENSORS_IT87_FAN3,&cur) &&
|
||||
!sensors_get_feature(*name,SENSORS_IT87_FAN3_DIV,&fdiv) &&
|
||||
!sensors_get_feature(*name,SENSORS_IT87_FAN3_MIN,&min)) {
|
||||
if (valid) {
|
||||
print_label(label,10);
|
||||
printf("%4.0f RPM (min = %4.0f RPM, div = %1.0f) %s\n",
|
||||
cur,min,fdiv, alarms&IT87_ALARM_FAN3?"ALARM":"");
|
||||
printf("%4.0f RPM (min = %4.0f RPM", cur, min);
|
||||
/* fan3_div is optional */
|
||||
if (!sensors_get_feature(*name, SENSORS_IT87_FAN3_DIV, &fdiv))
|
||||
printf(", div = %1.0f)", fdiv);
|
||||
else
|
||||
printf(") ");
|
||||
printf(" %s\n", alarms&IT87_ALARM_FAN3?"ALARM":"");
|
||||
}
|
||||
}
|
||||
} else
|
||||
printf("ERROR: Can't get FAN3 data!\n");
|
||||
free(label);
|
||||
|
||||
if (!sensors_get_label_and_valid(*name,SENSORS_IT87_TEMP1,&label,&valid) &&
|
||||
|
@@ -381,6 +381,7 @@ struct match matches[] = {
|
||||
{ "maxilife-nba", print_maxilife },
|
||||
{ "it87", print_it87 },
|
||||
{ "it8712", print_it87 },
|
||||
{ "it8716", print_it87 },
|
||||
{ "ddcmon", print_ddcmon },
|
||||
{ "eeprom", print_eeprom },
|
||||
{ "fscpos", print_fscpos },
|
||||
|
Reference in New Issue
Block a user