diff options
author | Mauro Carvalho Chehab <mchehab+samsung@kernel.org> | 2019-04-17 12:46:29 +0300 |
---|---|---|
committer | Guenter Roeck <linux@roeck-us.net> | 2019-04-17 20:37:23 +0300 |
commit | 7ebd8b66dd9e5a0b65e5ee5e2b8e7ca382ec97b7 (patch) | |
tree | 9db30159bd32bec125c7d49e80a79bb7c4da0c8e /Documentation/hwmon/lm93 | |
parent | b04f2f7d387b3160883c2a1f5e2285483a791e82 (diff) | |
download | linux-7ebd8b66dd9e5a0b65e5ee5e2b8e7ca382ec97b7.tar.xz |
docs: hwmon: Add an index file and rename docs to *.rst
Now that all files were converted to ReST format, rename them
and add an index.
Signed-off-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Diffstat (limited to 'Documentation/hwmon/lm93')
-rw-r--r-- | Documentation/hwmon/lm93 | 312 |
1 files changed, 0 insertions, 312 deletions
diff --git a/Documentation/hwmon/lm93 b/Documentation/hwmon/lm93 deleted file mode 100644 index 49d199b45b67..000000000000 --- a/Documentation/hwmon/lm93 +++ /dev/null @@ -1,312 +0,0 @@ -Kernel driver lm93 -================== - -Supported chips: - - * National Semiconductor LM93 - - Prefix 'lm93' - - Addresses scanned: I2C 0x2c-0x2e - - Datasheet: http://www.national.com/ds.cgi/LM/LM93.pdf - - * National Semiconductor LM94 - - Prefix 'lm94' - - Addresses scanned: I2C 0x2c-0x2e - - Datasheet: http://www.national.com/ds.cgi/LM/LM94.pdf - - -Authors: - - Mark M. Hoffman <mhoffman@lightlink.com> - - Ported to 2.6 by Eric J. Bowersox <ericb@aspsys.com> - - Adapted to 2.6.20 by Carsten Emde <ce@osadl.org> - - Modified for mainline integration by Hans J. Koch <hjk@hansjkoch.de> - -Module Parameters ------------------ - -* init: integer - Set to non-zero to force some initializations (default is 0). -* disable_block: integer - A "0" allows SMBus block data transactions if the host supports them. A "1" - disables SMBus block data transactions. The default is 0. -* vccp_limit_type: integer array (2) - Configures in7 and in8 limit type, where 0 means absolute and non-zero - means relative. "Relative" here refers to "Dynamic Vccp Monitoring using - VID" from the datasheet. It greatly simplifies the interface to allow - only one set of limits (absolute or relative) to be in operation at a - time (even though the hardware is capable of enabling both). There's - not a compelling use case for enabling both at once, anyway. The default - is "0,0". -* vid_agtl: integer - A "0" configures the VID pins for V(ih) = 2.1V min, V(il) = 0.8V max. - A "1" configures the VID pins for V(ih) = 0.8V min, V(il) = 0.4V max. - (The latter setting is referred to as AGTL+ Compatible in the datasheet.) - I.e. this parameter controls the VID pin input thresholds; if your VID - inputs are not working, try changing this. The default value is "0". - - -Hardware Description --------------------- - -(from the datasheet) - -The LM93 hardware monitor has a two wire digital interface compatible with -SMBus 2.0. Using an 8-bit ADC, the LM93 measures the temperature of two remote -diode connected transistors as well as its own die and 16 power supply -voltages. To set fan speed, the LM93 has two PWM outputs that are each -controlled by up to four temperature zones. The fancontrol algorithm is lookup -table based. The LM93 includes a digital filter that can be invoked to smooth -temperature readings for better control of fan speed. The LM93 has four -tachometer inputs to measure fan speed. Limit and status registers for all -measured values are included. The LM93 builds upon the functionality of -previous motherboard management ASICs and uses some of the LM85's features -(i.e. smart tachometer mode). It also adds measurement and control support -for dynamic Vccp monitoring and PROCHOT. It is designed to monitor a dual -processor Xeon class motherboard with a minimum of external components. - -LM94 is also supported in LM93 compatible mode. Extra sensors and features of -LM94 are not supported. - - -User Interface --------------- - -#PROCHOT -^^^^^^^^ - -The LM93 can monitor two #PROCHOT signals. The results are found in the -sysfs files prochot1, prochot2, prochot1_avg, prochot2_avg, prochot1_max, -and prochot2_max. prochot1_max and prochot2_max contain the user limits -for #PROCHOT1 and #PROCHOT2, respectively. prochot1 and prochot2 contain -the current readings for the most recent complete time interval. The -value of prochot1_avg and prochot2_avg is something like a 2 period -exponential moving average (but not quite - check the datasheet). Note -that this third value is calculated by the chip itself. All values range -from 0-255 where 0 indicates no throttling, and 255 indicates > 99.6%. - -The monitoring intervals for the two #PROCHOT signals is also configurable. -These intervals can be found in the sysfs files prochot1_interval and -prochot2_interval. The values in these files specify the intervals for -#P1_PROCHOT and #P2_PROCHOT, respectively. Selecting a value not in this -list will cause the driver to use the next largest interval. The available -intervals are (in seconds): - -#PROCHOT intervals: - 0.73, 1.46, 2.9, 5.8, 11.7, 23.3, 46.6, 93.2, 186, 372 - -It is possible to configure the LM93 to logically short the two #PROCHOT -signals. I.e. when #P1_PROCHOT is asserted, the LM93 will automatically -assert #P2_PROCHOT, and vice-versa. This mode is enabled by writing a -non-zero integer to the sysfs file prochot_short. - -The LM93 can also override the #PROCHOT pins by driving a PWM signal onto -one or both of them. When overridden, the signal has a period of 3.56 ms, -a minimum pulse width of 5 clocks (at 22.5kHz => 6.25% duty cycle), and -a maximum pulse width of 80 clocks (at 22.5kHz => 99.88% duty cycle). - -The sysfs files prochot1_override and prochot2_override contain boolean -integers which enable or disable the override function for #P1_PROCHOT and -#P2_PROCHOT, respectively. The sysfs file prochot_override_duty_cycle -contains a value controlling the duty cycle for the PWM signal used when -the override function is enabled. This value ranges from 0 to 15, with 0 -indicating minimum duty cycle and 15 indicating maximum. - -#VRD_HOT -^^^^^^^^ - -The LM93 can monitor two #VRD_HOT signals. The results are found in the -sysfs files vrdhot1 and vrdhot2. There is one value per file: a boolean for -which 1 indicates #VRD_HOT is asserted and 0 indicates it is negated. These -files are read-only. - -Smart Tach Mode (from the datasheet):: - - If a fan is driven using a low-side drive PWM, the tachometer - output of the fan is corrupted. The LM93 includes smart tachometer - circuitry that allows an accurate tachometer reading to be - achieved despite the signal corruption. In smart tach mode all - four signals are measured within 4 seconds. - -Smart tach mode is enabled by the driver by writing 1 or 2 (associating the -the fan tachometer with a pwm) to the sysfs file fan<n>_smart_tach. A zero -will disable the function for that fan. Note that Smart tach mode cannot be -enabled if the PWM output frequency is 22500 Hz (see below). - -Manual PWM -^^^^^^^^^^ - -The LM93 has a fixed or override mode for the two PWM outputs (although, there -are still some conditions that will override even this mode - see section -15.10.6 of the datasheet for details.) The sysfs files pwm1_override -and pwm2_override are used to enable this mode; each is a boolean integer -where 0 disables and 1 enables the manual control mode. The sysfs files pwm1 -and pwm2 are used to set the manual duty cycle; each is an integer (0-255) -where 0 is 0% duty cycle, and 255 is 100%. Note that the duty cycle values -are constrained by the hardware. Selecting a value which is not available -will cause the driver to use the next largest value. Also note: when manual -PWM mode is disabled, the value of pwm1 and pwm2 indicates the current duty -cycle chosen by the h/w. - -PWM Output Frequency -^^^^^^^^^^^^^^^^^^^^ - -The LM93 supports several different frequencies for the PWM output channels. -The sysfs files pwm1_freq and pwm2_freq are used to select the frequency. The -frequency values are constrained by the hardware. Selecting a value which is -not available will cause the driver to use the next largest value. Also note -that this parameter has implications for the Smart Tach Mode (see above). - -PWM Output Frequencies (in Hz): - 12, 36, 48, 60, 72, 84, 96, 22500 (default) - -Automatic PWM -^^^^^^^^^^^^^ - -The LM93 is capable of complex automatic fan control, with many different -points of configuration. To start, each PWM output can be bound to any -combination of eight control sources. The final PWM is the largest of all -individual control sources to which the PWM output is bound. - -The eight control sources are: temp1-temp4 (aka "zones" in the datasheet), -#PROCHOT 1 & 2, and #VRDHOT 1 & 2. The bindings are expressed as a bitmask -in the sysfs files pwm<n>_auto_channels, where a "1" enables the binding, and -a "0" disables it. The h/w default is 0x0f (all temperatures bound). - - ====== =========== - 0x01 Temp 1 - 0x02 Temp 2 - 0x04 Temp 3 - 0x08 Temp 4 - 0x10 #PROCHOT 1 - 0x20 #PROCHOT 2 - 0x40 #VRDHOT 1 - 0x80 #VRDHOT 2 - ====== =========== - -The function y = f(x) takes a source temperature x to a PWM output y. This -function of the LM93 is derived from a base temperature and a table of 12 -temperature offsets. The base temperature is expressed in degrees C in the -sysfs files temp<n>_auto_base. The offsets are expressed in cumulative -degrees C, with the value of offset <i> for temperature value <n> being -contained in the file temp<n>_auto_offset<i>. E.g. if the base temperature -is 40C: - - ========== ======================= =============== ======= - offset # temp<n>_auto_offset<i> range pwm - ========== ======================= =============== ======= - 1 0 - 25.00% - 2 0 - 28.57% - 3 1 40C - 41C 32.14% - 4 1 41C - 42C 35.71% - 5 2 42C - 44C 39.29% - 6 2 44C - 46C 42.86% - 7 2 48C - 50C 46.43% - 8 2 50C - 52C 50.00% - 9 2 52C - 54C 53.57% - 10 2 54C - 56C 57.14% - 11 2 56C - 58C 71.43% - 12 2 58C - 60C 85.71% - - - > 60C 100.00% - ========== ======================= =============== ======= - -Valid offsets are in the range 0C <= x <= 7.5C in 0.5C increments. - -There is an independent base temperature for each temperature channel. Note, -however, there are only two tables of offsets: one each for temp[12] and -temp[34]. Therefore, any change to e.g. temp1_auto_offset<i> will also -affect temp2_auto_offset<i>. - -The LM93 can also apply hysteresis to the offset table, to prevent unwanted -oscillation between two steps in the offsets table. These values are found in -the sysfs files temp<n>_auto_offset_hyst. The value in this file has the -same representation as in temp<n>_auto_offset<i>. - -If a temperature reading falls below the base value for that channel, the LM93 -will use the minimum PWM value. These values are found in the sysfs files -temp<n>_auto_pwm_min. Note, there are only two minimums: one each for temp[12] -and temp[34]. Therefore, any change to e.g. temp1_auto_pwm_min will also -affect temp2_auto_pwm_min. - -PWM Spin-Up Cycle -^^^^^^^^^^^^^^^^^ - -A spin-up cycle occurs when a PWM output is commanded from 0% duty cycle to -some value > 0%. The LM93 supports a minimum duty cycle during spin-up. These -values are found in the sysfs files pwm<n>_auto_spinup_min. The value in this -file has the same representation as other PWM duty cycle values. The -duration of the spin-up cycle is also configurable. These values are found in -the sysfs files pwm<n>_auto_spinup_time. The value in this file is -the spin-up time in seconds. The available spin-up times are constrained by -the hardware. Selecting a value which is not available will cause the driver -to use the next largest value. - -Spin-up Durations: - 0 (disabled, h/w default), 0.1, 0.25, 0.4, 0.7, 1.0, 2.0, 4.0 - -#PROCHOT and #VRDHOT PWM Ramping -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - -If the #PROCHOT or #VRDHOT signals are asserted while bound to a PWM output -channel, the LM93 will ramp the PWM output up to 100% duty cycle in discrete -steps. The duration of each step is configurable. There are two files, with -one value each in seconds: pwm_auto_prochot_ramp and pwm_auto_vrdhot_ramp. -The available ramp times are constrained by the hardware. Selecting a value -which is not available will cause the driver to use the next largest value. - -Ramp Times: - 0 (disabled, h/w default) to 0.75 in 0.05 second intervals - -Fan Boost -^^^^^^^^^ - -For each temperature channel, there is a boost temperature: if the channel -exceeds this limit, the LM93 will immediately drive both PWM outputs to 100%. -This limit is expressed in degrees C in the sysfs files temp<n>_auto_boost. -There is also a hysteresis temperature for this function: after the boost -limit is reached, the temperature channel must drop below this value before -the boost function is disabled. This temperature is also expressed in degrees -C in the sysfs files temp<n>_auto_boost_hyst. - -GPIO Pins -^^^^^^^^^ - -The LM93 can monitor the logic level of four dedicated GPIO pins as well as the -four tach input pins. GPIO0-GPIO3 correspond to (fan) tach 1-4, respectively. -All eight GPIOs are read by reading the bitmask in the sysfs file gpio. The -LSB is GPIO0, and the MSB is GPIO7. - - -LM93 Unique sysfs Files ------------------------ - -=========================== =============================================== -file description -=========================== =============================================== -prochot<n> current #PROCHOT % -prochot<n>_avg moving average #PROCHOT % -prochot<n>_max limit #PROCHOT % -prochot_short enable or disable logical #PROCHOT pin short -prochot<n>_override force #PROCHOT assertion as PWM -prochot_override_duty_cycle duty cycle for the PWM signal used when - #PROCHOT is overridden -prochot<n>_interval #PROCHOT PWM sampling interval -vrdhot<n> 0 means negated, 1 means asserted -fan<n>_smart_tach enable or disable smart tach mode -pwm<n>_auto_channels select control sources for PWM outputs -pwm<n>_auto_spinup_min minimum duty cycle during spin-up -pwm<n>_auto_spinup_time duration of spin-up -pwm_auto_prochot_ramp ramp time per step when #PROCHOT asserted -pwm_auto_vrdhot_ramp ramp time per step when #VRDHOT asserted -temp<n>_auto_base temperature channel base -temp<n>_auto_offset[1-12] temperature channel offsets -temp<n>_auto_offset_hyst temperature channel offset hysteresis -temp<n>_auto_boost temperature channel boost (PWMs to 100%) - limit -temp<n>_auto_boost_hyst temperature channel boost hysteresis -gpio input state of 8 GPIO pins; read-only -=========================== =============================================== |