__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.217.121: ~ $
<!DOCTYPE html>

<html lang="en" data-content_root="../">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

    <title>Kernel driver vt1211 &#8212; The Linux Kernel  documentation</title>
    <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=fa44fd50" />
    <link rel="stylesheet" type="text/css" href="../_static/alabaster.css?v=3918102e" />
    <script src="../_static/documentation_options.js?v=5929fcd5"></script>
    <script src="../_static/doctools.js?v=9bcbadda"></script>
    <script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
    <link rel="index" title="Index" href="../genindex.html" />
    <link rel="search" title="Search" href="../search.html" />
    <link rel="next" title="Kernel driver w83627ehf" href="w83627ehf.html" />
    <link rel="prev" title="Kernel driver via686a" href="via686a.html" />
   
  <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
  

  
  

  </head><body>
  <div class="document">
    
      <div class="sphinxsidebar" role="navigation" aria-label="Main">
        <div class="sphinxsidebarwrapper">
            <p class="logo"><a href="../index.html">
              <img class="logo" src="../_static/logo.svg" alt="Logo of The Linux Kernel"/>
            </a></p>
<h1 class="logo"><a href="../index.html">The Linux Kernel</a></h1>



<p class="blurb">6.18.50</p>







<search id="searchbox" style="display: none" role="search">
  <h3 id="searchlabel">Quick search</h3>
    <div class="searchformwrapper">
    <form class="search" action="../search.html" method="get">
      <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/>
      <input type="submit" value="Go" />
    </form>
    </div>
</search>
<script>document.getElementById('searchbox').style.display = "block"</script>


<p>
<h3 class="kernel-toc-contents">Contents</h3>
<input type="checkbox" class="kernel-toc-toggle" id = "kernel-toc-toggle" checked>
<label class="kernel-toc-title" for="kernel-toc-toggle"></label>

<div class="kerneltoc" id="kerneltoc">
<ul>
<li class="toctree-l1"><a class="reference internal" href="../process/development-process.html">Development process</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/submitting-patches.html">Submitting patches</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/code-of-conduct.html">Code of conduct</a></li>
<li class="toctree-l1"><a class="reference internal" href="../maintainer/index.html">Maintainer handbook</a></li>
<li class="toctree-l1"><a class="reference internal" href="../process/index.html">All development-process docs</a></li>
</ul>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../core-api/index.html">Core API</a></li>
<li class="toctree-l1"><a class="reference internal" href="../driver-api/index.html">Driver APIs</a></li>
<li class="toctree-l1 current"><a class="reference internal" href="../subsystem-apis.html">Subsystems</a><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#core-subsystems">Core subsystems</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#human-interfaces">Human interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#networking-interfaces">Networking interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../subsystem-apis.html#storage-interfaces">Storage interfaces</a></li>
<li class="toctree-l2 current"><a class="reference internal" href="../subsystem-apis.html#other-subsystems">Other subsystems</a><ul class="current">
<li class="toctree-l3"><a class="reference internal" href="../accounting/index.html">Accounting</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpu-freq/index.html">CPUFreq - CPU frequency and voltage scaling code in the Linux(TM) kernel</a></li>
<li class="toctree-l3"><a class="reference internal" href="../edac/index.html">EDAC Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../fpga/index.html">FPGA</a></li>
<li class="toctree-l3"><a class="reference internal" href="../i2c/index.html">I2C/SMBus Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../iio/index.html">Industrial I/O</a></li>
<li class="toctree-l3"><a class="reference internal" href="../pcmcia/index.html">PCMCIA</a></li>
<li class="toctree-l3"><a class="reference internal" href="../spi/index.html">Serial Peripheral Interface (SPI)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../w1/index.html">1-Wire Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../watchdog/index.html">Watchdog Support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../virt/index.html">Virtualization Support</a></li>
<li class="toctree-l3 current"><a class="reference internal" href="index.html">Hardware Monitoring</a></li>
<li class="toctree-l3"><a class="reference internal" href="../accel/index.html">Compute Accelerators</a></li>
<li class="toctree-l3"><a class="reference internal" href="../security/index.html">Security Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../crypto/index.html">Crypto API</a></li>
<li class="toctree-l3"><a class="reference internal" href="../bpf/index.html">BPF Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../usb/index.html">USB support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../PCI/index.html">PCI Bus Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../misc-devices/index.html">Assorted Miscellaneous Devices Documentation</a></li>
<li class="toctree-l3"><a class="reference internal" href="../peci/index.html">PECI Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../wmi/index.html">WMI Subsystem</a></li>
<li class="toctree-l3"><a class="reference internal" href="../tee/index.html">TEE Subsystem</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../locking/index.html">Locking</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../process/license-rules.html">Licensing rules</a></li>
<li class="toctree-l1"><a class="reference internal" href="../doc-guide/index.html">Writing documentation</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev-tools/index.html">Development tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../dev-tools/testing-overview.html">Testing guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../kernel-hacking/index.html">Hacking guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="../trace/index.html">Tracing</a></li>
<li class="toctree-l1"><a class="reference internal" href="../fault-injection/index.html">Fault injection</a></li>
<li class="toctree-l1"><a class="reference internal" href="../livepatch/index.html">Livepatching</a></li>
<li class="toctree-l1"><a class="reference internal" href="../rust/index.html">Rust</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../admin-guide/index.html">Administration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../kbuild/index.html">Build system</a></li>
<li class="toctree-l1"><a class="reference internal" href="../admin-guide/reporting-issues.html">Reporting issues</a></li>
<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Userspace tools</a></li>
<li class="toctree-l1"><a class="reference internal" href="../userspace-api/index.html">Userspace API</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../firmware-guide/index.html">Firmware</a></li>
<li class="toctree-l1"><a class="reference internal" href="../devicetree/index.html">Firmware and Devicetree</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../arch/index.html">CPU architectures</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../staging/index.html">Unsorted documentation</a></li>
</ul>
<ul>
<li class="toctree-l1"><a class="reference internal" href="../translations/index.html">Translations</a></li>
</ul>

</div>

<script type="text/javascript"> <!--
  var sbar = document.getElementsByClassName("sphinxsidebar")[0];
  let currents = document.getElementsByClassName("current")
  if (currents.length) {
    sbar.scrollTop = currents[currents.length - 1].offsetTop;
  }
  --> </script>
  <div role="note" aria-label="source link">
    <h3>This Page</h3>
    <ul class="this-page-menu">
      <li><a href="../_sources/hwmon/vt1211.rst.txt"
            rel="nofollow">Show Source</a></li>
    </ul>
   </div>
        </div>
      </div>
      <div class="documentwrapper">
        <div class="bodywrapper">
          

          <div class="body" role="main">
            
  



<section id="kernel-driver-vt1211">
<h1>Kernel driver vt1211<a class="headerlink" href="#kernel-driver-vt1211" title="Link to this heading">¶</a></h1>
<p>Supported chips:</p>
<blockquote>
<div><ul>
<li><p>VIA VT1211</p>
<p>Prefix: ‘vt1211’</p>
<p>Addresses scanned: none, address read from Super-I/O config space</p>
<p>Datasheet: Provided by VIA upon request and under NDA</p>
</li>
</ul>
</div></blockquote>
<p>Authors: Juerg Haefliger &lt;<a class="reference external" href="mailto:juergh&#37;&#52;&#48;gmail&#46;com">juergh<span>&#64;</span>gmail<span>&#46;</span>com</a>&gt;</p>
<p>This driver is based on the driver for kernel 2.4 by Mark D. Studebaker and
its port to kernel 2.6 by Lars Ekman.</p>
<p>Thanks to Joseph Chan and Fiona Gatt from VIA for providing documentation and
technical support.</p>
<section id="module-parameters">
<h2>Module Parameters<a class="headerlink" href="#module-parameters" title="Link to this heading">¶</a></h2>
<ul class="simple">
<li><dl class="simple">
<dt>uch_config: int</dt><dd><p>Override the BIOS default universal channel (UCH)
configuration for channels 1-5.
Legal values are in the range of 0-31. Bit 0 maps to
UCH1, bit 1 maps to UCH2 and so on. Setting a bit to 1
enables the thermal input of that particular UCH and
setting a bit to 0 enables the voltage input.</p>
</dd>
</dl>
</li>
<li><dl class="simple">
<dt>int_mode: int</dt><dd><p>Override the BIOS default temperature interrupt mode.
The only possible value is 0 which forces interrupt
mode 0. In this mode, any pending interrupt is cleared
when the status register is read but is regenerated as
long as the temperature stays above the hysteresis
limit.</p>
</dd>
</dl>
</li>
</ul>
<p>Be aware that overriding BIOS defaults might cause some unwanted side effects!</p>
</section>
<section id="description">
<h2>Description<a class="headerlink" href="#description" title="Link to this heading">¶</a></h2>
<p>The VIA VT1211 Super-I/O chip includes complete hardware monitoring
capabilities. It monitors 2 dedicated temperature sensor inputs (temp1 and
temp2), 1 dedicated voltage (in5) and 2 fans. Additionally, the chip
implements 5 universal input channels (UCH1-5) that can be individually
programmed to either monitor a voltage or a temperature.</p>
<p>This chip also provides manual and automatic control of fan speeds (according
to the datasheet). The driver only supports automatic control since the manual
mode doesn’t seem to work as advertised in the datasheet. In fact I couldn’t
get manual mode to work at all! Be aware that automatic mode hasn’t been
tested very well (due to the fact that my EPIA M10000 doesn’t have the fans
connected to the PWM outputs of the VT1211 :-().</p>
<p>The following table shows the relationship between the vt1211 inputs and the
sysfs nodes.</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Sensor</p></th>
<th class="head"><p>Voltage Mode</p></th>
<th class="head"><p>Temp Mode</p></th>
<th class="head"><p>Default Use (from the datasheet)</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>Reading 1</p></td>
<td></td>
<td><p>temp1</p></td>
<td><p>Intel thermal diode</p></td>
</tr>
<tr class="row-odd"><td><p>Reading 3</p></td>
<td></td>
<td><p>temp2</p></td>
<td><p>Internal thermal diode</p></td>
</tr>
<tr class="row-even"><td><p>UCH1/Reading2</p></td>
<td><p>in0</p></td>
<td><p>temp3</p></td>
<td><p>NTC type thermistor</p></td>
</tr>
<tr class="row-odd"><td><p>UCH2</p></td>
<td><p>in1</p></td>
<td><p>temp4</p></td>
<td><p>+2.5V</p></td>
</tr>
<tr class="row-even"><td><p>UCH3</p></td>
<td><p>in2</p></td>
<td><p>temp5</p></td>
<td><p>VccP (processor core)</p></td>
</tr>
<tr class="row-odd"><td><p>UCH4</p></td>
<td><p>in3</p></td>
<td><p>temp6</p></td>
<td><p>+5V</p></td>
</tr>
<tr class="row-even"><td><p>UCH5</p></td>
<td><p>in4</p></td>
<td><p>temp7</p></td>
<td><p>+12V</p></td>
</tr>
<tr class="row-odd"><td><p>+3.3V</p></td>
<td><p>in5</p></td>
<td></td>
<td><p>Internal VCC (+3.3V)</p></td>
</tr>
</tbody>
</table>
</section>
<section id="voltage-monitoring">
<h2>Voltage Monitoring<a class="headerlink" href="#voltage-monitoring" title="Link to this heading">¶</a></h2>
<p>Voltages are sampled by an 8-bit ADC with a LSB of ~10mV. The supported input
range is thus from 0 to 2.60V. Voltage values outside of this range need
external scaling resistors. This external scaling needs to be compensated for
via compute lines in sensors.conf, like:</p>
<p>compute inx &#64;*(1+R1/R2), &#64;/(1+R1/R2)</p>
<p>The board level scaling resistors according to VIA’s recommendation are as
follows. And this is of course totally dependent on the actual board
implementation :-) You will have to find documentation for your own
motherboard and edit sensors.conf accordingly.</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Voltage</p></th>
<th class="head"><p>R1</p></th>
<th class="head"><p>R2</p></th>
<th class="head"><p>Divider</p></th>
<th class="head"><p>Raw Value</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>+2.5V</p></td>
<td><p>2K</p></td>
<td><p>10K</p></td>
<td><p>1.2</p></td>
<td><p>2083 mV</p></td>
</tr>
<tr class="row-odd"><td><p>VccP</p></td>
<td><p>---</p></td>
<td><p>---</p></td>
<td><p>1.0</p></td>
<td><p>1400 mV <a class="footnote-reference brackets" href="#id3" id="id1" role="doc-noteref"><span class="fn-bracket">[</span>1<span class="fn-bracket">]</span></a></p></td>
</tr>
<tr class="row-even"><td><p>+5V</p></td>
<td><p>14K</p></td>
<td><p>10K</p></td>
<td><p>2.4</p></td>
<td><p>2083 mV</p></td>
</tr>
<tr class="row-odd"><td><p>+12V</p></td>
<td><p>47K</p></td>
<td><p>10K</p></td>
<td><p>5.7</p></td>
<td><p>2105 mV</p></td>
</tr>
<tr class="row-even"><td><p>+3.3V (int)</p></td>
<td><p>2K</p></td>
<td><p>3.4K</p></td>
<td><p>1.588</p></td>
<td><p>3300 mV <a class="footnote-reference brackets" href="#id4" id="id2" role="doc-noteref"><span class="fn-bracket">[</span>2<span class="fn-bracket">]</span></a></p></td>
</tr>
<tr class="row-odd"><td><p>+3.3V (ext)</p></td>
<td><p>6.8K</p></td>
<td><p>10K</p></td>
<td><p>1.68</p></td>
<td><p>1964 mV</p></td>
</tr>
</tbody>
</table>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id3" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id1">1</a><span class="fn-bracket">]</span></span>
<p>Depending on the CPU (1.4V is for a VIA C3 Nehemiah).</p>
</aside>
<aside class="footnote brackets" id="id4" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id2">2</a><span class="fn-bracket">]</span></span>
<p>R1 and R2 for 3.3V (int) are internal to the VT1211 chip and the driver
performs the scaling and returns the properly scaled voltage value.</p>
</aside>
</aside>
<p>Each measured voltage has an associated low and high limit which triggers an
alarm when crossed.</p>
</section>
<section id="temperature-monitoring">
<h2>Temperature Monitoring<a class="headerlink" href="#temperature-monitoring" title="Link to this heading">¶</a></h2>
<p>Temperatures are reported in millidegree Celsius. Each measured temperature
has a high limit which triggers an alarm if crossed. There is an associated
hysteresis value with each temperature below which the temperature has to drop
before the alarm is cleared (this is only true for interrupt mode 0). The
interrupt mode can be forced to 0 in case the BIOS doesn’t do it
automatically. See the ‘Module Parameters’ section for details.</p>
<p>All temperature channels except temp2 are external. Temp2 is the VT1211
internal thermal diode and the driver does all the scaling for temp2 and
returns the temperature in millidegree Celsius. For the external channels
temp1 and temp3-temp7, scaling depends on the board implementation and needs
to be performed in userspace via sensors.conf.</p>
<p>Temp1 is an Intel-type thermal diode which requires the following formula to
convert between sysfs readings and real temperatures:</p>
<p>compute temp1 (&#64;-Offset)/Gain, (&#64;*Gain)+Offset</p>
<p>According to the VIA VT1211 BIOS porting guide, the following gain and offset
values should be used:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Diode Type</p></th>
<th class="head"><p>Offset</p></th>
<th class="head"><p>Gain</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>Intel CPU</p></td>
<td><p>88.638
65.000</p></td>
<td><p>0.9528
0.9686 <a class="footnote-reference brackets" href="#id6" id="id5" role="doc-noteref"><span class="fn-bracket">[</span>3<span class="fn-bracket">]</span></a></p></td>
</tr>
<tr class="row-odd"><td><p>VIA C3 Ezra</p></td>
<td><p>83.869</p></td>
<td><p>0.9528</p></td>
</tr>
<tr class="row-even"><td><p>VIA C3 Ezra-T</p></td>
<td><p>73.869</p></td>
<td><p>0.9528</p></td>
</tr>
</tbody>
</table>
<aside class="footnote-list brackets">
<aside class="footnote brackets" id="id6" role="doc-footnote">
<span class="label"><span class="fn-bracket">[</span><a role="doc-backlink" href="#id5">3</a><span class="fn-bracket">]</span></span>
<p>This is the formula from the lm_sensors 2.10.0 sensors.conf file. I don’t
know where it comes from or how it was derived, it’s just listed here for
completeness.</p>
</aside>
</aside>
<p>Temp3-temp7 support NTC thermistors. For these channels, the driver returns
the voltages as seen at the individual pins of UCH1-UCH5. The voltage at the
pin (Vpin) is formed by a voltage divider made of the thermistor (Rth) and a
scaling resistor (Rs):</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Vpin = 2200 * Rth / (Rs + Rth)   (2200 is the ADC max limit of 2200 mV)
</pre></div>
</div>
<p>The equation for the thermistor is as follows (google it if you want to know
more about it):</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>Rth = Ro * exp(B * (1 / T - 1 / To))   (To is 298.15K (25C) and Ro is the
                                        nominal resistance at 25C)
</pre></div>
</div>
<p>Mingling the above two equations and assuming Rs = Ro and B = 3435 yields the
following formula for sensors.conf:</p>
<div class="highlight-none notranslate"><div class="highlight"><pre><span></span>compute tempx 1 / (1 / 298.15 - (` (2200 / @ - 1)) / 3435) - 273.15,
              2200 / (1 + (^ (3435 / 298.15 - 3435 / (273.15 + @))))
</pre></div>
</div>
</section>
<section id="fan-speed-control">
<h2>Fan Speed Control<a class="headerlink" href="#fan-speed-control" title="Link to this heading">¶</a></h2>
<p>The VT1211 provides 2 programmable PWM outputs to control the speeds of 2
fans. Writing a 2 to any of the two pwm[1-2]_enable sysfs nodes will put the
PWM controller in automatic mode. There is only a single controller that
controls both PWM outputs but each PWM output can be individually enabled and
disabled.</p>
<p>Each PWM has 4 associated distinct output duty-cycles: full, high, low and
off. Full and off are internally hard-wired to 255 (100%) and 0 (0%),
respectively. High and low can be programmed via
pwm[1-2]_auto_point[2-3]_pwm. Each PWM output can be associated with a
different thermal input but - and here’s the weird part - only one set of
thermal thresholds exist that controls both PWMs output duty-cycles. The
thermal thresholds are accessible via pwm[1-2]_auto_point[1-4]_temp. Note
that even though there are 2 sets of 4 auto points each, they map to the same
registers in the VT1211 and programming one set is sufficient (actually only
the first set pwm1_auto_point[1-4]_temp is writable, the second set is
read-only).</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>PWM Auto Point</p></th>
<th class="head"><p>PWM Output Duty-Cycle</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>pwm[1-2]_auto_point4_pwm</p></td>
<td><p>full speed duty-cycle (hard-wired to 255)</p></td>
</tr>
<tr class="row-odd"><td><p>pwm[1-2]_auto_point3_pwm</p></td>
<td><p>high speed duty-cycle</p></td>
</tr>
<tr class="row-even"><td><p>pwm[1-2]_auto_point2_pwm</p></td>
<td><p>low speed duty-cycle</p></td>
</tr>
<tr class="row-odd"><td><p>pwm[1-2]_auto_point1_pwm</p></td>
<td><p>off duty-cycle (hard-wired to 0)</p></td>
</tr>
</tbody>
</table>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Temp Auto Point</p></th>
<th class="head"><p>Thermal Threshold</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><p>pwm[1-2]_auto_point4_temp</p></td>
<td><p>full speed temp</p></td>
</tr>
<tr class="row-odd"><td><p>pwm[1-2]_auto_point3_temp</p></td>
<td><p>high speed temp</p></td>
</tr>
<tr class="row-even"><td><p>pwm[1-2]_auto_point2_temp</p></td>
<td><p>low speed temp</p></td>
</tr>
<tr class="row-odd"><td><p>pwm[1-2]_auto_point1_temp</p></td>
<td><p>off temp</p></td>
</tr>
</tbody>
</table>
<p>Long story short, the controller implements the following algorithm to set the
PWM output duty-cycle based on the input temperature:</p>
<table class="docutils align-default">
<thead>
<tr class="row-odd"><th class="head"><p>Thermal Threshold</p></th>
<th class="head"><p>Output Duty-Cycle
(Rising Temp)</p></th>
<th class="head"><p>Output Duty-Cycle
(Falling Temp)</p></th>
</tr>
</thead>
<tbody>
<tr class="row-even"><td><ul class="simple">
<li></li>
</ul>
</td>
<td><p>full speed duty-cycle</p></td>
<td><p>full speed duty-cycle</p></td>
</tr>
<tr class="row-odd"><td><p>full speed temp</p></td>
<td></td>
<td></td>
</tr>
<tr class="row-even"><td><ul class="simple">
<li></li>
</ul>
</td>
<td><p>high speed duty-cycle</p></td>
<td><p>full speed duty-cycle</p></td>
</tr>
<tr class="row-odd"><td><p>high speed temp</p></td>
<td></td>
<td></td>
</tr>
<tr class="row-even"><td><ul class="simple">
<li></li>
</ul>
</td>
<td><p>low speed duty-cycle</p></td>
<td><p>high speed duty-cycle</p></td>
</tr>
<tr class="row-odd"><td><p>low speed temp</p></td>
<td></td>
<td></td>
</tr>
<tr class="row-even"><td><ul class="simple">
<li></li>
</ul>
</td>
<td><p>off duty-cycle</p></td>
<td><p>low speed duty-cycle</p></td>
</tr>
<tr class="row-odd"><td><p>off temp</p></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</section>
</section>


          </div>
          
        </div>
      </div>
    <div class="clearer"></div>
  </div>
    <div class="footer">
      &#169;The kernel development community.
      
      |
      Powered by <a href="https://www.sphinx-doc.org/">Sphinx 8.1.3</a>
      &amp; <a href="https://alabaster.readthedocs.io">Alabaster 0.7.16</a>
      
      |
      <a href="../_sources/hwmon/vt1211.rst.txt"
          rel="nofollow">Page source</a>
    </div>

    

    
  </body>
</html>

Filemanager

Name Type Size Permission Actions
abituguru-datasheet.html File 26.68 KB 0644
abituguru.html File 15.9 KB 0644
abituguru3.html File 13.22 KB 0644
acbel-fsg032.html File 15.21 KB 0644
acpi_power_meter.html File 13.5 KB 0644
ad7314.html File 10.6 KB 0644
adc128d818.html File 11.87 KB 0644
adm1025.html File 12.58 KB 0644
adm1026.html File 15.18 KB 0644
adm1031.html File 11.54 KB 0644
adm1177.html File 11.3 KB 0644
adm1266.html File 11.3 KB 0644
adm1275.html File 17.55 KB 0644
adm9240.html File 20.36 KB 0644
adp1050.html File 17.63 KB 0644
ads7828.html File 13.04 KB 0644
adt7410.html File 14.54 KB 0644
adt7411.html File 11.78 KB 0644
adt7462.html File 12.64 KB 0644
adt7470.html File 13.41 KB 0644
adt7475.html File 16.93 KB 0644
aht10.html File 12.57 KB 0644
amc6821.html File 16.08 KB 0644
aquacomputer_d5next.html File 16.03 KB 0644
asb100.html File 13.39 KB 0644
asc7621.html File 24.1 KB 0644
aspeed-g6-pwm-tach.html File 10.78 KB 0644
aspeed-pwm-tacho.html File 10.78 KB 0644
asus_ec_sensors.html File 13.52 KB 0644
asus_rog_ryujin.html File 12.03 KB 0644
asus_wmi_sensors.html File 12.89 KB 0644
bcm54140.html File 11.91 KB 0644
bel-pfe.html File 15.42 KB 0644
bpa-rs600.html File 14.13 KB 0644
bt1-pvt.html File 16.6 KB 0644
cgbc-hwmon.html File 13.48 KB 0644
chipcap2.html File 13.5 KB 0644
coretemp.html File 16.79 KB 0644
corsair-cpro.html File 12 KB 0644
corsair-psu.html File 14.95 KB 0644
cros_ec_hwmon.html File 10.88 KB 0644
crps.html File 15.73 KB 0644
da9052.html File 13.36 KB 0644
da9055.html File 12.06 KB 0644
dell-smm-hwmon.html File 36.04 KB 0644
dme1737.html File 29.23 KB 0644
dps920ab.html File 13.39 KB 0644
drivetemp.html File 12.77 KB 0644
ds1621.html File 19.05 KB 0644
ds620.html File 11.6 KB 0644
emc1403.html File 14.21 KB 0644
emc2103.html File 11.24 KB 0644
emc2305.html File 11.53 KB 0644
emc6w201.html File 11.42 KB 0644
f71805f.html File 20.18 KB 0644
f71882fg.html File 16.01 KB 0644
fam15h_power.html File 14.9 KB 0644
fsp-3y.html File 10.98 KB 0644
ftsteutates.html File 11.64 KB 0644
g760a.html File 11.34 KB 0644
g762.html File 13.02 KB 0644
gigabyte_waterforce.html File 11.62 KB 0644
gl518sm.html File 13.75 KB 0644
gpd-fan.html File 12.9 KB 0644
gsc-hwmon.html File 11.98 KB 0644
gxp-fan-ctrl.html File 10.83 KB 0644
hih6130.html File 11.49 KB 0644
hp-wmi-sensors.html File 24.2 KB 0644
hs3001.html File 11.22 KB 0644
htu31.html File 11.07 KB 0644
hwmon-kernel-api.html File 28.79 KB 0644
ibm-cffps.html File 13.18 KB 0644
ibmaem.html File 11.37 KB 0644
ibmpowernv.html File 14.41 KB 0644
ina209.html File 16.13 KB 0644
ina233.html File 11.77 KB 0644
ina238.html File 14.77 KB 0644
ina2xx.html File 17.9 KB 0644
ina3221.html File 13.69 KB 0644
index.html File 37.21 KB 0644
inspur-ipsps1.html File 14.74 KB 0644
intel-m10-bmc-hwmon.html File 14.19 KB 0644
ir35221.html File 15.37 KB 0644
ir36021.html File 12.94 KB 0644
ir38064.html File 15.22 KB 0644
isl28022.html File 12.44 KB 0644
isl68137.html File 33.94 KB 0644
it87.html File 24.03 KB 0644
jc42.html File 17.9 KB 0644
k10temp.html File 16.25 KB 0644
k8temp.html File 12.42 KB 0644
kbatt.html File 12.63 KB 0644
kfan.html File 11.48 KB 0644
lan966x.html File 11.02 KB 0644
lineage-pem.html File 13.77 KB 0644
lm25066.html File 16.43 KB 0644
lm63.html File 13.88 KB 0644
lm70.html File 12.7 KB 0644
lm73.html File 13.67 KB 0644
lm75.html File 17.08 KB 0644
lm77.html File 11.65 KB 0644
lm78.html File 13.54 KB 0644
lm80.html File 13.16 KB 0644
lm83.html File 14.24 KB 0644
lm85.html File 24.3 KB 0644
lm87.html File 14.23 KB 0644
lm90.html File 34.77 KB 0644
lm92.html File 11.65 KB 0644
lm93.html File 28.68 KB 0644
lm95234.html File 11.89 KB 0644
lm95245.html File 11.91 KB 0644
lochnagar.html File 16.38 KB 0644
lt3074.html File 13.86 KB 0644
lt7182s.html File 15.07 KB 0644
ltc2945.html File 15.06 KB 0644
ltc2947.html File 16.58 KB 0644
ltc2978.html File 28.01 KB 0644
ltc2990.html File 12.56 KB 0644
ltc2991.html File 11.45 KB 0644
ltc2992.html File 12.07 KB 0644
ltc3815.html File 13.16 KB 0644
ltc4151.html File 11.71 KB 0644
ltc4215.html File 12.15 KB 0644
ltc4245.html File 15.68 KB 0644
ltc4260.html File 12.48 KB 0644
ltc4261.html File 13 KB 0644
ltc4282.html File 18.76 KB 0644
ltc4286.html File 14.5 KB 0644
max127.html File 11.59 KB 0644
max15301.html File 14.49 KB 0644
max16064.html File 13.91 KB 0644
max16065.html File 15 KB 0644
max1619.html File 10.96 KB 0644
max16601.html File 16.95 KB 0644
max1668.html File 14.54 KB 0644
max197.html File 13.01 KB 0644
max20730.html File 13.58 KB 0644
max20751.html File 14.47 KB 0644
max31722.html File 11.4 KB 0644
max31730.html File 12.02 KB 0644
max31760.html File 14.62 KB 0644
max31785.html File 13.5 KB 0644
max31790.html File 11.95 KB 0644
max31827.html File 16.18 KB 0644
max34440.html File 20.08 KB 0644
max6620.html File 12.25 KB 0644
max6639.html File 13.79 KB 0644
max6650.html File 13.6 KB 0644
max6697.html File 13.71 KB 0644
max77705.html File 11.3 KB 0644
max8688.html File 14.73 KB 0644
mc13783-adc.html File 16.1 KB 0644
mc33xs2410_hwmon.html File 11.34 KB 0644
mc34vr500.html File 10.93 KB 0644
mcp3021.html File 11.22 KB 0644
menf21bmc.html File 12.3 KB 0644
mlxreg-fan.html File 13.61 KB 0644
mp2856.html File 12.53 KB 0644
mp2869.html File 13.21 KB 0644
mp2888.html File 12.85 KB 0644
mp2891.html File 13.56 KB 0644
mp29502.html File 11.78 KB 0644
mp2975.html File 13.89 KB 0644
mp2993.html File 13.09 KB 0644
mp5023.html File 11.76 KB 0644
mp5920.html File 12 KB 0644
mp5990.html File 12.21 KB 0644
mp9941.html File 12.04 KB 0644
mpq8785.html File 13.29 KB 0644
nct6683.html File 13.44 KB 0644
nct6775.html File 20.68 KB 0644
nct7363.html File 10.92 KB 0644
nct7802.html File 11.09 KB 0644
nct7904.html File 12.28 KB 0644
npcm750-pwm-fan.html File 10.81 KB 0644
nsa320.html File 12.52 KB 0644
ntc_thermistor.html File 13.62 KB 0644
nzxt-kraken2.html File 11.3 KB 0644
nzxt-kraken3.html File 13.52 KB 0644
nzxt-smart2.html File 12.82 KB 0644
occ.html File 15.87 KB 0644
pc87360.html File 19.92 KB 0644
pc87427.html File 12.16 KB 0644
pcf8591.html File 14.52 KB 0644
peci-cputemp.html File 14.53 KB 0644
peci-dimmtemp.html File 12.32 KB 0644
pim4328.html File 13.98 KB 0644
pli1209bc.html File 14.36 KB 0644
pm6764tr.html File 11.08 KB 0644
pmbus-core.html File 30.88 KB 0644
pmbus.html File 22.6 KB 0644
powerz.html File 10.62 KB 0644
powr1220.html File 12.13 KB 0644
pt5161l.html File 11.44 KB 0644
pwm-fan.html File 11.32 KB 0644
pxe1610.html File 14.53 KB 0644
q54sj108a2.html File 12.59 KB 0644
qnap-mcu-hwmon.html File 10.93 KB 0644
raspberrypi-hwmon.html File 10.78 KB 0644
sa67.html File 11.22 KB 0644
sbrmi.html File 13.84 KB 0644
sbtsi_temp.html File 11.55 KB 0644
sch5627.html File 11.61 KB 0644
sch5636.html File 11.21 KB 0644
scpi-hwmon.html File 11.21 KB 0644
sfctemp.html File 11.36 KB 0644
sg2042-mcu.html File 13.79 KB 0644
sht15.html File 13.29 KB 0644
sht21.html File 12.49 KB 0644
sht3x.html File 16.75 KB 0644
sht4x.html File 12.54 KB 0644
shtc1.html File 12.17 KB 0644
sis5595.html File 15.93 KB 0644
sl28cpld.html File 10.99 KB 0644
smpro-hwmon.html File 17.47 KB 0644
smsc47b397.html File 17.76 KB 0644
smsc47m1.html File 13.48 KB 0644
smsc47m192.html File 15.33 KB 0644
sparx5-temp.html File 10.78 KB 0644
spd5118.html File 12.65 KB 0644
stpddc60.html File 14.72 KB 0644
submitting-patches.html File 18.13 KB 0644
surface_fan.html File 10.81 KB 0644
sy7636a-hwmon.html File 10.54 KB 0644
sysfs-interface.html File 33.24 KB 0644
tc654.html File 11.39 KB 0644
tc74.html File 10.26 KB 0644
thmc50.html File 13.73 KB 0644
tmp102.html File 11.06 KB 0644
tmp103.html File 11 KB 0644
tmp108.html File 11.69 KB 0644
tmp401.html File 12.84 KB 0644
tmp421.html File 12.34 KB 0644
tmp464.html File 12.1 KB 0644
tmp513.html File 13.12 KB 0644
tps23861.html File 11.62 KB 0644
tps25990.html File 13.11 KB 0644
tps40422.html File 13.53 KB 0644
tps53679.html File 16.9 KB 0644
tps546d24.html File 10.92 KB 0644
twl4030-madc-hwmon.html File 12.17 KB 0644
ucd9000.html File 18.11 KB 0644
ucd9200.html File 17.95 KB 0644
userspace-tools.html File 11.72 KB 0644
vexpress.html File 11.72 KB 0644
via686a.html File 14.43 KB 0644
vt1211.html File 23.42 KB 0644
w83627ehf.html File 20.55 KB 0644
w83627hf.html File 16.17 KB 0644
w83773g.html File 11.21 KB 0644
w83781d.html File 34.02 KB 0644
w83791d.html File 20.51 KB 0644
w83792d.html File 19.1 KB 0644
w83793.html File 14.85 KB 0644
w83795.html File 21.88 KB 0644
w83l785ts.html File 11.73 KB 0644
w83l786ng.html File 12.22 KB 0644
wm831x.html File 11.66 KB 0644
wm8350.html File 11.19 KB 0644
xdp710.html File 11.9 KB 0644
xdpe12284.html File 12.85 KB 0644
xdpe152c4.html File 12.98 KB 0644
xgene-hwmon.html File 11.13 KB 0644
zl6100.html File 21.7 KB 0644
Filemanager