xref: /linux/Documentation/hwmon/lm90.rst (revision 3c1ecccbbc1389773c32fc56910cf23512fccfcd)
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