123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- 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;
- 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.
- Author: Vadim Pasternak <vadimp@mellanox.com>
- 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
|