Kernel driver smm665

Supported chips:

Author: Guenter Roeck <linux@roeck-us.net>

Module Parameters

  • vref: int

    Default: 1250 (mV)

    Reference voltage on VREF_ADC pin in mV. It should not be necessary to set this parameter unless a non-default reference voltage is used.

Description

[From datasheet] The SMM665 is an Active DC Output power supply Controller that monitors, margins and cascade sequences power. The part monitors six power supply channels as well as VDD, 12V input, two general-purpose analog inputs and an internal temperature sensor using a 10-bit ADC.

Each monitored channel has its own high and low limits, plus a critical limit.

Support for SMM465, SMM764, and SMM766 has been implemented but is untested.

Usage Notes

This driver does not probe for devices, since there is no register which can be safely used to identify the chip. You will have to instantiate the devices explicitly. When instantiating the device, you have to specify its configuration register address.

Example: the following will load the driver for an SMM665 at address 0x57 on I2C bus #1:

$ modprobe smm665
$ echo smm665 0x57 > /sys/bus/i2c/devices/i2c-1/new_device

Sysfs entries

This driver uses the values in the datasheet to convert ADC register values into the values specified in the sysfs-interface document. All attributes are read only.

Min, max, lcrit, and crit values are used by the chip to trigger external signals and/or other activity. Triggered signals can include HEALTHY, RST, Power Off, or Fault depending on the chip configuration. The driver reports values as lcrit or crit if exceeding the limits triggers RST, Power Off, or Fault, and as min or max otherwise. For details please see the SMM665 datasheet.

For SMM465 and SMM764, values for Channel E and F are reported but undefined.

in1_input

12V input voltage (mV)

in2_input

3.3V (VDD) input voltage (mV)

in3_input

Channel A voltage (mV)

in4_input

Channel B voltage (mV)

in5_input

Channel C voltage (mV)

in6_input

Channel D voltage (mV)

in7_input

Channel E voltage (mV)

in8_input

Channel F voltage (mV)

in9_input

AIN1 voltage (mV)

in10_input

AIN2 voltage (mV)

in1_min

12v input minimum voltage (mV)

in2_min

3.3V (VDD) input minimum voltage (mV)

in3_min

Channel A minimum voltage (mV)

in4_min

Channel B minimum voltage (mV)

in5_min

Channel C minimum voltage (mV)

in6_min

Channel D minimum voltage (mV)

in7_min

Channel E minimum voltage (mV)

in8_min

Channel F minimum voltage (mV)

in9_min

AIN1 minimum voltage (mV)

in10_min

AIN2 minimum voltage (mV)

in1_max

12v input maximum voltage (mV)

in2_max

3.3V (VDD) input maximum voltage (mV)

in3_max

Channel A maximum voltage (mV)

in4_max

Channel B maximum voltage (mV)

in5_max

Channel C maximum voltage (mV)

in6_max

Channel D maximum voltage (mV)

in7_max

Channel E maximum voltage (mV)

in8_max

Channel F maximum voltage (mV)

in9_max

AIN1 maximum voltage (mV)

in10_max

AIN2 maximum voltage (mV)

in1_lcrit

12v input critical minimum voltage (mV)

in2_lcrit

3.3V (VDD) input critical minimum voltage (mV)

in3_lcrit

Channel A critical minimum voltage (mV)

in4_lcrit

Channel B critical minimum voltage (mV)

in5_lcrit

Channel C critical minimum voltage (mV)

in6_lcrit

Channel D critical minimum voltage (mV)

in7_lcrit

Channel E critical minimum voltage (mV)

in8_lcrit

Channel F critical minimum voltage (mV)

in9_lcrit

AIN1 critical minimum voltage (mV)

in10_lcrit

AIN2 critical minimum voltage (mV)

in1_crit

12v input critical maximum voltage (mV)

in2_crit

3.3V (VDD) input critical maximum voltage (mV)

in3_crit

Channel A critical maximum voltage (mV)

in4_crit

Channel B critical maximum voltage (mV)

in5_crit

Channel C critical maximum voltage (mV)

in6_crit

Channel D critical maximum voltage (mV)

in7_crit

Channel E critical maximum voltage (mV)

in8_crit

Channel F critical maximum voltage (mV)

in9_crit

AIN1 critical maximum voltage (mV)

in10_crit

AIN2 critical maximum voltage (mV)

in1_crit_alarm

12v input critical alarm

in2_crit_alarm

3.3V (VDD) input critical alarm

in3_crit_alarm

Channel A critical alarm

in4_crit_alarm

Channel B critical alarm

in5_crit_alarm

Channel C critical alarm

in6_crit_alarm

Channel D critical alarm

in7_crit_alarm

Channel E critical alarm

in8_crit_alarm

Channel F critical alarm

in9_crit_alarm

AIN1 critical alarm

in10_crit_alarm

AIN2 critical alarm

temp1_input

Chip temperature

temp1_min

Minimum chip temperature

temp1_max

Maximum chip temperature

temp1_crit

Critical chip temperature

temp1_crit_alarm

Temperature critical alarm