1 Kernel driver mlxreg-fan 1 Kernel driver mlxreg-fan 2 ======================== 2 ======================== 3 3 4 Provides FAN control for the next Mellanox sys 4 Provides FAN control for the next Mellanox systems: 5 5 6 - QMB700, equipped with 40x200GbE InfiniBand p 6 - QMB700, equipped with 40x200GbE InfiniBand ports; 7 - MSN3700, equipped with 32x200GbE or 16x400Gb 7 - MSN3700, equipped with 32x200GbE or 16x400GbE Ethernet ports; 8 - MSN3410, equipped with 6x400GbE plus 48x50Gb 8 - MSN3410, equipped with 6x400GbE plus 48x50GbE Ethernet ports; 9 - MSN3800, equipped with 64x1000GbE Ethernet p 9 - MSN3800, equipped with 64x1000GbE Ethernet ports; 10 10 11 Author: Vadim Pasternak <vadimp@mellanox.com> 11 Author: Vadim Pasternak <vadimp@mellanox.com> 12 12 13 These are the Top of the Rack systems, equippe 13 These are the Top of the Rack systems, equipped with Mellanox switch 14 board with Mellanox Quantum or Spectrume-2 dev 14 board with Mellanox Quantum or Spectrume-2 devices. 15 FAN controller is implemented by the programma 15 FAN controller is implemented by the programmable device logic. 16 16 17 The default registers offsets set within the p 17 The default registers offsets set within the programmable device is as 18 following: 18 following: 19 19 20 ======================= ==== 20 ======================= ==== 21 pwm1 0xe3 21 pwm1 0xe3 22 fan1 (tacho1) 0xe4 22 fan1 (tacho1) 0xe4 23 fan2 (tacho2) 0xe5 23 fan2 (tacho2) 0xe5 24 fan3 (tacho3) 0xe6 24 fan3 (tacho3) 0xe6 25 fan4 (tacho4) 0xe7 25 fan4 (tacho4) 0xe7 26 fan5 (tacho5) 0xe8 26 fan5 (tacho5) 0xe8 27 fan6 (tacho6) 0xe9 27 fan6 (tacho6) 0xe9 28 fan7 (tacho7) 0xea 28 fan7 (tacho7) 0xea 29 fan8 (tacho8) 0xeb 29 fan8 (tacho8) 0xeb 30 fan9 (tacho9) 0xec 30 fan9 (tacho9) 0xec 31 fan10 (tacho10) 0xed 31 fan10 (tacho10) 0xed 32 fan11 (tacho11) 0xee 32 fan11 (tacho11) 0xee 33 fan12 (tacho12) 0xef 33 fan12 (tacho12) 0xef 34 ======================= ==== 34 ======================= ==== 35 35 36 This setup can be re-programmed with other reg 36 This setup can be re-programmed with other registers. 37 37 38 Description 38 Description 39 ----------- 39 ----------- 40 40 41 The driver implements a simple interface for d 41 The driver implements a simple interface for driving a fan connected to 42 a PWM output and tachometer inputs. 42 a PWM output and tachometer inputs. 43 This driver obtains PWM and tachometers regist 43 This driver obtains PWM and tachometers registers location according to 44 the system configuration and creates FAN/PWM h 44 the system configuration and creates FAN/PWM hwmon objects and a cooling 45 device. PWM and tachometers are sensed through 45 device. PWM and tachometers are sensed through the on-board programmable 46 device, which exports its register map. This d 46 device, which exports its register map. This device could be attached to 47 any bus type, for which register mapping is su 47 any bus type, for which register mapping is supported. 48 Single instance is created with one PWM contro 48 Single instance is created with one PWM control, up to 12 tachometers and 49 one cooling device. It could be as many instan 49 one cooling device. It could be as many instances as programmable device 50 supports. 50 supports. 51 The driver exposes the fan to the user space t 51 The driver exposes the fan to the user space through the hwmon's and 52 thermal's sysfs interfaces. 52 thermal's sysfs interfaces. 53 53 54 /sys files in hwmon subsystem 54 /sys files in hwmon subsystem 55 ----------------------------- 55 ----------------------------- 56 56 57 ================= == ========================= 57 ================= == =================================================== 58 fan[1-12]_fault RO files for tachometers TAC 58 fan[1-12]_fault RO files for tachometers TACH1-TACH12 fault indication 59 fan[1-12]_input RO files for tachometers TAC 59 fan[1-12]_input RO files for tachometers TACH1-TACH12 input (in RPM) 60 pwm1 RW file for fan[1-12] target 60 pwm1 RW file for fan[1-12] target duty cycle (0..255) 61 ================= == ========================= 61 ================= == =================================================== 62 62 63 /sys files in thermal subsystem 63 /sys files in thermal subsystem 64 ------------------------------- 64 ------------------------------- 65 65 66 ================= == ========================= 66 ================= == ==================================================== 67 cur_state RW file for current cooling 67 cur_state RW file for current cooling state of the cooling device 68 (0..max_state) 68 (0..max_state) 69 max_state RO file for maximum cooling 69 max_state RO file for maximum cooling state of the cooling device 70 ================= == ========================= 70 ================= == ====================================================
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.