mirror of
https://github.com/lm-sensors/lm-sensors.git
synced 2026-10-28 12:40:42 +00:00
Separate prefix for NE1619.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2243 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
1 parent
65c7ae09ac
commit
d6294776d4
6 files changed
+35
-20
No files matched your search
+7
-5
@@ -9,15 +9,14 @@ Supported chips:
|
||||
Addresses scanned: I2C 0x2c - 0x2e (inclusive)
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
* Philips NE1619
|
||||
Prefix `adm1025'
|
||||
Addresses scanned: I2C 0x2c - 0x2e (inclusive)
|
||||
Prefix `ne1619'
|
||||
Addresses scanned: I2C 0x2c - 0x2d (inclusive)
|
||||
Datasheet: Publicly available at the Philips website
|
||||
|
||||
The NE1619 presents some differences with the original ADM1025:
|
||||
* Only two possible addresses (0x2c - 0x2d), although we don't care.
|
||||
* Only two possible addresses (0x2c - 0x2d).
|
||||
* No temperature offset register, but we don't use it anyway.
|
||||
* No INT mode for pin 16. We don't play with it anyway.
|
||||
No separate prefix was added for the NE1619, it just wasn't worth it.
|
||||
|
||||
Author: Chen-Yuan Wu <gwu@esoft.com> and Jean Delvare <khali@linux-fr.org>
|
||||
|
||||
@@ -32,6 +31,9 @@ Module Parameters
|
||||
* force_adm1025: short array (min = 1, max = 48)
|
||||
List of adapter,address pairs which are unquestionably assumed to contain
|
||||
a `adm1025' chip
|
||||
* force_ne1619: short array (min = 1, max = 48)
|
||||
List of adapter,address pairs which are unquestionably assumed to contain
|
||||
a `ne1619' chip
|
||||
* probe: short array (min = 1, max = 48)
|
||||
List of adapter,address pairs to scan additionally
|
||||
* probe_range: short array (min = 1, max = 48)
|
||||
@@ -72,7 +74,7 @@ a module parameter to force modes.
|
||||
Chip Features
|
||||
-------------
|
||||
|
||||
Chip 'adm1025'
|
||||
Chips 'adm1025' and 'ne1619'
|
||||
|
||||
LABEL LABEL CLASS COMPUTE CLASS MODE MAGN
|
||||
in0 - - R- 2
|
||||
|
||||
+1
-1
@@ -1131,7 +1131,7 @@ chip "mtp008-*"
|
||||
# set temp2_hyst 47
|
||||
# ignore temp3
|
||||
|
||||
chip "adm1025-*"
|
||||
chip "adm1025-*" "ne1619-*"
|
||||
|
||||
# The ADM1025 has integrated scaling resistors, rather
|
||||
# than external resistors common to most sensor devices.
|
||||
|
||||
+24
-14
@@ -2,7 +2,7 @@
|
||||
adm1025.c - Part of lm_sensors, Linux kernel modules for hardware
|
||||
monitoring
|
||||
Copyright (c) 2000 Chen-Yuan Wu <gwu@esoft.com>
|
||||
Copyright (c) 2003 Jean Delvare <khali@linux-fr.org>
|
||||
Copyright (c) 2003-2004 Jean Delvare <khali@linux-fr.org>
|
||||
|
||||
Based on the adm9240 driver.
|
||||
|
||||
@@ -47,7 +47,7 @@ static unsigned int normal_isa[] = { SENSORS_ISA_END };
|
||||
static unsigned int normal_isa_range[] = { SENSORS_ISA_END };
|
||||
|
||||
/* Insmod parameters */
|
||||
SENSORS_INSMOD_1(adm1025);
|
||||
SENSORS_INSMOD_2(adm1025, ne1619);
|
||||
|
||||
/* Many ADM1025 constants specified below */
|
||||
|
||||
@@ -291,24 +291,34 @@ static int adm1025_detect(struct i2c_adapter *adapter, int address,
|
||||
|
||||
/* Determine the chip type. */
|
||||
if (kind <= 0) {
|
||||
i = i2c_smbus_read_byte_data(new_client, ADM1025_REG_COMPANY_ID);
|
||||
if (((i2c_smbus_read_byte_data(new_client, ADM1025_REG_DIE_REV) & 0xf0) == 0x20)
|
||||
&& ((i == 0x41) /* ADM1025 */
|
||||
|| (i == 0xA1))) /* NE1619 */
|
||||
kind = adm1025;
|
||||
else {
|
||||
if (kind == 0)
|
||||
printk
|
||||
("adm1025.o: Ignoring 'force' parameter for unknown chip at "
|
||||
"adapter %d, address 0x%02x\n",
|
||||
i2c_adapter_id(adapter), address);
|
||||
goto ERROR1;
|
||||
u8 man_id, chip_id;
|
||||
|
||||
man_id = i2c_smbus_read_byte_data(new_client,
|
||||
ADM1025_REG_COMPANY_ID);
|
||||
chip_id = i2c_smbus_read_byte_data(new_client,
|
||||
ADM1025_REG_DIE_REV);
|
||||
|
||||
if (man_id == 0x41) { /* Analog Devices */
|
||||
if ((chip_id & 0xF0) == 0x20) /* ADM1025 */
|
||||
kind = adm1025;
|
||||
} else if (man_id == 0xA1) { /* Philips */
|
||||
if (address != 0x2E
|
||||
&& (chip_id & 0xF0) == 0x20) /* NE1619 */
|
||||
kind = ne1619;
|
||||
}
|
||||
}
|
||||
|
||||
if (kind <= 0) { /* Identification failed */
|
||||
printk("adm1025.o: Unsupported chip.\n");
|
||||
goto ERROR1;
|
||||
}
|
||||
|
||||
if (kind == adm1025) {
|
||||
type_name = "adm1025";
|
||||
client_name = "ADM1025 chip";
|
||||
} else if (kind == ne1619) {
|
||||
type_name = "ne1619";
|
||||
client_name = "NE1619 chip";
|
||||
} else {
|
||||
#ifdef DEBUG
|
||||
printk("adm1025.o: Internal error: unknown kind (%d)?!?",
|
||||
|
||||
@@ -4812,6 +4812,7 @@ sensors_chip_features sensors_chip_features_list[] =
|
||||
/* Cheat on ADM1022 for now - no separate #defines */
|
||||
{ SENSORS_ADM1022_PREFIX, thmc50_features },
|
||||
{ SENSORS_ADM1025_PREFIX, adm1025_features },
|
||||
{ SENSORS_NE1619_PREFIX, adm1025_features },
|
||||
{ SENSORS_ADM1026_PREFIX, adm1026_features },
|
||||
{ SENSORS_VIA686A_PREFIX, via686a_features },
|
||||
{ SENSORS_DDCMON_PREFIX, ddcmon_features },
|
||||
|
||||
@@ -966,6 +966,7 @@
|
||||
/* ADM1025 chip */
|
||||
|
||||
#define SENSORS_ADM1025_PREFIX "adm1025"
|
||||
#define SENSORS_NE1619_PREFIX "ne1619"
|
||||
|
||||
#define SENSORS_ADM1025_IN0 1 /* R */
|
||||
#define SENSORS_ADM1025_IN1 2 /* R */
|
||||
|
||||
@@ -361,6 +361,7 @@ struct match matches[] = {
|
||||
{ "lm87", print_lm87 },
|
||||
{ "gl518sm", print_gl518 },
|
||||
{ "adm1025", print_adm1025 },
|
||||
{ "ne1619", print_adm1025 },
|
||||
{ "adm1024", print_adm1024 },
|
||||
{ "w83781d", print_w83781d },
|
||||
{ "w83782d", print_w83781d },
|
||||
|
||||
Reference in new issue
Block a user