| Kernel driver max31760 |
| ====================== |
| |
| Supported chips: |
| * Maxim Integrated MAX31760 |
| Prefix: 'max31760' |
| Addresses scanned: none |
| Datasheet: https://datasheets.maximintegrated.com/en/ds/MAX31760.pdf |
| |
| Author: John Muir <muirj@google.com> |
| |
| Description |
| ----------- |
| |
| The Maxim MAX31760 is an I2C device that integrates temperature sensing along |
| with precision PWM fan control. Please read the datasheet referenced above for a |
| comprehensive description of this device. |
| |
| This device driver's hwmon integration provides the common sysfs interfaces to |
| monitor two fans and two temperature sensors, and pwm controls for the fan |
| speed. A temperature to pwm lookup table is exposed via a series of 'auto_point' |
| attributes. See Documentation/hwmon/sysfs-interface for more information. |
| |
| Sysfs attributes |
| ---------------- |
| |
| The following standard hwmon sysfs attributes are supported: |
| |
| fan[1-2]_input |
| fan[1-2]_min |
| fan[1-2]_min_alarm |
| fan[1-2]_pulses The pulses value applies to both fans. |
| |
| pwm[1-2] Pwm1 and pwm2 actually control the same PWM. |
| pwm[1-2]_enable 0: Fans run at full speed. |
| 1: Fan manual control. |
| 2: Fan speed controlled automatically using the PWM vs |
| temperature curve. |
| pwm[1-2]_freq |
| |
| pwm[1-2]_auto_channels_temp |
| pwm[1-2]_auto_point[1-48]_pwm |
| pwm[1-2]_auto_point[1-48]_temp |
| pwm[1-2]_auto_point[1-48]_temp_hyst |
| |
| temp[1-2]_input |
| temp[1-2]_max |
| temp[1-2]_max_alarm |
| temp[1-2]_max_hyst |
| temp[1-2]_emergency |
| temp[1-2]_emergency_alarm |
| temp[1-2]_emergency_hyst |
| temp2_fault Temperature sensor fault indication is only available |
| for temp2. |
| |
| If labels for the fans and temperature sensors are specified in firmware |
| properties, then the following properties will be available: |
| |
| fan[1-2]_label |
| temp[1-2]_label |
| |
| The following custom controls are defined (in the custom sub-directory): |
| |
| config_load Load from the EEPROM into registers. |
| config_store Store register contents into the EEPROM. |
| For both config_load and config_store: Write "0" to read |
| or write the entire register contents. Writing a |
| bit-field as per the datasheet to read or write a |
| portion of the register contents is not supported yet. |
| |
| delay_spinup After waking the device, keep the fans off and wait |
| delay_spinup milliseconds before spinning up the fans. |
| This is useful to avoid unnecessary power use and fan |
| noise for when the host computer sleeps and wakes |
| frequently. |
| |
| delay_register_restore During the spinup, the PWM ramp-rate is set to FAST so |
| as to minimize noise due to the fans changing speed. |
| After the spinup is complete, wait |
| delay_register_restore milliseconds before setting the |
| user-defined ramp rate specified in pwm[1-2]_ramp_rate |
| below. This helps ensure that the target fan speed is |
| achieved faster. |
| |
| pwm[1-2]_fallback PWM value in the range of 0 to 255 to be used when a fan |
| is faulty. |
| |
| pwm[1-2]_ramp_rate PWM increment per second when the PWM value is changed. |
| Accepted values are 8, 16, 32, or 255 (instantaneous). |