Changeset 3277
- Timestamp:
- 03/28/06 23:31:16 (3 years ago)
- Files:
-
- lm-sensors/trunk/etc/sensors.conf.eg (modified) (1 diff)
- lm-sensors/trunk/lib/chips.c (modified) (2 diffs)
- lm-sensors/trunk/lib/chips.h (modified) (1 diff)
- lm-sensors/trunk/prog/detect/sensors-detect (modified) (1 diff)
- lm-sensors/trunk/prog/sensors/chips.c (modified) (1 diff)
- lm-sensors/trunk/prog/sensors/chips.h (modified) (1 diff)
- lm-sensors/trunk/prog/sensors/main.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
lm-sensors/trunk/etc/sensors.conf.eg
r3273 r3277 2142 2142 # set fan2_min 3000 2143 2143 2144 chip "smsc47m192-*" 2145 2146 # Temperature and voltage input from SMSC LPC47M192 and LPC47M997 chips 2147 # This example works on a Gigabyte K8U motherboard 2148 # Voltages are scaled internally, no computations needed 2149 2150 label in0 "+2.5V" 2151 set in0_min 2.5 * 0.95 2152 set in0_max 2.5 * 1.05 2153 2154 label in1 "VCore" 2155 set in1_min vid * 0.95 2156 set in1_max vid * 1.05 2157 2158 label in2 "+3.3V" 2159 set in2_min 3.3 * 0.95 2160 set in2_max 3.3 * 1.05 2161 2162 label in3 "+5V" 2163 set in3_min 5.0 * 0.95 2164 set in3_max 5.0 * 1.05 2165 2166 label in4 "+12V" 2167 set in4_min 12.0 * 0.95 2168 set in4_max 12.0 * 1.05 2169 2170 label in5 "VCC" 2171 set in5_min 3.3 * 0.95 2172 set in5_max 3.3 * 1.05 2173 2174 label in6 "+1.5V" 2175 set in6_min 1.5 * 0.95 2176 set in6_max 1.5 * 1.05 2177 # ignore in6 2178 2179 label in7 "+1.8V" 2180 set in7_min 1.8 * 0.95 2181 set in7_max 1.8 * 1.05 2182 # Haven't yet heard from any board that has 1.8V connected, so 2183 # this might be more appropriate: 2184 # ignore in7 2185 2186 label temp1 "Chip Temp" 2187 # set temp1_min 0 2188 # set temp1_max 60 2189 2190 label temp2 "CPU Temp" 2191 # set temp2_min 0 2192 # set temp2_max 60 2193 2194 label temp3 "Sys Temp" 2195 # set temp3_min 0 2196 # set temp3_max 60 2144 2197 2145 2198 # lm-sensors/trunk/lib/chips.c
r3272 r3277 4753 4753 }; 4754 4754 4755 static sensors_chip_feature smsc47m192_features[] = 4756 { 4757 { SENSORS_SMSC47M192_IN(0), "in0", NOMAP, NOMAP, 4758 R, NOSYSCTL, VALUE(3), 3 }, 4759 { SENSORS_SMSC47M192_IN(1), "in1", NOMAP, NOMAP, 4760 R, NOSYSCTL, VALUE(3), 3 }, 4761 { SENSORS_SMSC47M192_IN(2), "in2", NOMAP, NOMAP, 4762 R, NOSYSCTL, VALUE(3), 3 }, 4763 { SENSORS_SMSC47M192_IN(3), "in3", NOMAP, NOMAP, 4764 R, NOSYSCTL, VALUE(3), 3 }, 4765 { SENSORS_SMSC47M192_IN(4), "in4", NOMAP, NOMAP, 4766 R, NOSYSCTL, VALUE(3), 3 }, 4767 { SENSORS_SMSC47M192_IN(5), "in5", NOMAP, NOMAP, 4768 R, NOSYSCTL, VALUE(3), 3 }, 4769 { SENSORS_SMSC47M192_IN(6), "in6", NOMAP, NOMAP, 4770 R, NOSYSCTL, VALUE(3), 3 }, 4771 { SENSORS_SMSC47M192_IN(7), "in7", NOMAP, NOMAP, 4772 R, NOSYSCTL, VALUE(3), 3 }, 4773 { SENSORS_SMSC47M192_IN_MIN(0), "in0_min", SENSORS_SMSC47M192_IN(0), 4774 SENSORS_SMSC47M192_IN(0), RW, NOSYSCTL, VALUE(1), 3 }, 4775 { SENSORS_SMSC47M192_IN_MIN(1), "in1_min", SENSORS_SMSC47M192_IN(1), 4776 SENSORS_SMSC47M192_IN(1), RW, NOSYSCTL, VALUE(1), 3 }, 4777 { SENSORS_SMSC47M192_IN_MIN(2), "in2_min", SENSORS_SMSC47M192_IN(2), 4778 SENSORS_SMSC47M192_IN(2), RW, NOSYSCTL, VALUE(1), 3 }, 4779 { SENSORS_SMSC47M192_IN_MIN(3), "in3_min", SENSORS_SMSC47M192_IN(3), 4780 SENSORS_SMSC47M192_IN(3), RW, NOSYSCTL, VALUE(1), 3 }, 4781 { SENSORS_SMSC47M192_IN_MIN(4), "in4_min", SENSORS_SMSC47M192_IN(4), 4782 SENSORS_SMSC47M192_IN(4), RW, NOSYSCTL, VALUE(1), 3 }, 4783 { SENSORS_SMSC47M192_IN_MIN(5), "in5_min", SENSORS_SMSC47M192_IN(5), 4784 SENSORS_SMSC47M192_IN(5), RW, NOSYSCTL, VALUE(1), 3 }, 4785 { SENSORS_SMSC47M192_IN_MIN(6), "in6_min", SENSORS_SMSC47M192_IN(6), 4786 SENSORS_SMSC47M192_IN(6), RW, NOSYSCTL, VALUE(1), 3 }, 4787 { SENSORS_SMSC47M192_IN_MIN(7), "in7_min", SENSORS_SMSC47M192_IN(7), 4788 SENSORS_SMSC47M192_IN(7), RW, NOSYSCTL, VALUE(1), 3 }, 4789 { SENSORS_SMSC47M192_IN_MAX(0), "in0_max", SENSORS_SMSC47M192_IN(0), 4790 SENSORS_SMSC47M192_IN(0), RW, NOSYSCTL, VALUE(2), 3 }, 4791 { SENSORS_SMSC47M192_IN_MAX(1), "in1_max", SENSORS_SMSC47M192_IN(1), 4792 SENSORS_SMSC47M192_IN(1), RW, NOSYSCTL, VALUE(2), 3 }, 4793 { SENSORS_SMSC47M192_IN_MAX(2), "in2_max", SENSORS_SMSC47M192_IN(2), 4794 SENSORS_SMSC47M192_IN(2), RW, NOSYSCTL, VALUE(2), 3 }, 4795 { SENSORS_SMSC47M192_IN_MAX(3), "in3_max", SENSORS_SMSC47M192_IN(3), 4796 SENSORS_SMSC47M192_IN(3), RW, NOSYSCTL, VALUE(2), 3 }, 4797 { SENSORS_SMSC47M192_IN_MAX(4), "in4_max", SENSORS_SMSC47M192_IN(4), 4798 SENSORS_SMSC47M192_IN(4), RW, NOSYSCTL, VALUE(2), 3 }, 4799 { SENSORS_SMSC47M192_IN_MAX(5), "in5_max", SENSORS_SMSC47M192_IN(5), 4800 SENSORS_SMSC47M192_IN(5), RW, NOSYSCTL, VALUE(2), 3 }, 4801 { SENSORS_SMSC47M192_IN_MAX(6), "in6_max", SENSORS_SMSC47M192_IN(6), 4802 SENSORS_SMSC47M192_IN(6), RW, NOSYSCTL, VALUE(2), 3 }, 4803 { SENSORS_SMSC47M192_IN_MAX(7), "in7_max", SENSORS_SMSC47M192_IN(7), 4804 SENSORS_SMSC47M192_IN(7), RW, NOSYSCTL, VALUE(2), 3 }, 4805 { SENSORS_SMSC47M192_IN_ALARM(0), "in0_alarm", SENSORS_SMSC47M192_IN(0), 4806 NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4807 { SENSORS_SMSC47M192_IN_ALARM(1), "in1_alarm", SENSORS_SMSC47M192_IN(1), 4808 NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4809 { SENSORS_SMSC47M192_IN_ALARM(2), "in2_alarm", SENSORS_SMSC47M192_IN(2), 4810 NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4811 { SENSORS_SMSC47M192_IN_ALARM(3), "in3_alarm", SENSORS_SMSC47M192_IN(3), 4812 NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4813 { SENSORS_SMSC47M192_IN_ALARM(4), "in4_alarm", SENSORS_SMSC47M192_IN(4), 4814 NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4815 { SENSORS_SMSC47M192_IN_ALARM(5), "in5_alarm", SENSORS_SMSC47M192_IN(5), 4816 NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4817 { SENSORS_SMSC47M192_IN_ALARM(6), "in6_alarm", SENSORS_SMSC47M192_IN(6), 4818 NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4819 { SENSORS_SMSC47M192_IN_ALARM(7), "in7_alarm", SENSORS_SMSC47M192_IN(7), 4820 NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4821 { SENSORS_SMSC47M192_TEMP(1), "temp1", NOMAP, NOMAP, 4822 R, NOSYSCTL, VALUE(3), 0 }, 4823 { SENSORS_SMSC47M192_TEMP(2), "temp2", NOMAP, NOMAP, 4824 R, NOSYSCTL, VALUE(3), 0 }, 4825 { SENSORS_SMSC47M192_TEMP(3), "temp3", NOMAP, NOMAP, 4826 R, NOSYSCTL, VALUE(3), 0 }, 4827 { SENSORS_SMSC47M192_TEMP_MIN(1), "temp1_min", SENSORS_SMSC47M192_TEMP(1), 4828 SENSORS_SMSC47M192_TEMP(1), RW, NOSYSCTL, VALUE(2), 0 }, 4829 { SENSORS_SMSC47M192_TEMP_MIN(2), "temp2_min", SENSORS_SMSC47M192_TEMP(2), 4830 SENSORS_SMSC47M192_TEMP(2), RW, NOSYSCTL, VALUE(2), 0 }, 4831 { SENSORS_SMSC47M192_TEMP_MIN(3), "temp3_min", SENSORS_SMSC47M192_TEMP(3), 4832 SENSORS_SMSC47M192_TEMP(3), RW, NOSYSCTL, VALUE(2), 0 }, 4833 { SENSORS_SMSC47M192_TEMP_MAX(1), "temp1_max", SENSORS_SMSC47M192_TEMP(1), 4834 SENSORS_SMSC47M192_TEMP(1), RW, NOSYSCTL, VALUE(1), 0 }, 4835 { SENSORS_SMSC47M192_TEMP_MAX(2), "temp2_max", SENSORS_SMSC47M192_TEMP(2), 4836 SENSORS_SMSC47M192_TEMP(2), RW, NOSYSCTL, VALUE(1), 0 }, 4837 { SENSORS_SMSC47M192_TEMP_MAX(3), "temp3_max", SENSORS_SMSC47M192_TEMP(3), 4838 SENSORS_SMSC47M192_TEMP(3), RW, NOSYSCTL, VALUE(1), 0 }, 4839 { SENSORS_SMSC47M192_TEMP_ALARM(1), "temp1_alarm", 4840 SENSORS_SMSC47M192_TEMP(1), NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4841 { SENSORS_SMSC47M192_TEMP_ALARM(2), "temp2_alarm", 4842 SENSORS_SMSC47M192_TEMP(2), NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4843 { SENSORS_SMSC47M192_TEMP_ALARM(3), "temp3_alarm", 4844 SENSORS_SMSC47M192_TEMP(3), NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4845 { SENSORS_SMSC47M192_TEMP_FAULT(2), "temp2_input_fault", 4846 SENSORS_SMSC47M192_TEMP(2), NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4847 { SENSORS_SMSC47M192_TEMP_FAULT(3), "temp3_input_fault", 4848 SENSORS_SMSC47M192_TEMP(3), NOMAP, R, NOSYSCTL, VALUE(1), 0 }, 4849 { SENSORS_SMSC47M192_VID, "vid", NOMAP, NOMAP, R, NOSYSCTL, VALUE(1), 3 }, 4850 { SENSORS_SMSC47M192_VRM, "vrm", NOMAP, NOMAP, RW, NOSYSCTL, VALUE(1), 1 }, 4851 { 0 } 4852 }; 4853 4854 4755 4855 static sensors_chip_feature pc87360_features[] = 4756 4856 { … … 5741 5841 { SENSORS_PCF8591_PREFIX, pcf8591_features }, 5742 5842 { SENSORS_VT1211_PREFIX, vt1211_features }, 5843 { SENSORS_SMSC47M192_PREFIX, smsc47m192_features }, 5743 5844 { SENSORS_SMSC47M1_PREFIX, smsc47m1_features }, 5744 5845 { SENSORS_PC87360_PREFIX, pc87360_features }, lm-sensors/trunk/lib/chips.h
r3272 r3277 1796 1796 #define SENSORS_SMSC47M1_ALARMS 81 /* R */ 1797 1797 1798 #define SENSORS_SMSC47M192_PREFIX "smsc47m192" 1799 1800 #define SENSORS_SMSC47M192_IN(n) (1 + (n)) /* R */ 1801 #define SENSORS_SMSC47M192_IN_MIN(n) (21 + (n)) /* RW */ 1802 #define SENSORS_SMSC47M192_IN_MAX(n) (41 + (n)) /* RW */ 1803 #define SENSORS_SMSC47M192_IN_ALARM(n) (61 + (n)) /* R */ 1804 #define SENSORS_SMSC47M192_TEMP(n) (100 + (n)) /* R */ 1805 #define SENSORS_SMSC47M192_TEMP_MAX(n) (120 + (n)) /* RW */ 1806 #define SENSORS_SMSC47M192_TEMP_MIN(n) (140 + (n)) /* RW */ 1807 #define SENSORS_SMSC47M192_TEMP_OFFSET(n) (160 + (n)) /* RW */ 1808 #define SENSORS_SMSC47M192_TEMP_ALARM(n) (180 + (n)) /* R */ 1809 #define SENSORS_SMSC47M192_TEMP_FAULT(n) (200 + (n)) /* R */ 1810 #define SENSORS_SMSC47M192_VID 301 /* R */ 1811 #define SENSORS_SMSC47M192_VRM 302 /* RW */ 1812 1798 1813 #define SENSORS_PC87360_PREFIX "pc87360" 1799 1814 #define SENSORS_PC87363_PREFIX "pc87363" lm-sensors/trunk/prog/detect/sensors-detect
r3274 r3277 1490 1490 { 1491 1491 name => "SMSC LPC47M15x, LPC47M192 or LPC47M997", 1492 driver => " to-be-written",1492 driver => "smsc47m192", 1493 1493 i2c_addrs => [0x2c..0x2d], 1494 1494 i2c_detect => sub { smsc47m192_detect @_ }, lm-sensors/trunk/prog/sensors/chips.c
r3272 r3277 4461 4461 } 4462 4462 4463 void print_smsc47m192(const sensors_chip_name *name) 4464 { 4465 char *label; 4466 double cur, min, max; 4467 int valid, i; 4468 4469 for (i=0; i<8; i++) { 4470 if (!sensors_get_label_and_valid(*name, SENSORS_SMSC47M192_IN(i), 4471 &label, &valid) && 4472 !sensors_get_feature(*name, SENSORS_SMSC47M192_IN(i), &cur) && 4473 !sensors_get_feature(*name, SENSORS_SMSC47M192_IN_MIN(i), &min) && 4474 !sensors_get_feature(*name, SENSORS_SMSC47M192_IN_MAX(i), &max)) { 4475 if (valid) { 4476 print_label(label,10); 4477 printf("%+6.2f V (min = %+6.2f V, max = %+6.2f V) ", cur, min, max); 4478 if (!sensors_get_feature(*name, SENSORS_SMSC47M192_IN_ALARM(i), &cur)) 4479 if (cur > 0.5) 4480 printf("ALARM"); 4481 printf("\n"); 4482 } 4483 } else 4484 if (i!=4) /* Chip may have +12V input used for VID instead */ 4485 printf("ERROR: Can't get IN%d data!\n", i); 4486 free(label); 4487 } 4488 for (i=1; i<=3; i++) { 4489 if (!sensors_get_label_and_valid(*name, SENSORS_SMSC47M192_TEMP(i), 4490 &label, &valid) && 4491 !sensors_get_feature(*name, SENSORS_SMSC47M192_TEMP(i), &cur) && 4492 !sensors_get_feature(*name, SENSORS_SMSC47M192_TEMP_MIN(i), &min) && 4493 !sensors_get_feature(*name, SENSORS_SMSC47M192_TEMP_MAX(i), &max)) { 4494 if (valid) { 4495 print_label(label,10); 4496 print_temp_info( cur, max, min, MINMAX, 1, 0); 4497 if (i > 1 && !sensors_get_feature(*name, 4498 SENSORS_SMSC47M192_TEMP_FAULT(i), &cur)) { 4499 if (cur > 0.5) 4500 printf("FAULT"); 4501 } else 4502 if (!sensors_get_feature(*name, SENSORS_SMSC47M192_TEMP_ALARM(i), &cur)) 4503 if (cur > 0.5) 4504 printf("ALARM"); 4505 printf("\n"); 4506 } 4507 } else 4508 printf("ERROR: Can't get TEMP%d data!\n", i); 4509 free(label); 4510 } 4511 print_vid_info(name, SENSORS_SMSC47M192_VID, SENSORS_SMSC47M192_VRM); 4512 } 4513 4463 4514 void print_pc87360(const sensors_chip_name *name) 4464 4515 { lm-sensors/trunk/prog/sensors/chips.h
r3169 r3277 56 56 extern void print_vt1211(const sensors_chip_name *name); 57 57 extern void print_smsc47m1(const sensors_chip_name *name); 58 extern void print_smsc47m192(const sensors_chip_name *name); 58 59 extern void print_pc87360(const sensors_chip_name *name); 59 60 extern void print_pc87364(const sensors_chip_name *name); lm-sensors/trunk/prog/sensors/main.c
r3226 r3277 389 389 { "pcf8591", print_pcf8591 }, 390 390 { "vt1211", print_vt1211 }, 391 { "smsc47m192", print_smsc47m192 }, 391 392 { "smsc47m1", print_smsc47m1 }, 392 393 { "pc87360", print_pc87360 },
