Isphinx.addnodesdocument)}( rawsourcechildren]( translations LanguagesNode)}(hhh](h pending_xref)}(hhh]docutils.nodesTextChinese (Simplified)}parenthsba attributes}(ids]classes]names]dupnames]backrefs] refdomainstdreftypedoc reftarget$/translations/zh_CN/hwmon/mlxreg-fanmodnameN classnameN refexplicitutagnamehhh ubh)}(hhh]hChinese (Traditional)}hh2sbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/zh_TW/hwmon/mlxreg-fanmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hItalian}hhFsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/it_IT/hwmon/mlxreg-fanmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hJapanese}hhZsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/ja_JP/hwmon/mlxreg-fanmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hKorean}hhnsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/ko_KR/hwmon/mlxreg-fanmodnameN classnameN refexplicituh1hhh ubh)}(hhh]hSpanish}hhsbah}(h]h ]h"]h$]h&] refdomainh)reftypeh+ reftarget$/translations/sp_SP/hwmon/mlxreg-fanmodnameN classnameN refexplicituh1hhh ubeh}(h]h ]h"]h$]h&]current_languageEnglishuh1h hh _documenthsourceNlineNubhsection)}(hhh](htitle)}(hKernel driver mlxreg-fanh]hKernel driver mlxreg-fan}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhhh>/var/lib/git/docbuild/linux/Documentation/hwmon/mlxreg-fan.rsthKubh paragraph)}(h3Provides FAN control for the next Mellanox systems:h]h3Provides FAN control for the next Mellanox systems:}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubh bullet_list)}(hhh](h list_item)}(h1QMB700, equipped with 40x200GbE InfiniBand ports;h]h)}(hhh]h1QMB700, equipped with 40x200GbE InfiniBand ports;}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h=MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports;h]h)}(hhh]h=MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports;}(hhhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h=MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports;h]h)}(hhh]h=MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubh)}(h2MSN3800, equipped with 64x1000GbE Ethernet ports; h]h)}(h1MSN3800, equipped with 64x1000GbE Ethernet ports;h]h1MSN3800, equipped with 64x1000GbE Ethernet ports;}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1hhhhhhhhNubeh}(h]h ]h"]h$]h&]bullet-uh1hhhhKhhhhubh)}(h-Author: Vadim Pasternak h](hAuthor: Vadim Pasternak <}(hj3hhhNhNubh reference)}(hvadimp@mellanox.comh]hvadimp@mellanox.com}(hj=hhhNhNubah}(h]h ]h"]h$]h&]refurimailto:vadimp@mellanox.comuh1j;hj3ubh>}(hj3hhhNhNubeh}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hThese are the Top of the Rack systems, equipped with Mellanox switch board with Mellanox Quantum or Spectrume-2 devices. FAN controller is implemented by the programmable device logic.h]hThese are the Top of the Rack systems, equipped with Mellanox switch board with Mellanox Quantum or Spectrume-2 devices. FAN controller is implemented by the programmable device logic.}(hjWhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hhhhubh)}(hQThe default registers offsets set within the programmable device is as following:h]hQThe default registers offsets set within the programmable device is as following:}(hjehhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhhhhubhtable)}(hhh]htgroup)}(hhh](hcolspec)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j}hjzubj~)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j}hjzubhtbody)}(hhh](hrow)}(hhh](hentry)}(hhh]h)}(hpwm1h]hpwm1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0xe3h]h0xe3}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h fan1 (tacho1)h]h fan1 (tacho1)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0xe4h]h0xe4}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h fan2 (tacho2)h]h fan2 (tacho2)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhj ubj)}(hhh]h)}(h0xe5h]h0xe5}(hj'hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj$ubah}(h]h ]h"]h$]h&]uh1jhj ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h fan3 (tacho3)h]h fan3 (tacho3)}(hjGhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjDubah}(h]h ]h"]h$]h&]uh1jhjAubj)}(hhh]h)}(h0xe6h]h0xe6}(hj^hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj[ubah}(h]h ]h"]h$]h&]uh1jhjAubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h fan4 (tacho4)h]h fan4 (tacho4)}(hj~hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj{ubah}(h]h ]h"]h$]h&]uh1jhjxubj)}(hhh]h)}(h0xe7h]h0xe7}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjxubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h fan5 (tacho5)h]h fan5 (tacho5)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0xe8h]h0xe8}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h fan6 (tacho6)h]h fan6 (tacho6)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0xe9h]h0xe9}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h fan7 (tacho7)h]h fan7 (tacho7)}(hj#hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj ubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0xeah]h0xea}(hj:hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhj7ubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h fan8 (tacho8)h]h fan8 (tacho8)}(hjZhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjWubah}(h]h ]h"]h$]h&]uh1jhjTubj)}(hhh]h)}(h0xebh]h0xeb}(hjqhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjnubah}(h]h ]h"]h$]h&]uh1jhjTubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(h fan9 (tacho9)h]h fan9 (tacho9)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0xech]h0xec}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hfan10 (tacho10)h]hfan10 (tacho10)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0xedh]h0xed}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKhjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hfan11 (tacho11)h]hfan11 (tacho11)}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h0xeeh]h0xee}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hfan12 (tacho12)h]hfan12 (tacho12)}(hj6hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hj3ubah}(h]h ]h"]h$]h&]uh1jhj0ubj)}(hhh]h)}(h0xefh]h0xef}(hjMhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK!hjJubah}(h]h ]h"]h$]h&]uh1jhj0ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjzubeh}(h]h ]h"]h$]h&]colsKuh1jxhjuubah}(h]h ]h"]h$]h&]uh1jshhhhhhhNubh)}(h5This setup can be re-programmed with other registers.h]h5This setup can be re-programmed with other registers.}(hjzhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK$hhhhubh)}(hhh](h)}(h Descriptionh]h Description}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK'ubh)}(hXThe driver implements a simple interface for driving a fan connected to a PWM output and tachometer inputs. This driver obtains PWM and tachometers registers location according to the system configuration and creates FAN/PWM hwmon objects and a cooling device. PWM and tachometers are sensed through the on-board programmable device, which exports its register map. This device could be attached to any bus type, for which register mapping is supported. Single instance is created with one PWM control, up to 12 tachometers and one cooling device. It could be as many instances as programmable device supports. The driver exposes the fan to the user space through the hwmon's and thermal's sysfs interfaces.h]hXThe driver implements a simple interface for driving a fan connected to a PWM output and tachometer inputs. This driver obtains PWM and tachometers registers location according to the system configuration and creates FAN/PWM hwmon objects and a cooling device. PWM and tachometers are sensed through the on-board programmable device, which exports its register map. This device could be attached to any bus type, for which register mapping is supported. Single instance is created with one PWM control, up to 12 tachometers and one cooling device. It could be as many instances as programmable device supports. The driver exposes the fan to the user space through the hwmon’s and thermal’s sysfs interfaces.}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK)hjhhubeh}(h] descriptionah ]h"] descriptionah$]h&]uh1hhhhhhhhK'ubh)}(hhh](h)}(h/sys files in hwmon subsystemh]h/sys files in hwmon subsystem}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhjhhhhhK7ubjt)}(hhh]jy)}(hhh](j~)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j}hjubj~)}(hhh]h}(h]h ]h"]h$]h&]colwidthKuh1j}hjubj~)}(hhh]h}(h]h ]h"]h$]h&]colwidthK3uh1j}hjubj)}(hhh](j)}(hhh](j)}(hhh]h)}(hfan[1-12]_faulth]hfan[1-12]_fault}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(hROh]hRO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh]h)}(h3files for tachometers TACH1-TACH12 fault indicationh]h3files for tachometers TACH1-TACH12 fault indication}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK:hjubah}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hfan[1-12]_inputh]hfan[1-12]_input}(hj;hhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hj8ubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(hROh]hRO}(hjRhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjOubah}(h]h ]h"]h$]h&]uh1jhj5ubj)}(hhh]h)}(h1files for tachometers TACH1-TACH12 input (in RPM)h]h1files for tachometers TACH1-TACH12 input (in RPM)}(hjihhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhK;hjfubah}(h]h ]h"]h$]h&]uh1jhj5ubeh}(h]h ]h"]h$]h&]uh1jhjubj)}(hhh](j)}(hhh]h)}(hpwm1h]hpwm1}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKubah}(h]h ]h"]h$]h&]uh1jhj$ubj)}(hhh]h)}(hCfile for current cooling state of the cooling device (0..max_state)h]hCfile for current cooling state of the cooling device (0..max_state)}(hjXhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKChjUubah}(h]h ]h"]h$]h&]uh1jhj$ubeh}(h]h ]h"]h$]h&]uh1jhj!ubj)}(hhh](j)}(hhh]h)}(h max_stateh]h max_state}(hjxhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjuubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(hROh]hRO}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjubah}(h]h ]h"]h$]h&]uh1jhjrubj)}(hhh]h)}(h4file for maximum cooling state of the cooling deviceh]h4file for maximum cooling state of the cooling device}(hjhhhNhNubah}(h]h ]h"]h$]h&]uh1hhhhKEhjubah}(h]h ]h"]h$]h&]uh1jhjrubeh}(h]h ]h"]h$]h&]uh1jhj!ubeh}(h]h ]h"]h$]h&]uh1jhjubeh}(h]h ]h"]h$]h&]colsKuh1jxhjubah}(h]h ]h"]h$]h&]uh1jshjhhhhhNubeh}(h]sys-files-in-thermal-subsystemah ]h"]/sys files in thermal subsystemah$]h&]uh1hhhhhhhhK@ubeh}(h]kernel-driver-mlxreg-fanah ]h"]kernel driver mlxreg-fanah$]h&]uh1hhhhhhhhKubeh}(h]h ]h"]h$]h&]sourcehuh1hcurrent_sourceN current_lineNsettingsdocutils.frontendValues)}(hN generatorN datestampN source_linkN source_urlN toc_backlinksjfootnote_backlinksK sectnum_xformKstrip_commentsNstrip_elements_with_classesN strip_classesN report_levelK halt_levelKexit_status_levelKdebugNwarning_streamN tracebackinput_encoding utf-8-siginput_encoding_error_handlerstrictoutput_encodingutf-8output_encoding_error_handlerjerror_encodingutf-8error_encoding_error_handlerbackslashreplace language_codeenrecord_dependenciesNconfigN id_prefixhauto_id_prefixid dump_settingsNdump_internalsNdump_transformsNdump_pseudo_xmlNexpose_internalsNstrict_visitorN_disable_configN_sourceh _destinationN _config_files]7/var/lib/git/docbuild/linux/Documentation/docutils.confafile_insertion_enabled raw_enabledKline_length_limitM'pep_referencesN pep_base_urlhttps://peps.python.org/pep_file_url_templatepep-%04drfc_referencesN rfc_base_url&https://datatracker.ietf.org/doc/html/ tab_widthKtrim_footnote_reference_spacesyntax_highlightlong smart_quotessmartquotes_locales]character_level_inline_markupdoctitle_xform docinfo_xformKsectsubtitle_xform image_loadinglinkembed_stylesheetcloak_email_addressessection_self_linkenvNubreporterNindirect_targets]substitution_defs}substitution_names}refnames}refids}nameids}(jjjjjjjju nametypes}(jjjjuh}(jhjjjjjju footnote_refs} citation_refs} autofootnotes]autofootnote_refs]symbol_footnotes]symbol_footnote_refs] footnotes] citations]autofootnote_startKsymbol_footnote_startK id_counter collectionsCounter}Rparse_messages]transform_messages] transformerN include_log] decorationNhhub.