Kernel driver smm665
====================

Supported chips:
  * Summit Microelectronics SMM465
    Prefix: 'smm465'
    Addresses scanned: -
    Datasheet:
      http://www.summitmicro.com/prod_select/summary/SMM465/SMM465DS.pdf
  * Summit Microelectronics SMM665, SMM665B
    Prefix: 'smm665'
    Addresses scanned: -
    Datasheet:
      http://www.summitmicro.com/prod_select/summary/SMM665/SMM665B_2089_20.pdf
  * Summit Microelectronics SMM665C
    Prefix: 'smm665c'
    Addresses scanned: -
    Datasheet:
      http://www.summitmicro.com/prod_select/summary/SMM665C/SMM665C_2125.pdf
  * Summit Microelectronics SMM764
    Prefix: 'smm764'
    Addresses scanned: -
    Datasheet:
      http://www.summitmicro.com/prod_select/summary/SMM764/SMM764_2098.pdf
  * Summit Microelectronics SMM766, SMM766B
    Prefix: 'smm766'
    Addresses scanned: -
    Datasheets:
      http://www.summitmicro.com/prod_select/summary/SMM766/SMM766_2086.pdf
      http://www.summitmicro.com/prod_select/summary/SMM766B/SMM766B_2122.pdf

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		Mimimum chip temperature
temp1_max		Maximum chip temperature
temp1_crit		Critical chip temperature
temp1_crit_alarm	Temperature critical alarm
