mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-09-06 01:05:32 +00:00
Add support for SMSC LPC57B397-NC sensor chip.
git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@2769 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
21
lib/chips.c
21
lib/chips.c
@@ -5245,6 +5245,26 @@ static sensors_chip_feature max6650_features[] =
|
|||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#define SENSORS_SMSC57B397_TEMP(nr) \
|
||||||
|
{ SENSORS_SMSC57B397_TEMP##nr, "temp" #nr, NOMAP, NOMAP, R, 0, \
|
||||||
|
VALUE(1), 1 }
|
||||||
|
|
||||||
|
#define SENSORS_SMSC57B397_FAN(nr) \
|
||||||
|
{ SENSORS_SMSC57B397_FAN##nr, "fan" #nr, NOMAP, NOMAP, R, 0, \
|
||||||
|
VALUE(1), 1 }
|
||||||
|
|
||||||
|
static sensors_chip_feature smsc57b397_features[] =
|
||||||
|
{
|
||||||
|
SENSORS_SMSC57B397_TEMP(1),
|
||||||
|
SENSORS_SMSC57B397_TEMP(2),
|
||||||
|
SENSORS_SMSC57B397_TEMP(3),
|
||||||
|
SENSORS_SMSC57B397_TEMP(4),
|
||||||
|
SENSORS_SMSC57B397_FAN(1),
|
||||||
|
SENSORS_SMSC57B397_FAN(2),
|
||||||
|
SENSORS_SMSC57B397_FAN(3),
|
||||||
|
SENSORS_SMSC57B397_FAN(4),
|
||||||
|
};
|
||||||
|
|
||||||
sensors_chip_features sensors_chip_features_list[] =
|
sensors_chip_features sensors_chip_features_list[] =
|
||||||
{
|
{
|
||||||
{ SENSORS_LM78_PREFIX, lm78_features },
|
{ SENSORS_LM78_PREFIX, lm78_features },
|
||||||
@@ -5337,5 +5357,6 @@ sensors_chip_features sensors_chip_features_list[] =
|
|||||||
{ SENSORS_ADM1030_PREFIX, adm1030_features },
|
{ SENSORS_ADM1030_PREFIX, adm1030_features },
|
||||||
{ SENSORS_ADM1031_PREFIX, adm1031_features },
|
{ SENSORS_ADM1031_PREFIX, adm1031_features },
|
||||||
{ SENSORS_LM93_PREFIX, lm93_features },
|
{ SENSORS_LM93_PREFIX, lm93_features },
|
||||||
|
{ SENSORS_SMSC57B397_PREFIX, smsc57b397_features },
|
||||||
{ 0 }
|
{ 0 }
|
||||||
};
|
};
|
||||||
|
12
lib/chips.h
12
lib/chips.h
@@ -2003,4 +2003,16 @@
|
|||||||
#define SENSORS_MAX6650_FAN4_TACH 4 /* R */
|
#define SENSORS_MAX6650_FAN4_TACH 4 /* R */
|
||||||
#define SENSORS_MAX6650_SPEED 5 /* RW */
|
#define SENSORS_MAX6650_SPEED 5 /* RW */
|
||||||
|
|
||||||
|
/* SMSC57B397-NC chip */
|
||||||
|
#define SENSORS_SMSC57B397_PREFIX "smsc57b397"
|
||||||
|
|
||||||
|
#define SENSORS_SMSC57B397_TEMP1 0x01 /* R */
|
||||||
|
#define SENSORS_SMSC57B397_TEMP2 0x02 /* R */
|
||||||
|
#define SENSORS_SMSC57B397_TEMP3 0x03 /* R */
|
||||||
|
#define SENSORS_SMSC57B397_TEMP4 0x04 /* R */
|
||||||
|
#define SENSORS_SMSC57B397_FAN1 0x11 /* R */
|
||||||
|
#define SENSORS_SMSC57B397_FAN2 0x12 /* R */
|
||||||
|
#define SENSORS_SMSC57B397_FAN3 0x13 /* R */
|
||||||
|
#define SENSORS_SMSC57B397_FAN4 0x14 /* R */
|
||||||
|
|
||||||
#endif /* def LIB_SENSORS_CHIPS_H */
|
#endif /* def LIB_SENSORS_CHIPS_H */
|
||||||
|
@@ -1613,6 +1613,12 @@ use subs qw(mtp008_detect lm78_detect lm78_isa_detect lm78_alias_detect
|
|||||||
driver => "not-a-sensor",
|
driver => "not-a-sensor",
|
||||||
devid => 0x14,
|
devid => 0x14,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
name => "SMSC LPC57B397-NC Super IO",
|
||||||
|
driver => "smsc57b397",
|
||||||
|
devid => 0x6f,
|
||||||
|
logdev => 0x0a,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@@ -5197,6 +5197,65 @@ void print_lm93(const sensors_chip_name *name)
|
|||||||
print_lm93_vid(name, SENSORS_LM93_VID2);
|
print_lm93_vid(name, SENSORS_LM93_VID2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* print_smsc57b397_temp()
|
||||||
|
* where temp is a sensors feature ID
|
||||||
|
*/
|
||||||
|
static void print_smsc57b397_temp(const sensors_chip_name *name, int temp)
|
||||||
|
{
|
||||||
|
char *label = NULL;
|
||||||
|
double cur;
|
||||||
|
int valid;
|
||||||
|
|
||||||
|
if (!sensors_get_label_and_valid(*name,temp,&label,&valid) &&
|
||||||
|
!sensors_get_feature(*name,temp,&cur)) {
|
||||||
|
if (valid) {
|
||||||
|
print_label(label,10);
|
||||||
|
print_temp_info(cur, 0, 0, SINGLE, 0, 0);
|
||||||
|
printf("\n");
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
printf("ERROR: Can't get TEMP data! (0x%04x)\n", temp);
|
||||||
|
|
||||||
|
free_the_label(&label);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define PRINT_SMSC57B397_TEMP(num, name) \
|
||||||
|
print_smsc57b397_temp((name), (SENSORS_SMSC57B397_TEMP1 + (num)))
|
||||||
|
|
||||||
|
/* print_smsc57b397_fan()
|
||||||
|
* where fan is a sensors feature ID
|
||||||
|
*/
|
||||||
|
static void print_smsc57b397_fan(const sensors_chip_name *name, int fan)
|
||||||
|
{
|
||||||
|
char *label = NULL;
|
||||||
|
double cur;
|
||||||
|
int valid;
|
||||||
|
|
||||||
|
if (!sensors_get_label_and_valid(*name,fan,&label,&valid) &&
|
||||||
|
!sensors_get_feature(*name,fan,&cur)) {
|
||||||
|
if (valid) {
|
||||||
|
print_label(label,10);
|
||||||
|
printf("%4.0f RPM\n", cur);
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
printf("ERROR: Can't get FAN data! (0x%04x)\n", fan);
|
||||||
|
free_the_label(&label);
|
||||||
|
}
|
||||||
|
|
||||||
|
#define PRINT_SMSC57B397_FAN(num, name) \
|
||||||
|
print_smsc57b397_fan((name), (SENSORS_SMSC57B397_FAN1 + (num)))
|
||||||
|
|
||||||
|
void print_smsc57b397(const sensors_chip_name *name)
|
||||||
|
{
|
||||||
|
int ii;
|
||||||
|
|
||||||
|
for (ii=0;ii<4;ii++)
|
||||||
|
PRINT_SMSC57B397_TEMP(ii, name);
|
||||||
|
|
||||||
|
for (ii=0;ii<4;ii++)
|
||||||
|
PRINT_SMSC57B397_FAN(ii, name);
|
||||||
|
}
|
||||||
|
|
||||||
void print_unknown_chip(const sensors_chip_name *name)
|
void print_unknown_chip(const sensors_chip_name *name)
|
||||||
{
|
{
|
||||||
int a,b,valid;
|
int a,b,valid;
|
||||||
|
@@ -66,5 +66,6 @@ extern void print_max1619(const sensors_chip_name *name);
|
|||||||
extern void print_xeontemp(const sensors_chip_name *name);
|
extern void print_xeontemp(const sensors_chip_name *name);
|
||||||
extern void print_max6650(const sensors_chip_name *name);
|
extern void print_max6650(const sensors_chip_name *name);
|
||||||
extern void print_adm1031(const sensors_chip_name *name);
|
extern void print_adm1031(const sensors_chip_name *name);
|
||||||
|
extern void print_smsc57b397(const sensors_chip_name *name);
|
||||||
|
|
||||||
#endif /* def PROG_SENSORS_CHIPS_H */
|
#endif /* def PROG_SENSORS_CHIPS_H */
|
||||||
|
@@ -399,6 +399,7 @@ struct match matches[] = {
|
|||||||
{ "adm1030", print_adm1031 },
|
{ "adm1030", print_adm1031 },
|
||||||
{ "adm1031", print_adm1031 },
|
{ "adm1031", print_adm1031 },
|
||||||
{ "lm93", print_lm93 },
|
{ "lm93", print_lm93 },
|
||||||
|
{ "smsc57b397", print_smsc57b397 },
|
||||||
{ NULL, NULL }
|
{ NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user