17ebd8b66SMauro Carvalho ChehabKernel driver lm90 27ebd8b66SMauro Carvalho Chehab================== 37ebd8b66SMauro Carvalho Chehab 47ebd8b66SMauro Carvalho ChehabSupported chips: 57ebd8b66SMauro Carvalho Chehab 67ebd8b66SMauro Carvalho Chehab * National Semiconductor LM90 77ebd8b66SMauro Carvalho Chehab 87ebd8b66SMauro Carvalho Chehab Prefix: 'lm90' 97ebd8b66SMauro Carvalho Chehab 107ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 117ebd8b66SMauro Carvalho Chehab 127ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the National Semiconductor website 137ebd8b66SMauro Carvalho Chehab 147ebd8b66SMauro Carvalho Chehab http://www.national.com/pf/LM/LM90.html 157ebd8b66SMauro Carvalho Chehab 167ebd8b66SMauro Carvalho Chehab * National Semiconductor LM89 177ebd8b66SMauro Carvalho Chehab 187ebd8b66SMauro Carvalho Chehab Prefix: 'lm89' (no auto-detection) 197ebd8b66SMauro Carvalho Chehab 207ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c and 0x4d 217ebd8b66SMauro Carvalho Chehab 227ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the National Semiconductor website 237ebd8b66SMauro Carvalho Chehab 247ebd8b66SMauro Carvalho Chehab http://www.national.com/mpf/LM/LM89.html 257ebd8b66SMauro Carvalho Chehab 267ebd8b66SMauro Carvalho Chehab * National Semiconductor LM99 277ebd8b66SMauro Carvalho Chehab 287ebd8b66SMauro Carvalho Chehab Prefix: 'lm99' 297ebd8b66SMauro Carvalho Chehab 307ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c and 0x4d 317ebd8b66SMauro Carvalho Chehab 327ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the National Semiconductor website 337ebd8b66SMauro Carvalho Chehab 347ebd8b66SMauro Carvalho Chehab http://www.national.com/pf/LM/LM99.html 357ebd8b66SMauro Carvalho Chehab 367ebd8b66SMauro Carvalho Chehab * National Semiconductor LM86 377ebd8b66SMauro Carvalho Chehab 387ebd8b66SMauro Carvalho Chehab Prefix: 'lm86' 397ebd8b66SMauro Carvalho Chehab 407ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 417ebd8b66SMauro Carvalho Chehab 427ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the National Semiconductor website 437ebd8b66SMauro Carvalho Chehab 447ebd8b66SMauro Carvalho Chehab http://www.national.com/mpf/LM/LM86.html 457ebd8b66SMauro Carvalho Chehab 467ebd8b66SMauro Carvalho Chehab * Analog Devices ADM1032 477ebd8b66SMauro Carvalho Chehab 487ebd8b66SMauro Carvalho Chehab Prefix: 'adm1032' 497ebd8b66SMauro Carvalho Chehab 507ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c and 0x4d 517ebd8b66SMauro Carvalho Chehab 527ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the ON Semiconductor website 537ebd8b66SMauro Carvalho Chehab 546c7b66beSAlexander A. Klimov https://www.onsemi.com/PowerSolutions/product.do?id=ADM1032 557ebd8b66SMauro Carvalho Chehab 567ebd8b66SMauro Carvalho Chehab * Analog Devices ADT7461 577ebd8b66SMauro Carvalho Chehab 587ebd8b66SMauro Carvalho Chehab Prefix: 'adt7461' 597ebd8b66SMauro Carvalho Chehab 607ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c and 0x4d 617ebd8b66SMauro Carvalho Chehab 627ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the ON Semiconductor website 637ebd8b66SMauro Carvalho Chehab 646c7b66beSAlexander A. Klimov https://www.onsemi.com/PowerSolutions/product.do?id=ADT7461 657ebd8b66SMauro Carvalho Chehab 667ebd8b66SMauro Carvalho Chehab * Analog Devices ADT7461A 677ebd8b66SMauro Carvalho Chehab 687ebd8b66SMauro Carvalho Chehab Prefix: 'adt7461a' 697ebd8b66SMauro Carvalho Chehab 707ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c and 0x4d 717ebd8b66SMauro Carvalho Chehab 727ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the ON Semiconductor website 737ebd8b66SMauro Carvalho Chehab 746c7b66beSAlexander A. Klimov https://www.onsemi.com/PowerSolutions/product.do?id=ADT7461A 757ebd8b66SMauro Carvalho Chehab 76a9f3d3a8SGuenter Roeck * Analog Devices ADT7481 77a9f3d3a8SGuenter Roeck 78a9f3d3a8SGuenter Roeck Prefix: 'adt7481' 79a9f3d3a8SGuenter Roeck 80a9f3d3a8SGuenter Roeck Addresses scanned: I2C 0x4b and 0x4c 81a9f3d3a8SGuenter Roeck 82a9f3d3a8SGuenter Roeck Datasheet: Publicly available at the ON Semiconductor website 83a9f3d3a8SGuenter Roeck 84a9f3d3a8SGuenter Roeck https://www.onsemi.com/PowerSolutions/product.do?id=ADT7481 85a9f3d3a8SGuenter Roeck 86a9f3d3a8SGuenter Roeck * Analog Devices ADT7482 87a9f3d3a8SGuenter Roeck 88a9f3d3a8SGuenter Roeck Prefix: 'adt7482' 89a9f3d3a8SGuenter Roeck 90a9f3d3a8SGuenter Roeck Addresses scanned: I2C 0x4c 91a9f3d3a8SGuenter Roeck 92a9f3d3a8SGuenter Roeck Datasheet: Publicly available at the ON Semiconductor website 93a9f3d3a8SGuenter Roeck 94a9f3d3a8SGuenter Roeck https://www.onsemi.com/PowerSolutions/product.do?id=ADT7482 95a9f3d3a8SGuenter Roeck 96a9f3d3a8SGuenter Roeck * Analog Devices ADT7483A 97a9f3d3a8SGuenter Roeck 98a9f3d3a8SGuenter Roeck Prefix: 'adt7483a' 99a9f3d3a8SGuenter Roeck 100a9f3d3a8SGuenter Roeck Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 0x4c, 0x4d, 0x4e 101a9f3d3a8SGuenter Roeck 102a9f3d3a8SGuenter Roeck Datasheet: Publicly available at the ON Semiconductor website 103a9f3d3a8SGuenter Roeck 104a9f3d3a8SGuenter Roeck https://www.onsemi.com/PowerSolutions/product.do?id=ADT7483A 105a9f3d3a8SGuenter Roeck 1067ebd8b66SMauro Carvalho Chehab * ON Semiconductor NCT1008 1077ebd8b66SMauro Carvalho Chehab 1087ebd8b66SMauro Carvalho Chehab Prefix: 'nct1008' 1097ebd8b66SMauro Carvalho Chehab 1107ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c and 0x4d 1117ebd8b66SMauro Carvalho Chehab 1127ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the ON Semiconductor website 1137ebd8b66SMauro Carvalho Chehab 1146c7b66beSAlexander A. Klimov https://www.onsemi.com/PowerSolutions/product.do?id=NCT1008 1157ebd8b66SMauro Carvalho Chehab 116*3c1ecccbSGuenter Roeck * Maxim MAX6642 117*3c1ecccbSGuenter Roeck 118*3c1ecccbSGuenter Roeck Prefix: 'max6642' 119*3c1ecccbSGuenter Roeck 120*3c1ecccbSGuenter Roeck Addresses scanned: I2C 0x48-0x4f 121*3c1ecccbSGuenter Roeck 122*3c1ecccbSGuenter Roeck Datasheet: Publicly available at the Maxim website 123*3c1ecccbSGuenter Roeck 124*3c1ecccbSGuenter Roeck http://datasheets.maxim-ic.com/en/ds/MAX6642.pdf 125*3c1ecccbSGuenter Roeck 1267ebd8b66SMauro Carvalho Chehab * Maxim MAX6646 1277ebd8b66SMauro Carvalho Chehab 1287ebd8b66SMauro Carvalho Chehab Prefix: 'max6646' 1297ebd8b66SMauro Carvalho Chehab 1307ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4d 1317ebd8b66SMauro Carvalho Chehab 1327ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 1337ebd8b66SMauro Carvalho Chehab 1347ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497 1357ebd8b66SMauro Carvalho Chehab 1367ebd8b66SMauro Carvalho Chehab * Maxim MAX6647 1377ebd8b66SMauro Carvalho Chehab 1387ebd8b66SMauro Carvalho Chehab Prefix: 'max6646' 1397ebd8b66SMauro Carvalho Chehab 1407ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4e 1417ebd8b66SMauro Carvalho Chehab 1427ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 1437ebd8b66SMauro Carvalho Chehab 1447ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497 1457ebd8b66SMauro Carvalho Chehab 1467ebd8b66SMauro Carvalho Chehab * Maxim MAX6648 1477ebd8b66SMauro Carvalho Chehab 148904a6fe6SGuenter Roeck Prefix: 'max6648' 1497ebd8b66SMauro Carvalho Chehab 1507ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 1517ebd8b66SMauro Carvalho Chehab 1527ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 1537ebd8b66SMauro Carvalho Chehab 1547ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500 1557ebd8b66SMauro Carvalho Chehab 1567ebd8b66SMauro Carvalho Chehab * Maxim MAX6649 1577ebd8b66SMauro Carvalho Chehab 1587ebd8b66SMauro Carvalho Chehab Prefix: 'max6646' 1597ebd8b66SMauro Carvalho Chehab 1607ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 1617ebd8b66SMauro Carvalho Chehab 1627ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 1637ebd8b66SMauro Carvalho Chehab 1647ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497 1657ebd8b66SMauro Carvalho Chehab 166229d495dSJosh Lehan * Maxim MAX6654 167229d495dSJosh Lehan 168229d495dSJosh Lehan Prefix: 'max6654' 169229d495dSJosh Lehan 170229d495dSJosh Lehan Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 171229d495dSJosh Lehan 172229d495dSJosh Lehan 0x4c, 0x4d and 0x4e 173229d495dSJosh Lehan 174229d495dSJosh Lehan Datasheet: Publicly available at the Maxim website 175229d495dSJosh Lehan 176229d495dSJosh Lehan https://www.maximintegrated.com/en/products/sensors/MAX6654.html 177229d495dSJosh Lehan 1787ebd8b66SMauro Carvalho Chehab * Maxim MAX6657 1797ebd8b66SMauro Carvalho Chehab 1807ebd8b66SMauro Carvalho Chehab Prefix: 'max6657' 1817ebd8b66SMauro Carvalho Chehab 1827ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 1837ebd8b66SMauro Carvalho Chehab 1847ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 1857ebd8b66SMauro Carvalho Chehab 1867ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 1877ebd8b66SMauro Carvalho Chehab 1887ebd8b66SMauro Carvalho Chehab * Maxim MAX6658 1897ebd8b66SMauro Carvalho Chehab 1907ebd8b66SMauro Carvalho Chehab Prefix: 'max6657' 1917ebd8b66SMauro Carvalho Chehab 1927ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 1937ebd8b66SMauro Carvalho Chehab 1947ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 1957ebd8b66SMauro Carvalho Chehab 1967ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 1977ebd8b66SMauro Carvalho Chehab 1987ebd8b66SMauro Carvalho Chehab * Maxim MAX6659 1997ebd8b66SMauro Carvalho Chehab 2007ebd8b66SMauro Carvalho Chehab Prefix: 'max6659' 2017ebd8b66SMauro Carvalho Chehab 2027ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c, 0x4d, 0x4e 2037ebd8b66SMauro Carvalho Chehab 2047ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 2057ebd8b66SMauro Carvalho Chehab 2067ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578 2077ebd8b66SMauro Carvalho Chehab 2087ebd8b66SMauro Carvalho Chehab * Maxim MAX6680 2097ebd8b66SMauro Carvalho Chehab 2107ebd8b66SMauro Carvalho Chehab Prefix: 'max6680' 2117ebd8b66SMauro Carvalho Chehab 2127ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 2137ebd8b66SMauro Carvalho Chehab 2147ebd8b66SMauro Carvalho Chehab 0x4c, 0x4d and 0x4e 2157ebd8b66SMauro Carvalho Chehab 2167ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 2177ebd8b66SMauro Carvalho Chehab 2187ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370 2197ebd8b66SMauro Carvalho Chehab 2207ebd8b66SMauro Carvalho Chehab * Maxim MAX6681 2217ebd8b66SMauro Carvalho Chehab 2227ebd8b66SMauro Carvalho Chehab Prefix: 'max6680' 2237ebd8b66SMauro Carvalho Chehab 2247ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 2257ebd8b66SMauro Carvalho Chehab 2267ebd8b66SMauro Carvalho Chehab 0x4c, 0x4d and 0x4e 2277ebd8b66SMauro Carvalho Chehab 2287ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 2297ebd8b66SMauro Carvalho Chehab 2307ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370 2317ebd8b66SMauro Carvalho Chehab 2327ebd8b66SMauro Carvalho Chehab * Maxim MAX6692 2337ebd8b66SMauro Carvalho Chehab 234904a6fe6SGuenter Roeck Prefix: 'max6648' 2357ebd8b66SMauro Carvalho Chehab 2367ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 2377ebd8b66SMauro Carvalho Chehab 2387ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 2397ebd8b66SMauro Carvalho Chehab 2407ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500 2417ebd8b66SMauro Carvalho Chehab 2427ebd8b66SMauro Carvalho Chehab * Maxim MAX6695 2437ebd8b66SMauro Carvalho Chehab 2447ebd8b66SMauro Carvalho Chehab Prefix: 'max6695' 2457ebd8b66SMauro Carvalho Chehab 2467ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x18 2477ebd8b66SMauro Carvalho Chehab 2487ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 2497ebd8b66SMauro Carvalho Chehab 2507ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/datasheet/index.mvp/id/4199 2517ebd8b66SMauro Carvalho Chehab 2527ebd8b66SMauro Carvalho Chehab * Maxim MAX6696 2537ebd8b66SMauro Carvalho Chehab 2547ebd8b66SMauro Carvalho Chehab Prefix: 'max6695' 2557ebd8b66SMauro Carvalho Chehab 2567ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b, 2577ebd8b66SMauro Carvalho Chehab 2587ebd8b66SMauro Carvalho Chehab 0x4c, 0x4d and 0x4e 2597ebd8b66SMauro Carvalho Chehab 2607ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at the Maxim website 2617ebd8b66SMauro Carvalho Chehab 2627ebd8b66SMauro Carvalho Chehab http://www.maxim-ic.com/datasheet/index.mvp/id/4199 2637ebd8b66SMauro Carvalho Chehab 2647ebd8b66SMauro Carvalho Chehab * Winbond/Nuvoton W83L771W/G 2657ebd8b66SMauro Carvalho Chehab 2667ebd8b66SMauro Carvalho Chehab Prefix: 'w83l771' 2677ebd8b66SMauro Carvalho Chehab 2687ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 2697ebd8b66SMauro Carvalho Chehab 2707ebd8b66SMauro Carvalho Chehab Datasheet: No longer available 2717ebd8b66SMauro Carvalho Chehab 2727ebd8b66SMauro Carvalho Chehab * Winbond/Nuvoton W83L771AWG/ASG 2737ebd8b66SMauro Carvalho Chehab 2747ebd8b66SMauro Carvalho Chehab Prefix: 'w83l771' 2757ebd8b66SMauro Carvalho Chehab 2767ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 2777ebd8b66SMauro Carvalho Chehab 2787ebd8b66SMauro Carvalho Chehab Datasheet: Not publicly available, can be requested from Nuvoton 2797ebd8b66SMauro Carvalho Chehab 2807ebd8b66SMauro Carvalho Chehab * Philips/NXP SA56004X 2817ebd8b66SMauro Carvalho Chehab 2827ebd8b66SMauro Carvalho Chehab Prefix: 'sa56004' 2837ebd8b66SMauro Carvalho Chehab 2847ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x48 through 0x4F 2857ebd8b66SMauro Carvalho Chehab 2867ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at NXP website 2877ebd8b66SMauro Carvalho Chehab 2887ebd8b66SMauro Carvalho Chehab http://ics.nxp.com/products/interface/datasheet/sa56004x.pdf 2897ebd8b66SMauro Carvalho Chehab 2907ebd8b66SMauro Carvalho Chehab * GMT G781 2917ebd8b66SMauro Carvalho Chehab 2927ebd8b66SMauro Carvalho Chehab Prefix: 'g781' 2937ebd8b66SMauro Carvalho Chehab 2947ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c, 0x4d 2957ebd8b66SMauro Carvalho Chehab 2967ebd8b66SMauro Carvalho Chehab Datasheet: Not publicly available from GMT 2977ebd8b66SMauro Carvalho Chehab 2987ebd8b66SMauro Carvalho Chehab * Texas Instruments TMP451 2997ebd8b66SMauro Carvalho Chehab 3007ebd8b66SMauro Carvalho Chehab Prefix: 'tmp451' 3017ebd8b66SMauro Carvalho Chehab 3027ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x4c 3037ebd8b66SMauro Carvalho Chehab 3047ebd8b66SMauro Carvalho Chehab Datasheet: Publicly available at TI website 3057ebd8b66SMauro Carvalho Chehab 3066c7b66beSAlexander A. Klimov https://www.ti.com/litv/pdf/sbos686 3077ebd8b66SMauro Carvalho Chehab 308f8344f76SGuenter Roeck * Texas Instruments TMP461 309f8344f76SGuenter Roeck 310f8344f76SGuenter Roeck Prefix: 'tmp461' 311f8344f76SGuenter Roeck 312f8344f76SGuenter Roeck Addresses scanned: I2C 0x48 through 0x4F 313f8344f76SGuenter Roeck 314f8344f76SGuenter Roeck Datasheet: Publicly available at TI website 315f8344f76SGuenter Roeck 316f8344f76SGuenter Roeck https://www.ti.com/lit/gpn/tmp461 317f8344f76SGuenter Roeck 3187ebd8b66SMauro Carvalho ChehabAuthor: Jean Delvare <jdelvare@suse.de> 3197ebd8b66SMauro Carvalho Chehab 3207ebd8b66SMauro Carvalho Chehab 3217ebd8b66SMauro Carvalho ChehabDescription 3227ebd8b66SMauro Carvalho Chehab----------- 3237ebd8b66SMauro Carvalho Chehab 3247ebd8b66SMauro Carvalho ChehabThe LM90 is a digital temperature sensor. It senses its own temperature as 3257ebd8b66SMauro Carvalho Chehabwell as the temperature of up to one external diode. It is compatible 3267ebd8b66SMauro Carvalho Chehabwith many other devices, many of which are supported by this driver. 3277ebd8b66SMauro Carvalho Chehab 3287ebd8b66SMauro Carvalho ChehabNote that there is no easy way to differentiate between the MAX6657, 3297ebd8b66SMauro Carvalho ChehabMAX6658 and MAX6659 variants. The extra features of the MAX6659 are only 3307ebd8b66SMauro Carvalho Chehabsupported by this driver if the chip is located at address 0x4d or 0x4e, 3317ebd8b66SMauro Carvalho Chehabor if the chip type is explicitly selected as max6659. 3327ebd8b66SMauro Carvalho ChehabThe MAX6680 and MAX6681 only differ in their pinout, therefore they obviously 3337ebd8b66SMauro Carvalho Chehabcan't (and don't need to) be distinguished. 3347ebd8b66SMauro Carvalho Chehab 3357ebd8b66SMauro Carvalho ChehabThe specificity of this family of chipsets over the ADM1021/LM84 3367ebd8b66SMauro Carvalho Chehabfamily is that it features critical limits with hysteresis, and an 3377ebd8b66SMauro Carvalho Chehabincreased resolution of the remote temperature measurement. 3387ebd8b66SMauro Carvalho Chehab 3397ebd8b66SMauro Carvalho ChehabThe different chipsets of the family are not strictly identical, although 3407ebd8b66SMauro Carvalho Chehabvery similar. For reference, here comes a non-exhaustive list of specific 3417ebd8b66SMauro Carvalho Chehabfeatures: 3427ebd8b66SMauro Carvalho Chehab 3437ebd8b66SMauro Carvalho ChehabLM90: 3447ebd8b66SMauro Carvalho Chehab * Filter and alert configuration register at 0xBF. 3457ebd8b66SMauro Carvalho Chehab * ALERT is triggered by temperatures over critical limits. 3467ebd8b66SMauro Carvalho Chehab 3477ebd8b66SMauro Carvalho ChehabLM86 and LM89: 3487ebd8b66SMauro Carvalho Chehab * Same as LM90 3497ebd8b66SMauro Carvalho Chehab * Better external channel accuracy 3507ebd8b66SMauro Carvalho Chehab 3517ebd8b66SMauro Carvalho ChehabLM99: 3527ebd8b66SMauro Carvalho Chehab * Same as LM89 3537ebd8b66SMauro Carvalho Chehab * External temperature shifted by 16 degrees down 3547ebd8b66SMauro Carvalho Chehab 3557ebd8b66SMauro Carvalho ChehabADM1032: 3567ebd8b66SMauro Carvalho Chehab * Consecutive alert register at 0x22. 3577ebd8b66SMauro Carvalho Chehab * Conversion averaging. 3587ebd8b66SMauro Carvalho Chehab * Up to 64 conversions/s. 3597ebd8b66SMauro Carvalho Chehab * ALERT is triggered by open remote sensor. 3607ebd8b66SMauro Carvalho Chehab * SMBus PEC support for Write Byte and Receive Byte transactions. 3617ebd8b66SMauro Carvalho Chehab 3627ebd8b66SMauro Carvalho ChehabADT7461, ADT7461A, NCT1008: 3637ebd8b66SMauro Carvalho Chehab * Extended temperature range (breaks compatibility) 3647ebd8b66SMauro Carvalho Chehab * Lower resolution for remote temperature 365425f5b5dSGuenter Roeck * SMBus PEC support for Write Byte and Receive Byte transactions. 366a9f3d3a8SGuenter Roeck * 10 bit temperature resolution 367a9f3d3a8SGuenter Roeck 368a9f3d3a8SGuenter RoeckADT7481, ADT7482, ADT7483: 369a9f3d3a8SGuenter Roeck * Temperature offset register 370a9f3d3a8SGuenter Roeck * SMBus PEC support 371a9f3d3a8SGuenter Roeck * 10 bit temperature resolution for external sensors 372a9f3d3a8SGuenter Roeck * Two remote sensors 373a9f3d3a8SGuenter Roeck * Selectable address (ADT7483) 3747ebd8b66SMauro Carvalho Chehab 375*3c1ecccbSGuenter RoeckMAX6642: 376*3c1ecccbSGuenter Roeck * No critical limit register 377*3c1ecccbSGuenter Roeck * Conversion rate not configurable 378*3c1ecccbSGuenter Roeck * Better local resolution (10 bit) 379*3c1ecccbSGuenter Roeck * 10 bit external sensor resolution 380*3c1ecccbSGuenter Roeck 381904a6fe6SGuenter RoeckMAX6646, MAX6647, MAX6649: 382904a6fe6SGuenter Roeck * Better local resolution 383904a6fe6SGuenter Roeck * Extended range unsigned external temperature 384904a6fe6SGuenter Roeck 385904a6fe6SGuenter RoeckMAX6648, MAX6692: 386904a6fe6SGuenter Roeck * Better local resolution 387904a6fe6SGuenter Roeck * Unsigned temperature 388904a6fe6SGuenter Roeck 389399a8a00SGuenter RoeckMAX6654, MAX6690: 390229d495dSJosh Lehan * Better local resolution 391229d495dSJosh Lehan * Selectable address 392229d495dSJosh Lehan * Remote sensor type selection 393229d495dSJosh Lehan * Extended temperature range 394229d495dSJosh Lehan * Extended resolution only available when conversion rate <= 1 Hz 395229d495dSJosh Lehan 3967ebd8b66SMauro Carvalho ChehabMAX6657 and MAX6658: 3977ebd8b66SMauro Carvalho Chehab * Better local resolution 3987ebd8b66SMauro Carvalho Chehab * Remote sensor type selection 3997ebd8b66SMauro Carvalho Chehab 4007ebd8b66SMauro Carvalho ChehabMAX6659: 4017ebd8b66SMauro Carvalho Chehab * Better local resolution 4027ebd8b66SMauro Carvalho Chehab * Selectable address 4037ebd8b66SMauro Carvalho Chehab * Second critical temperature limit 4047ebd8b66SMauro Carvalho Chehab * Remote sensor type selection 4057ebd8b66SMauro Carvalho Chehab 4067ebd8b66SMauro Carvalho ChehabMAX6680 and MAX6681: 4077ebd8b66SMauro Carvalho Chehab * Selectable address 4087ebd8b66SMauro Carvalho Chehab * Remote sensor type selection 4097ebd8b66SMauro Carvalho Chehab 4107ebd8b66SMauro Carvalho ChehabMAX6695 and MAX6696: 4117ebd8b66SMauro Carvalho Chehab * Better local resolution 4127ebd8b66SMauro Carvalho Chehab * Selectable address (max6696) 4137ebd8b66SMauro Carvalho Chehab * Second critical temperature limit 4147ebd8b66SMauro Carvalho Chehab * Two remote sensors 4157ebd8b66SMauro Carvalho Chehab 4167ebd8b66SMauro Carvalho ChehabW83L771W/G 4177ebd8b66SMauro Carvalho Chehab * The G variant is lead-free, otherwise similar to the W. 4187ebd8b66SMauro Carvalho Chehab * Filter and alert configuration register at 0xBF 4197ebd8b66SMauro Carvalho Chehab * Moving average (depending on conversion rate) 4207ebd8b66SMauro Carvalho Chehab 4217ebd8b66SMauro Carvalho ChehabW83L771AWG/ASG 4227ebd8b66SMauro Carvalho Chehab * Successor of the W83L771W/G, same features. 4237ebd8b66SMauro Carvalho Chehab * The AWG and ASG variants only differ in package format. 4247ebd8b66SMauro Carvalho Chehab * Diode ideality factor configuration (remote sensor) at 0xE3 4257ebd8b66SMauro Carvalho Chehab 4267ebd8b66SMauro Carvalho ChehabSA56004X: 4277ebd8b66SMauro Carvalho Chehab * Better local resolution 4287ebd8b66SMauro Carvalho Chehab 4297ebd8b66SMauro Carvalho ChehabAll temperature values are given in degrees Celsius. Resolution 4307ebd8b66SMauro Carvalho Chehabis 1.0 degree for the local temperature, 0.125 degree for the remote 431229d495dSJosh Lehantemperature, except for the MAX6654, MAX6657, MAX6658 and MAX6659 which have 432229d495dSJosh Lehana resolution of 0.125 degree for both temperatures. 4337ebd8b66SMauro Carvalho Chehab 4347ebd8b66SMauro Carvalho ChehabEach sensor has its own high and low limits, plus a critical limit. 4357ebd8b66SMauro Carvalho ChehabAdditionally, there is a relative hysteresis value common to both critical 4367ebd8b66SMauro Carvalho Chehabvalues. To make life easier to user-space applications, two absolute values 4377ebd8b66SMauro Carvalho Chehabare exported, one for each channel, but these values are of course linked. 4387ebd8b66SMauro Carvalho ChehabOnly the local hysteresis can be set from user-space, and the same delta 4397ebd8b66SMauro Carvalho Chehabapplies to the remote hysteresis. 4407ebd8b66SMauro Carvalho Chehab 4417ebd8b66SMauro Carvalho ChehabThe lm90 driver will not update its values more frequently than configured with 4427ebd8b66SMauro Carvalho Chehabthe update_interval attribute; reading them more often will do no harm, but will 4437ebd8b66SMauro Carvalho Chehabreturn 'old' values. 4447ebd8b66SMauro Carvalho Chehab 4457ebd8b66SMauro Carvalho ChehabSMBus Alert Support 4467ebd8b66SMauro Carvalho Chehab------------------- 4477ebd8b66SMauro Carvalho Chehab 4487ebd8b66SMauro Carvalho ChehabThis driver has basic support for SMBus alert. When an alert is received, 4497ebd8b66SMauro Carvalho Chehabthe status register is read and the faulty temperature channel is logged. 4507ebd8b66SMauro Carvalho Chehab 4517ebd8b66SMauro Carvalho ChehabThe Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON 4527ebd8b66SMauro Carvalho ChehabSemiconductor chips (NCT1008) do not implement the SMBus alert protocol 4537ebd8b66SMauro Carvalho Chehabproperly so additional care is needed: the ALERT output is disabled when 4547ebd8b66SMauro Carvalho Chehaban alert is received, and is re-enabled only when the alarm is gone. 4557ebd8b66SMauro Carvalho ChehabOtherwise the chip would block alerts from other chips in the bus as long 4567ebd8b66SMauro Carvalho Chehabas the alarm is active. 4577ebd8b66SMauro Carvalho Chehab 4587ebd8b66SMauro Carvalho ChehabPEC Support 4597ebd8b66SMauro Carvalho Chehab----------- 4607ebd8b66SMauro Carvalho Chehab 4617ebd8b66SMauro Carvalho ChehabThe ADM1032 is the only chip of the family which supports PEC. It does 4627ebd8b66SMauro Carvalho Chehabnot support PEC on all transactions though, so some care must be taken. 4637ebd8b66SMauro Carvalho Chehab 4647ebd8b66SMauro Carvalho ChehabWhen reading a register value, the PEC byte is computed and sent by the 4657ebd8b66SMauro Carvalho ChehabADM1032 chip. However, in the case of a combined transaction (SMBus Read 4667ebd8b66SMauro Carvalho ChehabByte), the ADM1032 computes the CRC value over only the second half of 4677ebd8b66SMauro Carvalho Chehabthe message rather than its entirety, because it thinks the first half 4687ebd8b66SMauro Carvalho Chehabof the message belongs to a different transaction. As a result, the CRC 4697ebd8b66SMauro Carvalho Chehabvalue differs from what the SMBus master expects, and all reads fail. 4707ebd8b66SMauro Carvalho Chehab 4717ebd8b66SMauro Carvalho ChehabFor this reason, the lm90 driver will enable PEC for the ADM1032 only if 4727ebd8b66SMauro Carvalho Chehabthe bus supports the SMBus Send Byte and Receive Byte transaction types. 4737ebd8b66SMauro Carvalho ChehabThese transactions will be used to read register values, instead of 4747ebd8b66SMauro Carvalho ChehabSMBus Read Byte, and PEC will work properly. 4757ebd8b66SMauro Carvalho Chehab 4767ebd8b66SMauro Carvalho ChehabAdditionally, the ADM1032 doesn't support SMBus Send Byte with PEC. 4777ebd8b66SMauro Carvalho ChehabInstead, it will try to write the PEC value to the register (because the 4787ebd8b66SMauro Carvalho ChehabSMBus Send Byte transaction with PEC is similar to a Write Byte transaction 4797ebd8b66SMauro Carvalho Chehabwithout PEC), which is not what we want. Thus, PEC is explicitly disabled 4807ebd8b66SMauro Carvalho Chehabon SMBus Send Byte transactions in the lm90 driver. 4817ebd8b66SMauro Carvalho Chehab 4827ebd8b66SMauro Carvalho ChehabPEC on byte data transactions represents a significant increase in bandwidth 4837ebd8b66SMauro Carvalho Chehabusage (+33% for writes, +25% for reads) in normal conditions. With the need 4847ebd8b66SMauro Carvalho Chehabto use two SMBus transaction for reads, this overhead jumps to +50%. Worse, 4857ebd8b66SMauro Carvalho Chehabtwo transactions will typically mean twice as much delay waiting for 4867ebd8b66SMauro Carvalho Chehabtransaction completion, effectively doubling the register cache refresh time. 4877ebd8b66SMauro Carvalho ChehabI guess reliability comes at a price, but it's quite expensive this time. 4887ebd8b66SMauro Carvalho Chehab 4893b0982ffSGuenter RoeckSo, as not everyone might enjoy the slowdown, PEC is disabled by default and 4903b0982ffSGuenter Roeckcan be enabled through sysfs. Just write 1 to the "pec" file and PEC will be 4913b0982ffSGuenter Roeckenabled. Write 0 to that file to disable PEC again. 492