61 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			61 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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
 |