📄 w83781d
字号:
Kernel driver w83781d=====================Supported chips: * Winbond W83781D Prefix: 'w83781d' Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports) Datasheet: http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/w83781d.pdf * Winbond W83782D Prefix: 'w83782d' Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports) Datasheet: http://www.winbond.com/PDF/sheet/w83782d.pdf * Winbond W83783S Prefix: 'w83783s' Addresses scanned: I2C 0x2d Datasheet: http://www.winbond-usa.com/products/winbond_products/pdfs/PCIC/w83783s.pdf * Winbond W83627HF Prefix: 'w83627hf' Addresses scanned: I2C 0x20 - 0x2f, ISA 0x290 (8 I/O ports) Datasheet: http://www.winbond.com/PDF/sheet/w83627hf.pdf * Asus AS99127F Prefix: 'as99127f' Addresses scanned: I2C 0x28 - 0x2f Datasheet: Unavailable from AsusAuthors: Frodo Looijaard <frodol@dds.nl>, Philip Edelbrock <phil@netroedge.com>, Mark Studebaker <mdsxyz123@yahoo.com>Module parameters-----------------* init int (default 1) Use 'init=0' to bypass initializing the chip. Try this if your computer crashes when you load the module.* reset int (default 0) The driver used to reset the chip on load, but does no more. Use 'reset=1' to restore the old behavior. Report if you need to do this.force_subclients=bus,caddr,saddr,saddr This is used to force the i2c addresses for subclients of a certain chip. Typical usage is `force_subclients=0,0x2d,0x4a,0x4b' to force the subclients of chip 0x2d on bus 0 to i2c addresses 0x4a and 0x4b. This parameter is useful for certain Tyan boards.Description-----------This driver implements support for the Winbond W83781D, W83782D, W83783S,W83627HF chips, and the Asus AS99127F chips. We will refer to themcollectively as W8378* chips.There is quite some difference between these chips, but they are similarenough that it was sensible to put them together in one driver.The W83627HF chip is assumed to be identical to the ISA W83782D.The Asus chips are similar to an I2C-only W83782D.Chip #vin #fanin #pwm #temp wchipid vendid i2c ISAas99127f 7 3 0 3 0x31 0x12c3 yes noas99127f rev.2 (type_name = as99127f) 0x31 0x5ca3 yes now83781d 7 3 0 3 0x10-1 0x5ca3 yes yesw83627hf 9 3 2 3 0x21 0x5ca3 yes yes(LPC)w83782d 9 3 2-4 3 0x30 0x5ca3 yes yesw83783s 5-6 3 2 1-2 0x40 0x5ca3 yes noDetection of these chips can sometimes be foiled because they can be inan internal state that allows no clean access. If you know the addressof the chip, use a 'force' parameter; this will put them into a morewell-behaved state first.The W8378* implements temperature sensors (three on the W83781D and W83782D,two on the W83783S), three fan rotation speed sensors, voltage sensors(seven on the W83781D, nine on the W83782D and six on the W83783S), VIDlines, alarms with beep warnings, and some miscellaneous stuff.Temperatures are measured in degrees Celsius. There is always one maintemperature sensor, and one (W83783S) or two (W83781D and W83782D) othersensors. An alarm is triggered for the main sensor once when theOvertemperature Shutdown limit is crossed; it is triggered again as soon asit drops below the Hysteresis value. A more useful behaviorcan be found by setting the Hysteresis value to +127 degrees Celsius; inthis case, alarms are issued during all the time when the actual temperatureis above the Overtemperature Shutdown value. The driver sets thehysteresis value for temp1 to 127 at initialization.For the other temperature sensor(s), an alarm is triggered when thetemperature gets higher then the Overtemperature Shutdown value; it stayson until the temperature falls below the Hysteresis value. But on theW83781D, there is only one alarm that functions for both other sensors!Temperatures are guaranteed within a range of -55 to +125 degrees. Themain temperature sensors has a resolution of 1 degree; the other sensor(s)of 0.5 degree.Fan rotation speeds are reported in RPM (rotations per minute). An alarm istriggered if the rotation speed has dropped below a programmable limit. Fanreadings can be divided by a programmable divider (1, 2, 4 or 8 for theW83781D; 1, 2, 4, 8, 16, 32, 64 or 128 for the others) to givethe readings more range or accuracy. Not all RPM values can accuratelybe represented, so some rounding is done. With a divider of 2, the lowestrepresentable value is around 2600 RPM.Voltage sensors (also known as IN sensors) report their values in volts.An alarm is triggered if the voltage has crossed a programmable minimumor maximum limit. Note that minimum in this case always means 'closest tozero'; this is important for negative voltage measurements. All voltageinputs can measure voltages between 0 and 4.08 volts, with a resolutionof 0.016 volt.The VID lines encode the core voltage value: the voltage level your processorshould work with. This is hardcoded by the mainboard and/or processor itself.It is a value in volts. When it is unconnected, you will often find thevalue 3.50 V here.The W83782D and W83783S temperature conversion machine understands aboutseveral kinds of temperature probes. You can program the so-calledbeta value in the sensor files. '1' is the PII/Celeron diode, '2' is theTN3904 transistor, and 3435 the default thermistor value. Other valuesare (not yet) supported.In addition to the alarms described above, there is a CHAS alarm on thechips which triggers if your computer case is open.When an alarm goes off, you can be warned by a beeping signal throughyour computer speaker. It is possible to enable all beeping globally,or only the beeping for some alarms.Individual alarm and beep bits:0x000001: in00x000002: in10x000004: in20x000008: in30x000010: temp10x000020: temp2 (+temp3 on W83781D)0x000040: fan10x000080: fan20x000100: in40x000200: in50x000400: in60x000800: fan30x001000: chassis0x002000: temp3 (W83782D and W83627HF only)0x010000: in7 (W83782D and W83627HF only)0x020000: in8 (W83782D and W83627HF only)If an alarm triggers, it will remain triggered until the hardware registeris read at least once. This means that the cause for the alarm mayalready have disappeared! Note that in the current implementation, allhardware registers are read whenever any data is read (unless it is lessthan 1.5 seconds since the last update). This means that you can easilymiss once-only alarms.The chips only update values each 1.5 seconds; reading them more oftenwill do no harm, but will return 'old' values.AS99127F PROBLEMS-----------------The as99127f support was developed without the benefit of a datasheet.In most cases it is treated as a w83781d (although revision 2 of theAS99127F looks more like a w83782d).This support will be BETA until a datasheet is released.One user has reported problems with fans stoppingoccasionally.Note that the individual beep bits are inverted from the other chips.The driver now takes care of this so that user-space applicationsdon't have to know about it.Known problems: - Problems with diode/thermistor settings (supported?) - One user reports fans stopping under high server load. - Revision 2 seems to have 2 PWM registers but we don't know how to handle them. More details below.These will not be fixed unless we get a datasheet.If you have problems, please lobby Asus to release a datasheet.Unfortunately several others have without success.Please do not send mail to us asking for better as99127f support.We have done the best we can without a datasheet.Please do not send mail to the author or the sensors group asking fora datasheet or ideas on how to convince Asus. We can't help.NOTES:----- 783s has no in1 so that in[2-6] are compatible with the 781d/782d. 783s pin is programmable for -5V or temp1; defaults to -5V, no control in driver so temp1 doesn't work. 782d and 783s datasheets differ on which is pwm1 and which is pwm2. We chose to follow 782d. 782d and 783s pin is programmable for fan3 input or pwm2 output; defaults to fan3 input. If pwm2 is enabled (with echo 255 1 > pwm2), then fan3 will report 0. 782d has pwm1-2 for ISA, pwm1-4 for i2c. (pwm3-4 share pins with the ISA pins)Data sheet updates:------------------ - PWM clock registers: 000: master / 512 001: master / 1024 010: master / 2048 011: master / 4096 100: master / 8192
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -