~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/hwmon/pc87360.rst

Version: ~ [ linux-6.11.5 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.58 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.114 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.169 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.228 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.284 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.322 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/hwmon/pc87360.rst (Version linux-6.11.5) and /Documentation/hwmon/pc87360.rst (Version linux-5.6.19)


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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php