cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mlxreg-fan.rst (2539B)


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