1*4882a593SmuzhiyunKernel driver smm665 2*4882a593Smuzhiyun==================== 3*4882a593Smuzhiyun 4*4882a593SmuzhiyunSupported chips: 5*4882a593Smuzhiyun 6*4882a593Smuzhiyun * Summit Microelectronics SMM465 7*4882a593Smuzhiyun 8*4882a593Smuzhiyun Prefix: 'smm465' 9*4882a593Smuzhiyun 10*4882a593Smuzhiyun Addresses scanned: - 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun Datasheet: 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun http://www.summitmicro.com/prod_select/summary/SMM465/SMM465DS.pdf 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun * Summit Microelectronics SMM665, SMM665B 17*4882a593Smuzhiyun 18*4882a593Smuzhiyun Prefix: 'smm665' 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun Addresses scanned: - 21*4882a593Smuzhiyun 22*4882a593Smuzhiyun Datasheet: 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun http://www.summitmicro.com/prod_select/summary/SMM665/SMM665B_2089_20.pdf 25*4882a593Smuzhiyun 26*4882a593Smuzhiyun * Summit Microelectronics SMM665C 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun Prefix: 'smm665c' 29*4882a593Smuzhiyun 30*4882a593Smuzhiyun Addresses scanned: - 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun Datasheet: 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun http://www.summitmicro.com/prod_select/summary/SMM665C/SMM665C_2125.pdf 35*4882a593Smuzhiyun 36*4882a593Smuzhiyun * Summit Microelectronics SMM764 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun Prefix: 'smm764' 39*4882a593Smuzhiyun 40*4882a593Smuzhiyun Addresses scanned: - 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun Datasheet: 43*4882a593Smuzhiyun 44*4882a593Smuzhiyun http://www.summitmicro.com/prod_select/summary/SMM764/SMM764_2098.pdf 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun * Summit Microelectronics SMM766, SMM766B 47*4882a593Smuzhiyun 48*4882a593Smuzhiyun Prefix: 'smm766' 49*4882a593Smuzhiyun 50*4882a593Smuzhiyun Addresses scanned: - 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun Datasheets: 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun http://www.summitmicro.com/prod_select/summary/SMM766/SMM766_2086.pdf 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun http://www.summitmicro.com/prod_select/summary/SMM766B/SMM766B_2122.pdf 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunAuthor: Guenter Roeck <linux@roeck-us.net> 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun 61*4882a593SmuzhiyunModule Parameters 62*4882a593Smuzhiyun----------------- 63*4882a593Smuzhiyun 64*4882a593Smuzhiyun* vref: int 65*4882a593Smuzhiyun Default: 1250 (mV) 66*4882a593Smuzhiyun 67*4882a593Smuzhiyun Reference voltage on VREF_ADC pin in mV. It should not be necessary to set 68*4882a593Smuzhiyun this parameter unless a non-default reference voltage is used. 69*4882a593Smuzhiyun 70*4882a593Smuzhiyun 71*4882a593SmuzhiyunDescription 72*4882a593Smuzhiyun----------- 73*4882a593Smuzhiyun 74*4882a593Smuzhiyun[From datasheet] The SMM665 is an Active DC Output power supply Controller 75*4882a593Smuzhiyunthat monitors, margins and cascade sequences power. The part monitors six 76*4882a593Smuzhiyunpower supply channels as well as VDD, 12V input, two general-purpose analog 77*4882a593Smuzhiyuninputs and an internal temperature sensor using a 10-bit ADC. 78*4882a593Smuzhiyun 79*4882a593SmuzhiyunEach monitored channel has its own high and low limits, plus a critical 80*4882a593Smuzhiyunlimit. 81*4882a593Smuzhiyun 82*4882a593SmuzhiyunSupport for SMM465, SMM764, and SMM766 has been implemented but is untested. 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun 85*4882a593SmuzhiyunUsage Notes 86*4882a593Smuzhiyun----------- 87*4882a593Smuzhiyun 88*4882a593SmuzhiyunThis driver does not probe for devices, since there is no register which 89*4882a593Smuzhiyuncan be safely used to identify the chip. You will have to instantiate 90*4882a593Smuzhiyunthe devices explicitly. When instantiating the device, you have to specify 91*4882a593Smuzhiyunits configuration register address. 92*4882a593Smuzhiyun 93*4882a593SmuzhiyunExample: the following will load the driver for an SMM665 at address 0x57 94*4882a593Smuzhiyunon I2C bus #1:: 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun $ modprobe smm665 97*4882a593Smuzhiyun $ echo smm665 0x57 > /sys/bus/i2c/devices/i2c-1/new_device 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun 100*4882a593SmuzhiyunSysfs entries 101*4882a593Smuzhiyun------------- 102*4882a593Smuzhiyun 103*4882a593SmuzhiyunThis driver uses the values in the datasheet to convert ADC register values 104*4882a593Smuzhiyuninto the values specified in the sysfs-interface document. All attributes are 105*4882a593Smuzhiyunread only. 106*4882a593Smuzhiyun 107*4882a593SmuzhiyunMin, max, lcrit, and crit values are used by the chip to trigger external signals 108*4882a593Smuzhiyunand/or other activity. Triggered signals can include HEALTHY, RST, Power Off, 109*4882a593Smuzhiyunor Fault depending on the chip configuration. The driver reports values as lcrit 110*4882a593Smuzhiyunor crit if exceeding the limits triggers RST, Power Off, or Fault, and as min or 111*4882a593Smuzhiyunmax otherwise. For details please see the SMM665 datasheet. 112*4882a593Smuzhiyun 113*4882a593SmuzhiyunFor SMM465 and SMM764, values for Channel E and F are reported but undefined. 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun======================= ======================================================= 116*4882a593Smuzhiyunin1_input 12V input voltage (mV) 117*4882a593Smuzhiyunin2_input 3.3V (VDD) input voltage (mV) 118*4882a593Smuzhiyunin3_input Channel A voltage (mV) 119*4882a593Smuzhiyunin4_input Channel B voltage (mV) 120*4882a593Smuzhiyunin5_input Channel C voltage (mV) 121*4882a593Smuzhiyunin6_input Channel D voltage (mV) 122*4882a593Smuzhiyunin7_input Channel E voltage (mV) 123*4882a593Smuzhiyunin8_input Channel F voltage (mV) 124*4882a593Smuzhiyunin9_input AIN1 voltage (mV) 125*4882a593Smuzhiyunin10_input AIN2 voltage (mV) 126*4882a593Smuzhiyun 127*4882a593Smuzhiyunin1_min 12v input minimum voltage (mV) 128*4882a593Smuzhiyunin2_min 3.3V (VDD) input minimum voltage (mV) 129*4882a593Smuzhiyunin3_min Channel A minimum voltage (mV) 130*4882a593Smuzhiyunin4_min Channel B minimum voltage (mV) 131*4882a593Smuzhiyunin5_min Channel C minimum voltage (mV) 132*4882a593Smuzhiyunin6_min Channel D minimum voltage (mV) 133*4882a593Smuzhiyunin7_min Channel E minimum voltage (mV) 134*4882a593Smuzhiyunin8_min Channel F minimum voltage (mV) 135*4882a593Smuzhiyunin9_min AIN1 minimum voltage (mV) 136*4882a593Smuzhiyunin10_min AIN2 minimum voltage (mV) 137*4882a593Smuzhiyun 138*4882a593Smuzhiyunin1_max 12v input maximum voltage (mV) 139*4882a593Smuzhiyunin2_max 3.3V (VDD) input maximum voltage (mV) 140*4882a593Smuzhiyunin3_max Channel A maximum voltage (mV) 141*4882a593Smuzhiyunin4_max Channel B maximum voltage (mV) 142*4882a593Smuzhiyunin5_max Channel C maximum voltage (mV) 143*4882a593Smuzhiyunin6_max Channel D maximum voltage (mV) 144*4882a593Smuzhiyunin7_max Channel E maximum voltage (mV) 145*4882a593Smuzhiyunin8_max Channel F maximum voltage (mV) 146*4882a593Smuzhiyunin9_max AIN1 maximum voltage (mV) 147*4882a593Smuzhiyunin10_max AIN2 maximum voltage (mV) 148*4882a593Smuzhiyun 149*4882a593Smuzhiyunin1_lcrit 12v input critical minimum voltage (mV) 150*4882a593Smuzhiyunin2_lcrit 3.3V (VDD) input critical minimum voltage (mV) 151*4882a593Smuzhiyunin3_lcrit Channel A critical minimum voltage (mV) 152*4882a593Smuzhiyunin4_lcrit Channel B critical minimum voltage (mV) 153*4882a593Smuzhiyunin5_lcrit Channel C critical minimum voltage (mV) 154*4882a593Smuzhiyunin6_lcrit Channel D critical minimum voltage (mV) 155*4882a593Smuzhiyunin7_lcrit Channel E critical minimum voltage (mV) 156*4882a593Smuzhiyunin8_lcrit Channel F critical minimum voltage (mV) 157*4882a593Smuzhiyunin9_lcrit AIN1 critical minimum voltage (mV) 158*4882a593Smuzhiyunin10_lcrit AIN2 critical minimum voltage (mV) 159*4882a593Smuzhiyun 160*4882a593Smuzhiyunin1_crit 12v input critical maximum voltage (mV) 161*4882a593Smuzhiyunin2_crit 3.3V (VDD) input critical maximum voltage (mV) 162*4882a593Smuzhiyunin3_crit Channel A critical maximum voltage (mV) 163*4882a593Smuzhiyunin4_crit Channel B critical maximum voltage (mV) 164*4882a593Smuzhiyunin5_crit Channel C critical maximum voltage (mV) 165*4882a593Smuzhiyunin6_crit Channel D critical maximum voltage (mV) 166*4882a593Smuzhiyunin7_crit Channel E critical maximum voltage (mV) 167*4882a593Smuzhiyunin8_crit Channel F critical maximum voltage (mV) 168*4882a593Smuzhiyunin9_crit AIN1 critical maximum voltage (mV) 169*4882a593Smuzhiyunin10_crit AIN2 critical maximum voltage (mV) 170*4882a593Smuzhiyun 171*4882a593Smuzhiyunin1_crit_alarm 12v input critical alarm 172*4882a593Smuzhiyunin2_crit_alarm 3.3V (VDD) input critical alarm 173*4882a593Smuzhiyunin3_crit_alarm Channel A critical alarm 174*4882a593Smuzhiyunin4_crit_alarm Channel B critical alarm 175*4882a593Smuzhiyunin5_crit_alarm Channel C critical alarm 176*4882a593Smuzhiyunin6_crit_alarm Channel D critical alarm 177*4882a593Smuzhiyunin7_crit_alarm Channel E critical alarm 178*4882a593Smuzhiyunin8_crit_alarm Channel F critical alarm 179*4882a593Smuzhiyunin9_crit_alarm AIN1 critical alarm 180*4882a593Smuzhiyunin10_crit_alarm AIN2 critical alarm 181*4882a593Smuzhiyun 182*4882a593Smuzhiyuntemp1_input Chip temperature 183*4882a593Smuzhiyuntemp1_min Mimimum chip temperature 184*4882a593Smuzhiyuntemp1_max Maximum chip temperature 185*4882a593Smuzhiyuntemp1_crit Critical chip temperature 186*4882a593Smuzhiyuntemp1_crit_alarm Temperature critical alarm 187*4882a593Smuzhiyun======================= ======================================================= 188