From 2436f40201722c0230c536de20612aefed85ce41 Mon Sep 17 00:00:00 2001 From: "Mark D. Studebaker" Date: Sat, 31 May 2003 01:00:23 +0000 Subject: [PATCH] libsensors support for w83791d; patch from Ross Biro rossb@google.com git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1741 7894878c-1315-0410-8ee3-d5d059ff63e0 --- kernel/include/sensors.h | 5 ++ lib/chips.c | 162 +++++++++++++++++++++++++++++++++++++++ lib/chips.h | 77 +++++++++++++++++++ 3 files changed, 244 insertions(+) diff --git a/kernel/include/sensors.h b/kernel/include/sensors.h index 0ccac552..724af54d 100644 --- a/kernel/include/sensors.h +++ b/kernel/include/sensors.h @@ -92,9 +92,14 @@ struct i2c_chips_data { #define W83781D_SYSCTL_IN6 1006 #define W83781D_SYSCTL_IN7 1007 #define W83781D_SYSCTL_IN8 1008 +#define W83781D_SYSCTL_IN9 1009 + #define W83781D_SYSCTL_FAN1 1101 /* Rotations/min */ #define W83781D_SYSCTL_FAN2 1102 #define W83781D_SYSCTL_FAN3 1103 +#define W83781D_SYSCTL_FAN4 1104 +#define W83781D_SYSCTL_FAN5 1105 + #define W83781D_SYSCTL_TEMP1 1200 /* Degrees Celcius * 10 */ #define W83781D_SYSCTL_TEMP2 1201 /* Degrees Celcius * 10 */ #define W83781D_SYSCTL_TEMP3 1202 /* Degrees Celcius * 10 */ diff --git a/lib/chips.c b/lib/chips.c index 4d3b123b..bd2f77c0 100644 --- a/lib/chips.c +++ b/lib/chips.c @@ -1194,6 +1194,167 @@ static sensors_chip_feature w83783s_features[] = { 0 } }; +static sensors_chip_feature w83791d_features[] = + { + { SENSORS_W83791D_IN0, "in0", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN0, VALUE(3), 2 }, + { SENSORS_W83791D_IN1, "in1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN1, VALUE(3), 2 }, + { SENSORS_W83791D_IN2, "in2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN2, VALUE(3), 2 }, + { SENSORS_W83791D_IN3, "in3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN3, VALUE(3), 2 }, + { SENSORS_W83791D_IN4, "in4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN4, VALUE(3), 2 }, + { SENSORS_W83791D_IN5, "in5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN5, VALUE(3), 2 }, + { SENSORS_W83791D_IN6, "in6", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN6, VALUE(3), 2 }, + { SENSORS_W83791D_IN7, "in7", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN7, VALUE(3), 2 }, + { SENSORS_W83791D_IN8, "in8", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN8, VALUE(3), 2 }, + { SENSORS_W83791D_IN9, "in9", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_IN9, VALUE(3), 2 }, + { SENSORS_W83791D_IN0_MIN, "in0_min", SENSORS_W83791D_IN0, + SENSORS_W83791D_IN0, SENSORS_MODE_RW, + W83781D_SYSCTL_IN0, VALUE(1), 2 }, + { SENSORS_W83791D_IN1_MIN, "in1_min", SENSORS_W83791D_IN1, + SENSORS_W83791D_IN1, SENSORS_MODE_RW, + W83781D_SYSCTL_IN1, VALUE(1), 2 }, + { SENSORS_W83791D_IN2_MIN, "in2_min", SENSORS_W83791D_IN2, + SENSORS_W83791D_IN2, SENSORS_MODE_RW, + W83781D_SYSCTL_IN2, VALUE(1), 2 }, + { SENSORS_W83791D_IN3_MIN, "in3_min", SENSORS_W83791D_IN3, + SENSORS_W83791D_IN3, SENSORS_MODE_RW, + W83781D_SYSCTL_IN3, VALUE(1), 2 }, + { SENSORS_W83791D_IN4_MIN, "in4_min", SENSORS_W83791D_IN4, + SENSORS_W83791D_IN4, SENSORS_MODE_RW, + W83781D_SYSCTL_IN4, VALUE(1), 2 }, + { SENSORS_W83791D_IN5_MIN, "in5_min", SENSORS_W83791D_IN5, + SENSORS_W83791D_IN5, SENSORS_MODE_RW, + W83781D_SYSCTL_IN5, VALUE(1), 2 }, + { SENSORS_W83791D_IN6_MIN, "in6_min", SENSORS_W83791D_IN6, + SENSORS_W83791D_IN6, SENSORS_MODE_RW, + W83781D_SYSCTL_IN6, VALUE(1), 2 }, + { SENSORS_W83791D_IN7_MIN, "in7_min", SENSORS_W83791D_IN7, + SENSORS_W83791D_IN7, SENSORS_MODE_RW, + W83781D_SYSCTL_IN7, VALUE(1), 2 }, + { SENSORS_W83791D_IN8_MIN, "in8_min", SENSORS_W83791D_IN8, + SENSORS_W83791D_IN8, SENSORS_MODE_RW, + W83781D_SYSCTL_IN8, VALUE(1), 2 }, + { SENSORS_W83791D_IN9_MIN, "in9_min", SENSORS_W83791D_IN9, + SENSORS_W83791D_IN9, SENSORS_MODE_RW, + W83781D_SYSCTL_IN9, VALUE(1), 2 }, + { SENSORS_W83791D_IN0_MAX, "in0_max", SENSORS_W83791D_IN0, + SENSORS_W83791D_IN0, SENSORS_MODE_RW, + W83781D_SYSCTL_IN0, VALUE(2), 2 }, + { SENSORS_W83791D_IN1_MAX, "in1_max", SENSORS_W83791D_IN1, + SENSORS_W83791D_IN1, SENSORS_MODE_RW, + W83781D_SYSCTL_IN1, VALUE(2), 2 }, + { SENSORS_W83791D_IN2_MAX, "in2_max", SENSORS_W83791D_IN2, + SENSORS_W83791D_IN2, SENSORS_MODE_RW, + W83781D_SYSCTL_IN2, VALUE(2), 2 }, + { SENSORS_W83791D_IN3_MAX, "in3_max", SENSORS_W83791D_IN3, + SENSORS_W83791D_IN3, SENSORS_MODE_RW, + W83781D_SYSCTL_IN3, VALUE(2), 2 }, + { SENSORS_W83791D_IN4_MAX, "in4_max", SENSORS_W83791D_IN4, + SENSORS_W83791D_IN4, SENSORS_MODE_RW, + W83781D_SYSCTL_IN4, VALUE(2), 2 }, + { SENSORS_W83791D_IN5_MAX, "in5_max", SENSORS_W83791D_IN5, + SENSORS_W83791D_IN5, SENSORS_MODE_RW, + W83781D_SYSCTL_IN5, VALUE(2), 2 }, + { SENSORS_W83791D_IN6_MAX, "in6_max", SENSORS_W83791D_IN6, + SENSORS_W83791D_IN6, SENSORS_MODE_RW, + W83781D_SYSCTL_IN6, VALUE(2), 2 }, + { SENSORS_W83791D_IN7_MAX, "in7_max", SENSORS_W83791D_IN7, + SENSORS_W83791D_IN7, SENSORS_MODE_RW, + W83781D_SYSCTL_IN7, VALUE(2), 2 }, + { SENSORS_W83791D_IN8_MAX, "in8_max", SENSORS_W83791D_IN8, + SENSORS_W83791D_IN8, SENSORS_MODE_RW, + W83781D_SYSCTL_IN8, VALUE(2), 2 }, + { SENSORS_W83791D_IN9_MAX, "in9_max", SENSORS_W83791D_IN9, + SENSORS_W83791D_IN9, SENSORS_MODE_RW, + W83781D_SYSCTL_IN9, VALUE(2), 2 }, + { SENSORS_W83791D_FAN1, "fan1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_FAN1, VALUE(2), 0 }, + { SENSORS_W83791D_FAN2, "fan2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_FAN2, VALUE(2), 0 }, + { SENSORS_W83791D_FAN3, "fan3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_FAN3, VALUE(2), 0 }, + { SENSORS_W83791D_FAN4, "fan4", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_FAN4, VALUE(2), 0 }, + { SENSORS_W83791D_FAN5, "fan5", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_FAN5, VALUE(2), 0 }, + { SENSORS_W83791D_FAN1_MIN, "fan1_min", SENSORS_W83791D_FAN1, + SENSORS_W83791D_FAN1, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN1, VALUE(1), 0 }, + { SENSORS_W83791D_FAN2_MIN, "fan2_min", SENSORS_W83791D_FAN2, + SENSORS_W83791D_FAN2, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN2, VALUE(1), 0 }, + { SENSORS_W83791D_FAN3_MIN, "fan3_min", SENSORS_W83791D_FAN3, + SENSORS_W83791D_FAN3, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN3, VALUE(1), 0 }, + { SENSORS_W83791D_FAN4_MIN, "fan4_min", SENSORS_W83791D_FAN4, + SENSORS_W83791D_FAN4, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN4, VALUE(1), 0 }, + { SENSORS_W83791D_FAN5_MIN, "fan5_min", SENSORS_W83791D_FAN5, + SENSORS_W83791D_FAN5, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN5, VALUE(1), 0 }, + { SENSORS_W83791D_TEMP1, "temp1", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_TEMP1, VALUE(3), 1 }, + { SENSORS_W83791D_TEMP1_HYST, "temp1_hyst", SENSORS_W83791D_TEMP1, + SENSORS_W83791D_TEMP1, SENSORS_MODE_RW, + W83781D_SYSCTL_TEMP1, VALUE(2), 1 }, + { SENSORS_W83791D_TEMP1_OVER, "temp1_over", SENSORS_W83791D_TEMP1, + SENSORS_W83791D_TEMP1, SENSORS_MODE_RW, + W83781D_SYSCTL_TEMP1, VALUE(1), 1 }, + { SENSORS_W83791D_TEMP2, "temp2", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_TEMP2, VALUE(3), 1 }, + { SENSORS_W83791D_TEMP2_HYST, "temp2_hyst", SENSORS_W83791D_TEMP2, + SENSORS_W83791D_TEMP2, SENSORS_MODE_RW, + W83781D_SYSCTL_TEMP2, VALUE(2), 1 }, + { SENSORS_W83791D_TEMP2_OVER, "temp2_over", SENSORS_W83791D_TEMP2, + SENSORS_W83791D_TEMP2, SENSORS_MODE_RW, + W83781D_SYSCTL_TEMP2, VALUE(1), 1 }, + { SENSORS_W83791D_TEMP3, "temp3", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_TEMP3, VALUE(3), 1 }, + { SENSORS_W83791D_TEMP3_HYST, "temp3_hyst", SENSORS_W83791D_TEMP3, + SENSORS_W83791D_TEMP3, SENSORS_MODE_RW, + W83781D_SYSCTL_TEMP3, VALUE(2), 1 }, + { SENSORS_W83791D_TEMP3_OVER, "temp3_over", SENSORS_W83791D_TEMP3, + SENSORS_W83791D_TEMP3, SENSORS_MODE_RW, + W83781D_SYSCTL_TEMP3, VALUE(1), 1 }, + { SENSORS_W83791D_VID, "vid", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_VID, VALUE(1), 3 }, + { SENSORS_W83791D_VRM, "vrm", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_RW, W83781D_SYSCTL_VRM, VALUE(1), 1 }, + { SENSORS_W83791D_FAN1_DIV, "fan1_div", SENSORS_W83791D_FAN1, + SENSORS_NO_MAPPING, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN_DIV, VALUE(1), 0 }, + { SENSORS_W83791D_FAN2_DIV, "fan2_div", SENSORS_W83791D_FAN2, + SENSORS_NO_MAPPING, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN_DIV, VALUE(2), 0 }, + { SENSORS_W83791D_FAN3_DIV, "fan3_div", SENSORS_W83781D_FAN3, + SENSORS_NO_MAPPING, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN_DIV, VALUE(3), 0 }, + { SENSORS_W83791D_FAN4_DIV, "fan4_div", SENSORS_W83791D_FAN4, + SENSORS_NO_MAPPING, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN_DIV, VALUE(4), 0 }, + { SENSORS_W83791D_FAN5_DIV, "fan5_div", SENSORS_W83791D_FAN5, + SENSORS_NO_MAPPING, SENSORS_MODE_RW, + W83781D_SYSCTL_FAN_DIV, VALUE(5), 0 }, + { SENSORS_W83791D_ALARMS, "alarms", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, + SENSORS_MODE_R, W83781D_SYSCTL_ALARMS, VALUE(1), 0 }, + { SENSORS_W83791D_BEEP_ENABLE, "beep_enable", SENSORS_W83791D_ALARMS, + SENSORS_NO_MAPPING, SENSORS_MODE_RW, + W83781D_SYSCTL_BEEP, VALUE(1), 0 }, + { SENSORS_W83791D_BEEPS, "beeps", SENSORS_W83791D_ALARMS, + SENSORS_W83791D_ALARMS, SENSORS_MODE_RW, + W83781D_SYSCTL_BEEP, VALUE(2), 0 }, + { 0 } + }; + static sensors_chip_feature adm9240_features[] = { { SENSORS_ADM9240_IN0, "2.5V", SENSORS_NO_MAPPING, SENSORS_NO_MAPPING, @@ -3778,6 +3939,7 @@ sensors_chip_features sensors_chip_features_list[] = { SENSORS_W83697HF_PREFIX, w83782d_features }, /* same as 782d */ /* Cheat on 83627HF for now - no separate #defines */ { SENSORS_W83627HF_PREFIX, w83782d_features }, + { SENSORS_W83791D_PREFIX, w83791d_features }, { SENSORS_AS99127F_PREFIX, as99127f_features }, { SENSORS_ADM9240_PREFIX, adm9240_features }, /* Cheat on LM81 for now - no separate #defines */ diff --git a/lib/chips.h b/lib/chips.h index a2609400..347e0e5f 100644 --- a/lib/chips.h +++ b/lib/chips.h @@ -477,6 +477,83 @@ #define SENSORS_W83782D_PREFIX "w83782d" #define SENSORS_W83627HF_PREFIX "w83627hf" + +#define SENSORS_W83791D_PREFIX "w83791d" + + +#define SENSORS_W83791D_IN0 1 /* R */ +#define SENSORS_W83791D_IN1 2 /* R */ +#define SENSORS_W83791D_IN2 3 /* R */ +#define SENSORS_W83791D_IN3 4 /* R */ +#define SENSORS_W83791D_IN4 5 /* R */ +#define SENSORS_W83791D_IN5 6 /* R */ +#define SENSORS_W83791D_IN6 7 /* R */ +#define SENSORS_W83791D_IN7 8 /* R */ +#define SENSORS_W83791D_IN8 9 /* R */ +#define SENSORS_W83791D_IN9 10 /* R */ + +#define SENSORS_W83791D_IN0_MIN 11 /* RW */ +#define SENSORS_W83791D_IN1_MIN 12 /* RW */ +#define SENSORS_W83791D_IN2_MIN 13 /* RW */ +#define SENSORS_W83791D_IN3_MIN 14 /* RW */ +#define SENSORS_W83791D_IN4_MIN 15 /* RW */ +#define SENSORS_W83791D_IN5_MIN 16 /* RW */ +#define SENSORS_W83791D_IN6_MIN 17 /* RW */ +#define SENSORS_W83791D_IN7_MIN 18 /* RW */ +#define SENSORS_W83791D_IN8_MIN 19 /* RW */ +#define SENSORS_W83791D_IN9_MIN 20 /* RW */ + +#define SENSORS_W83791D_IN0_MAX 21 /* RW */ +#define SENSORS_W83791D_IN1_MAX 22 /* RW */ +#define SENSORS_W83791D_IN2_MAX 23 /* RW */ +#define SENSORS_W83791D_IN3_MAX 24 /* RW */ +#define SENSORS_W83791D_IN4_MAX 25 /* RW */ +#define SENSORS_W83791D_IN5_MAX 26 /* RW */ +#define SENSORS_W83791D_IN6_MAX 27 /* RW */ +#define SENSORS_W83791D_IN7_MAX 28 /* RW */ +#define SENSORS_W83791D_IN8_MAX 29 /* RW */ +#define SENSORS_W83791D_IN9_MAX 30 /* RW */ + +#define SENSORS_W83791D_FAN1 31 /* R */ +#define SENSORS_W83791D_FAN2 32 /* R */ +#define SENSORS_W83791D_FAN3 33 /* R */ +#define SENSORS_W83791D_FAN4 34 /* R */ +#define SENSORS_W83791D_FAN5 35 /* R */ + +#define SENSORS_W83791D_FAN1_MIN 41 /* RW */ +#define SENSORS_W83791D_FAN2_MIN 42 /* RW */ +#define SENSORS_W83791D_FAN3_MIN 43 /* RW */ +#define SENSORS_W83791D_FAN4_MIN 44 /* RW */ +#define SENSORS_W83791D_FAN5_MIN 45 /* RW */ + +#define SENSORS_W83791D_TEMP1 51 /* R */ +#define SENSORS_W83791D_TEMP1_HYST 52 /* RW */ +#define SENSORS_W83791D_TEMP1_OVER 53 /* RW */ +#define SENSORS_W83791D_TEMP2 54 /* R */ +#define SENSORS_W83791D_TEMP2_HYST 55 /* RW */ +#define SENSORS_W83791D_TEMP2_OVER 56 /* RW */ +#define SENSORS_W83791D_TEMP3 57 /* R */ +#define SENSORS_W83791D_TEMP3_HYST 58 /* RW */ +#define SENSORS_W83791D_TEMP3_OVER 59 /* RW */ +#define SENSORS_W83791D_VID 61 /* R */ +#define SENSORS_W83791D_VRM 62 /* RW */ + +#define SENSORS_W83791D_FAN1_DIV 71 /* RW */ +#define SENSORS_W83791D_FAN2_DIV 72 /* RW */ +#define SENSORS_W83791D_FAN3_DIV 73 /* R (yes, really! */ +#define SENSORS_W83791D_FAN4_DIV 74 /* R (yes, really! */ +#define SENSORS_W83791D_FAN5_DIV 75 /* R (yes, really! */ + +#define SENSORS_W83791D_ALARMS 81 /* R */ +#define SENSORS_W83791D_BEEP_ENABLE 82 /* RW */ +#define SENSORS_W83791D_BEEPS 83 /* RW */ +#define SENSORS_W83791D_SENS1 91 /* RW */ +#define SENSORS_W83791D_SENS2 92 /* RW */ +#define SENSORS_W83791D_SENS3 93 /* RW */ + + + + #define SENSORS_AS99127F_PREFIX "as99127f" #define SENSORS_W83782D_IN0 1 /* R */