mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-09-03 15:55:15 +00:00
Added detection of MAX6639 to sensors-detect
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@5907 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1
CHANGES
1
CHANGES
@@ -19,6 +19,7 @@ SVN HEAD
|
|||||||
Add detection of the National Semiconductor LM94
|
Add detection of the National Semiconductor LM94
|
||||||
Add detection of the ITE IT8728F
|
Add detection of the ITE IT8728F
|
||||||
Implement universal detection for coretemp (#2381)
|
Implement universal detection for coretemp (#2381)
|
||||||
|
Add detection of Maxim MAX6639
|
||||||
|
|
||||||
3.2.0 (2010-10-10)
|
3.2.0 (2010-10-10)
|
||||||
libsensors: Increase MAX_SENSORS_PER_TYPE to 24
|
libsensors: Increase MAX_SENSORS_PER_TYPE to 24
|
||||||
|
@@ -827,6 +827,11 @@ use vars qw(@i2c_adapter_names);
|
|||||||
driver => "max1668",
|
driver => "max1668",
|
||||||
i2c_addrs => [0x18..0x1a, 0x29..0x2b, 0x4c..0x4e],
|
i2c_addrs => [0x18..0x1a, 0x29..0x2b, 0x4c..0x4e],
|
||||||
i2c_detect => sub { max1668_detect(@_, 2); },
|
i2c_detect => sub { max1668_detect(@_, 2); },
|
||||||
|
}, {
|
||||||
|
name => "Maxim MAX6639",
|
||||||
|
driver => "max6639",
|
||||||
|
i2c_addrs => [0x2c, 0x2e, 0x2f],
|
||||||
|
i2c_detect => sub { max6639_detect(@_); },
|
||||||
}, {
|
}, {
|
||||||
name => "Maxim MAX6650/MAX6651",
|
name => "Maxim MAX6650/MAX6651",
|
||||||
driver => "max6650",
|
driver => "max6650",
|
||||||
@@ -5446,6 +5451,27 @@ sub w83l784r_detect
|
|||||||
return @res;
|
return @res;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Chip to detect: MAX6639
|
||||||
|
# Registers used:
|
||||||
|
# 0x3d: Device ID
|
||||||
|
# 0x3e: Manufacturer ID
|
||||||
|
# 0x3f: Chip revision
|
||||||
|
sub max6639_detect
|
||||||
|
{
|
||||||
|
my ($file, $addr) = @_;
|
||||||
|
my ($man_id, $dev_id, $rev);
|
||||||
|
|
||||||
|
$dev_id = i2c_smbus_read_byte_data($file, 0x3d);
|
||||||
|
$man_id = i2c_smbus_read_byte_data($file, 0x3e);
|
||||||
|
$rev = i2c_smbus_read_byte_data($file, 0x3f);
|
||||||
|
|
||||||
|
return unless $man_id == 0x4d; # Maxim
|
||||||
|
return unless $dev_id == 0x58; # MAX6639
|
||||||
|
return unless $rev == 0x00;
|
||||||
|
|
||||||
|
return 6;
|
||||||
|
}
|
||||||
|
|
||||||
# The max6650 has no device ID register. However, a few registers have
|
# The max6650 has no device ID register. However, a few registers have
|
||||||
# spare bits, which are documented as being always zero on read. We read
|
# spare bits, which are documented as being always zero on read. We read
|
||||||
# all of these registers check the spare bits. Any non-zero means this
|
# all of these registers check the spare bits. Any non-zero means this
|
||||||
|
Reference in New Issue
Block a user