forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
70 lines
2.5 KiB
70 lines
2.5 KiB
Kernel driver mlxreg-fan |
|
======================== |
|
|
|
Provides FAN control for the next Mellanox systems: |
|
|
|
- QMB700, equipped with 40x200GbE InfiniBand ports; |
|
- MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports; |
|
- MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports; |
|
- MSN3800, equipped with 64x1000GbE Ethernet ports; |
|
|
|
Author: Vadim Pasternak <[email protected]> |
|
|
|
These 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. |
|
|
|
The default registers offsets set within the programmable device is as |
|
following: |
|
|
|
======================= ==== |
|
pwm1 0xe3 |
|
fan1 (tacho1) 0xe4 |
|
fan2 (tacho2) 0xe5 |
|
fan3 (tacho3) 0xe6 |
|
fan4 (tacho4) 0xe7 |
|
fan5 (tacho5) 0xe8 |
|
fan6 (tacho6) 0xe9 |
|
fan7 (tacho7) 0xea |
|
fan8 (tacho8) 0xeb |
|
fan9 (tacho9) 0xec |
|
fan10 (tacho10) 0xed |
|
fan11 (tacho11) 0xee |
|
fan12 (tacho12) 0xef |
|
======================= ==== |
|
|
|
This setup can be re-programmed with other registers. |
|
|
|
Description |
|
----------- |
|
|
|
The 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. |
|
|
|
/sys files in hwmon subsystem |
|
----------------------------- |
|
|
|
================= == =================================================== |
|
fan[1-12]_fault RO files for tachometers TACH1-TACH12 fault indication |
|
fan[1-12]_input RO files for tachometers TACH1-TACH12 input (in RPM) |
|
pwm1 RW file for fan[1-12] target duty cycle (0..255) |
|
================= == =================================================== |
|
|
|
/sys files in thermal subsystem |
|
------------------------------- |
|
|
|
================= == ==================================================== |
|
cur_state RW file for current cooling state of the cooling device |
|
(0..max_state) |
|
max_state RO file for maximum cooling state of the cooling device |
|
================= == ====================================================
|
|
|