^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 1) Kernel driver smm665
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 2) ====================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 3)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 4) Supported chips:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 5)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 6) * Summit Microelectronics SMM465
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 7)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 8) Prefix: 'smm465'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 9)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) Datasheet:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14) http://www.summitmicro.com/prod_select/summary/SMM465/SMM465DS.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16) * Summit Microelectronics SMM665, SMM665B
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18) Prefix: 'smm665'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) Datasheet:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) http://www.summitmicro.com/prod_select/summary/SMM665/SMM665B_2089_20.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) * Summit Microelectronics SMM665C
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) Prefix: 'smm665c'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) Datasheet:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34) http://www.summitmicro.com/prod_select/summary/SMM665C/SMM665C_2125.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36) * Summit Microelectronics SMM764
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) Prefix: 'smm764'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) Datasheet:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) http://www.summitmicro.com/prod_select/summary/SMM764/SMM764_2098.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 45)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 46) * Summit Microelectronics SMM766, SMM766B
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 47)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 48) Prefix: 'smm766'
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 49)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 50) Addresses scanned: -
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 51)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 52) Datasheets:
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 53)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 54) http://www.summitmicro.com/prod_select/summary/SMM766/SMM766_2086.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 55)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 56) http://www.summitmicro.com/prod_select/summary/SMM766B/SMM766B_2122.pdf
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 57)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 58) Author: Guenter Roeck <linux@roeck-us.net>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 59)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 60)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 61) Module Parameters
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 62) -----------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 63)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 64) * vref: int
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 65) Default: 1250 (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 66)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 67) Reference voltage on VREF_ADC pin in mV. It should not be necessary to set
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 68) this parameter unless a non-default reference voltage is used.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 69)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 70)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 71) Description
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 72) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 73)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 74) [From datasheet] The SMM665 is an Active DC Output power supply Controller
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 75) that monitors, margins and cascade sequences power. The part monitors six
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 76) power supply channels as well as VDD, 12V input, two general-purpose analog
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 77) inputs and an internal temperature sensor using a 10-bit ADC.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 78)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 79) Each monitored channel has its own high and low limits, plus a critical
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 80) limit.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 81)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 82) Support for SMM465, SMM764, and SMM766 has been implemented but is untested.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 83)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 84)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 85) Usage Notes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 86) -----------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 87)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 88) This driver does not probe for devices, since there is no register which
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 89) can be safely used to identify the chip. You will have to instantiate
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 90) the devices explicitly. When instantiating the device, you have to specify
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 91) its configuration register address.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 92)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 93) Example: the following will load the driver for an SMM665 at address 0x57
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 94) on I2C bus #1::
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 95)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 96) $ modprobe smm665
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 97) $ echo smm665 0x57 > /sys/bus/i2c/devices/i2c-1/new_device
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 98)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 99)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 100) Sysfs entries
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 101) -------------
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 102)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 103) This driver uses the values in the datasheet to convert ADC register values
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 104) into the values specified in the sysfs-interface document. All attributes are
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 105) read only.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 106)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 107) Min, max, lcrit, and crit values are used by the chip to trigger external signals
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 108) and/or other activity. Triggered signals can include HEALTHY, RST, Power Off,
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 109) or Fault depending on the chip configuration. The driver reports values as lcrit
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 110) or crit if exceeding the limits triggers RST, Power Off, or Fault, and as min or
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 111) max otherwise. For details please see the SMM665 datasheet.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 112)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 113) For SMM465 and SMM764, values for Channel E and F are reported but undefined.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 114)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 115) ======================= =======================================================
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 116) in1_input 12V input voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 117) in2_input 3.3V (VDD) input voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 118) in3_input Channel A voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 119) in4_input Channel B voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 120) in5_input Channel C voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 121) in6_input Channel D voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 122) in7_input Channel E voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 123) in8_input Channel F voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 124) in9_input AIN1 voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 125) in10_input AIN2 voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 126)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 127) in1_min 12v input minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 128) in2_min 3.3V (VDD) input minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 129) in3_min Channel A minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 130) in4_min Channel B minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 131) in5_min Channel C minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 132) in6_min Channel D minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 133) in7_min Channel E minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 134) in8_min Channel F minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 135) in9_min AIN1 minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 136) in10_min AIN2 minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 137)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 138) in1_max 12v input maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 139) in2_max 3.3V (VDD) input maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 140) in3_max Channel A maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 141) in4_max Channel B maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 142) in5_max Channel C maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 143) in6_max Channel D maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 144) in7_max Channel E maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 145) in8_max Channel F maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 146) in9_max AIN1 maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 147) in10_max AIN2 maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 148)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 149) in1_lcrit 12v input critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 150) in2_lcrit 3.3V (VDD) input critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 151) in3_lcrit Channel A critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 152) in4_lcrit Channel B critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 153) in5_lcrit Channel C critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 154) in6_lcrit Channel D critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 155) in7_lcrit Channel E critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 156) in8_lcrit Channel F critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 157) in9_lcrit AIN1 critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 158) in10_lcrit AIN2 critical minimum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 159)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 160) in1_crit 12v input critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 161) in2_crit 3.3V (VDD) input critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 162) in3_crit Channel A critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 163) in4_crit Channel B critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 164) in5_crit Channel C critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 165) in6_crit Channel D critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 166) in7_crit Channel E critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 167) in8_crit Channel F critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 168) in9_crit AIN1 critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 169) in10_crit AIN2 critical maximum voltage (mV)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 170)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 171) in1_crit_alarm 12v input critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 172) in2_crit_alarm 3.3V (VDD) input critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 173) in3_crit_alarm Channel A critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 174) in4_crit_alarm Channel B critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 175) in5_crit_alarm Channel C critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 176) in6_crit_alarm Channel D critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 177) in7_crit_alarm Channel E critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 178) in8_crit_alarm Channel F critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 179) in9_crit_alarm AIN1 critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 180) in10_crit_alarm AIN2 critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 181)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 182) temp1_input Chip temperature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 183) temp1_min Mimimum chip temperature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 184) temp1_max Maximum chip temperature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 185) temp1_crit Critical chip temperature
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 186) temp1_crit_alarm Temperature critical alarm
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 187) ======================= =======================================================