linux/Documentation/hwmon/pc87360
<<
>>
Prefs
   1Kernel driver pc87360
   2=====================
   3
   4Supported chips:
   5  * National Semiconductor PC87360, PC87363, PC87364, PC87365 and PC87366
   6    Prefixes: 'pc87360', 'pc87363', 'pc87364', 'pc87365', 'pc87366'
   7    Addresses scanned: none, address read from Super I/O config space
   8    Datasheets: No longer available
   9
  10Authors: Jean Delvare <khali@linux-fr.org>
  11
  12Thanks to Sandeep Mehta, Tonko de Rooy and Daniel Ceregatti for testing.
  13Thanks to Rudolf Marek for helping me investigate conversion issues.
  14
  15
  16Module Parameters
  17-----------------
  18
  19* init int
  20  Chip initialization level:
  21   0: None
  22  *1: Forcibly enable internal voltage and temperature channels, except in9
  23   2: Forcibly enable all voltage and temperature channels, except in9
  24   3: Forcibly enable all voltage and temperature channels, including in9
  25
  26Note that this parameter has no effect for the PC87360, PC87363 and PC87364
  27chips.
  28
  29Also note that for the PC87366, initialization levels 2 and 3 don't enable
  30all temperature channels, because some of them share pins with each other,
  31so they can't be used at the same time.
  32
  33
  34Description
  35-----------
  36
  37The National Semiconductor PC87360 Super I/O chip contains monitoring and
  38PWM control circuitry for two fans. The PC87363 chip is similar, and the
  39PC87364 chip has monitoring and PWM control for a third fan.
  40
  41The National Semiconductor PC87365 and PC87366 Super I/O chips are complete
  42hardware monitoring chipsets, not only controlling and monitoring three fans,
  43but also monitoring eleven voltage inputs and two (PC87365) or up to four
  44(PC87366) temperatures.
  45
  46  Chip        #vin    #fan    #pwm    #temp   devid
  47
  48  PC87360     -       2       2       -       0xE1
  49  PC87363     -       2       2       -       0xE8
  50  PC87364     -       3       3       -       0xE4
  51  PC87365     11      3       3       2       0xE5
  52  PC87366     11      3       3       3-4     0xE9
  53
  54The driver assumes that no more than one chip is present, and one of the
  55standard Super I/O addresses is used (0x2E/0x2F or 0x4E/0x4F)
  56
  57Fan Monitoring
  58--------------
  59
  60Fan rotation speeds are reported in RPM (revolutions per minute). An alarm
  61is triggered if the rotation speed has dropped below a programmable limit.
  62A different alarm is triggered if the fan speed is too low to be measured.
  63
  64Fan readings are affected by a programmable clock divider, giving the
  65readings more range or accuracy. Usually, users have to learn how it works,
  66but this driver implements dynamic clock divider selection, so you don't
  67have to care no more.
  68
  69For reference, here are a few values about clock dividers:
  70
  71                slowest         accuracy        highest
  72                measurable      around 3000     accurate
  73    divider     speed (RPM)     RPM (RPM)       speed (RPM)
  74         1        1882              18           6928
  75         2         941              37           4898
  76         4         470              74           3464
  77         8         235             150           2449
  78
  79For the curious, here is how the values above were computed:
  80 * slowest measurable speed: clock/(255*divider)
  81 * accuracy around 3000 RPM: 3000^2/clock
  82 * highest accurate speed: sqrt(clock*100)
  83The clock speed for the PC87360 family is 480 kHz. I arbitrarily chose 100
  84RPM as the lowest acceptable accuracy.
  85
  86As mentioned above, you don't have to care about this no more.
  87
  88Note that not all RPM values can be represented, even when the best clock
  89divider is selected. This is not only true for the measured speeds, but
  90also for the programmable low limits, so don't be surprised if you try to
  91set, say, fan1_min to 2900 and it finally reads 2909.
  92
  93
  94Fan Control
  95-----------
  96
  97PWM (pulse width modulation) values range from 0 to 255, with 0 meaning
  98that the fan is stopped, and 255 meaning that the fan goes at full speed.
  99
 100Be extremely careful when changing PWM values. Low PWM values, even
 101non-zero, can stop the fan, which may cause irreversible damage to your
 102hardware if temperature increases too much. When changing PWM values, go
 103step by step and keep an eye on temperatures.
 104
 105One user reported problems with PWM. Changing PWM values would break fan
 106speed readings. No explanation nor fix could be found.
 107
 108
 109Temperature Monitoring
 110----------------------
 111
 112Temperatures are reported in degrees Celsius. Each temperature measured has
 113associated low, high and overtemperature limits, each of which triggers an
 114alarm when crossed.
 115
 116The first two temperature channels are external. The third one (PC87366
 117only) is internal.
 118
 119The PC87366 has three additional temperature channels, based on
 120thermistors (as opposed to thermal diodes for the first three temperature
 121channels). For technical reasons, these channels are held by the VLM
 122(voltage level monitor) logical device, not the TMS (temperature
 123measurement) one. As a consequence, these temperatures are exported as
 124voltages, and converted into temperatures in user-space.
 125
 126Note that these three additional channels share their pins with the
 127external thermal diode channels, so you (physically) can't use them all at
 128the same time. Although it should be possible to mix the two sensor types,
 129the documents from National Semiconductor suggest that motherboard
 130manufacturers should choose one type and stick to it. So you will more
 131likely have either channels 1 to 3 (thermal diodes) or 3 to 6 (internal
 132thermal diode, and thermistors).
 133
 134
 135Voltage Monitoring
 136------------------
 137
 138Voltages are reported relatively to a reference voltage, either internal or
 139external. Some of them (in7:Vsb, in8:Vdd and in10:AVdd) are divided by two
 140internally, you will have to compensate in sensors.conf. Others (in0 to in6)
 141are likely to be divided externally. The meaning of each of these inputs as
 142well as the values of the resistors used for division is left to the
 143motherboard manufacturers, so you will have to document yourself and edit
 144sensors.conf accordingly. National Semiconductor has a document with
 145recommended resistor values for some voltages, but this still leaves much
 146room for per motherboard specificities, unfortunately. Even worse,
 147motherboard manufacturers don't seem to care about National Semiconductor's
 148recommendations.
 149
 150Each voltage measured has associated low and high limits, each of which
 151triggers an alarm when crossed.
 152
 153When available, VID inputs are used to provide the nominal CPU Core voltage.
 154The driver will default to VRM 9.0, but this can be changed from user-space.
 155The chipsets can handle two sets of VID inputs (on dual-CPU systems), but
 156the driver will only export one for now. This may change later if there is
 157a need.
 158
 159
 160General Remarks
 161---------------
 162
 163If an alarm triggers, it will remain triggered until the hardware register
 164is read at least once. This means that the cause for the alarm may already
 165have disappeared! Note that all hardware registers are read whenever any
 166data is read (unless it is less than 2 seconds since the last update, in
 167which case cached values are returned instead). As a consequence, when
 168a once-only alarm triggers, it may take 2 seconds for it to show, and 2
 169more seconds for it to disappear.
 170
 171Monitoring of in9 isn't enabled at lower init levels (<3) because that
 172channel measures the battery voltage (Vbat). It is a known fact that
 173repeatedly sampling the battery voltage reduces its lifetime. National
 174Semiconductor smartly designed their chipset so that in9 is sampled only
 175once every 1024 sampling cycles (that is every 34 minutes at the default
 176sampling rate), so the effect is attenuated, but still present.
 177
 178
 179Limitations
 180-----------
 181
 182The datasheets suggests that some values (fan mins, fan dividers)
 183shouldn't be changed once the monitoring has started, but we ignore that
 184recommendation. We'll reconsider if it actually causes trouble.
 185
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.