xref: /linux/Documentation/hwmon/lm90.rst (revision 425f5b5d15c2dfed7193ad2517a082bc99964722)
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
767ebd8b66SMauro Carvalho Chehab  * ON Semiconductor NCT1008
777ebd8b66SMauro Carvalho Chehab
787ebd8b66SMauro Carvalho Chehab    Prefix: 'nct1008'
797ebd8b66SMauro Carvalho Chehab
807ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c and 0x4d
817ebd8b66SMauro Carvalho Chehab
827ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the ON Semiconductor website
837ebd8b66SMauro Carvalho Chehab
846c7b66beSAlexander A. Klimov	       https://www.onsemi.com/PowerSolutions/product.do?id=NCT1008
857ebd8b66SMauro Carvalho Chehab
867ebd8b66SMauro Carvalho Chehab  * Maxim MAX6646
877ebd8b66SMauro Carvalho Chehab
887ebd8b66SMauro Carvalho Chehab    Prefix: 'max6646'
897ebd8b66SMauro Carvalho Chehab
907ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4d
917ebd8b66SMauro Carvalho Chehab
927ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
937ebd8b66SMauro Carvalho Chehab
947ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
957ebd8b66SMauro Carvalho Chehab
967ebd8b66SMauro Carvalho Chehab  * Maxim MAX6647
977ebd8b66SMauro Carvalho Chehab
987ebd8b66SMauro Carvalho Chehab    Prefix: 'max6646'
997ebd8b66SMauro Carvalho Chehab
1007ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4e
1017ebd8b66SMauro Carvalho Chehab
1027ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
1037ebd8b66SMauro Carvalho Chehab
1047ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
1057ebd8b66SMauro Carvalho Chehab
1067ebd8b66SMauro Carvalho Chehab  * Maxim MAX6648
1077ebd8b66SMauro Carvalho Chehab
1087ebd8b66SMauro Carvalho Chehab    Prefix: 'max6646'
1097ebd8b66SMauro Carvalho Chehab
1107ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c
1117ebd8b66SMauro Carvalho Chehab
1127ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
1137ebd8b66SMauro Carvalho Chehab
1147ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
1157ebd8b66SMauro Carvalho Chehab
1167ebd8b66SMauro Carvalho Chehab  * Maxim MAX6649
1177ebd8b66SMauro Carvalho Chehab
1187ebd8b66SMauro Carvalho Chehab    Prefix: 'max6646'
1197ebd8b66SMauro Carvalho Chehab
1207ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c
1217ebd8b66SMauro Carvalho Chehab
1227ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
1237ebd8b66SMauro Carvalho Chehab
1247ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3497
1257ebd8b66SMauro Carvalho Chehab
126229d495dSJosh Lehan  * Maxim MAX6654
127229d495dSJosh Lehan
128229d495dSJosh Lehan    Prefix: 'max6654'
129229d495dSJosh Lehan
130229d495dSJosh Lehan    Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
131229d495dSJosh Lehan
132229d495dSJosh Lehan			   0x4c, 0x4d and 0x4e
133229d495dSJosh Lehan
134229d495dSJosh Lehan    Datasheet: Publicly available at the Maxim website
135229d495dSJosh Lehan
136229d495dSJosh Lehan	       https://www.maximintegrated.com/en/products/sensors/MAX6654.html
137229d495dSJosh Lehan
1387ebd8b66SMauro Carvalho Chehab  * Maxim MAX6657
1397ebd8b66SMauro Carvalho Chehab
1407ebd8b66SMauro Carvalho Chehab    Prefix: 'max6657'
1417ebd8b66SMauro Carvalho Chehab
1427ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c
1437ebd8b66SMauro Carvalho Chehab
1447ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
1457ebd8b66SMauro Carvalho Chehab
1467ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
1477ebd8b66SMauro Carvalho Chehab
1487ebd8b66SMauro Carvalho Chehab  * Maxim MAX6658
1497ebd8b66SMauro Carvalho Chehab
1507ebd8b66SMauro Carvalho Chehab    Prefix: 'max6657'
1517ebd8b66SMauro Carvalho Chehab
1527ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c
1537ebd8b66SMauro Carvalho Chehab
1547ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
1557ebd8b66SMauro Carvalho Chehab
1567ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
1577ebd8b66SMauro Carvalho Chehab
1587ebd8b66SMauro Carvalho Chehab  * Maxim MAX6659
1597ebd8b66SMauro Carvalho Chehab
1607ebd8b66SMauro Carvalho Chehab    Prefix: 'max6659'
1617ebd8b66SMauro Carvalho Chehab
1627ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c, 0x4d, 0x4e
1637ebd8b66SMauro Carvalho Chehab
1647ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
1657ebd8b66SMauro Carvalho Chehab
1667ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/2578
1677ebd8b66SMauro Carvalho Chehab
1687ebd8b66SMauro Carvalho Chehab  * Maxim MAX6680
1697ebd8b66SMauro Carvalho Chehab
1707ebd8b66SMauro Carvalho Chehab    Prefix: 'max6680'
1717ebd8b66SMauro Carvalho Chehab
1727ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
1737ebd8b66SMauro Carvalho Chehab
1747ebd8b66SMauro Carvalho Chehab			   0x4c, 0x4d and 0x4e
1757ebd8b66SMauro Carvalho Chehab
1767ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
1777ebd8b66SMauro Carvalho Chehab
1787ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
1797ebd8b66SMauro Carvalho Chehab
1807ebd8b66SMauro Carvalho Chehab  * Maxim MAX6681
1817ebd8b66SMauro Carvalho Chehab
1827ebd8b66SMauro Carvalho Chehab    Prefix: 'max6680'
1837ebd8b66SMauro Carvalho Chehab
1847ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
1857ebd8b66SMauro Carvalho Chehab
1867ebd8b66SMauro Carvalho Chehab			   0x4c, 0x4d and 0x4e
1877ebd8b66SMauro Carvalho Chehab
1887ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
1897ebd8b66SMauro Carvalho Chehab
1907ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3370
1917ebd8b66SMauro Carvalho Chehab
1927ebd8b66SMauro Carvalho Chehab  * Maxim MAX6692
1937ebd8b66SMauro Carvalho Chehab
1947ebd8b66SMauro Carvalho Chehab    Prefix: 'max6646'
1957ebd8b66SMauro Carvalho Chehab
1967ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c
1977ebd8b66SMauro Carvalho Chehab
1987ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
1997ebd8b66SMauro Carvalho Chehab
2007ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/quick_view2.cfm/qv_pk/3500
2017ebd8b66SMauro Carvalho Chehab
2027ebd8b66SMauro Carvalho Chehab  * Maxim MAX6695
2037ebd8b66SMauro Carvalho Chehab
2047ebd8b66SMauro Carvalho Chehab    Prefix: 'max6695'
2057ebd8b66SMauro Carvalho Chehab
2067ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x18
2077ebd8b66SMauro Carvalho Chehab
2087ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
2097ebd8b66SMauro Carvalho Chehab
2107ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/datasheet/index.mvp/id/4199
2117ebd8b66SMauro Carvalho Chehab
2127ebd8b66SMauro Carvalho Chehab  * Maxim MAX6696
2137ebd8b66SMauro Carvalho Chehab
2147ebd8b66SMauro Carvalho Chehab    Prefix: 'max6695'
2157ebd8b66SMauro Carvalho Chehab
2167ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x18, 0x19, 0x1a, 0x29, 0x2a, 0x2b,
2177ebd8b66SMauro Carvalho Chehab
2187ebd8b66SMauro Carvalho Chehab			   0x4c, 0x4d and 0x4e
2197ebd8b66SMauro Carvalho Chehab
2207ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at the Maxim website
2217ebd8b66SMauro Carvalho Chehab
2227ebd8b66SMauro Carvalho Chehab	       http://www.maxim-ic.com/datasheet/index.mvp/id/4199
2237ebd8b66SMauro Carvalho Chehab
2247ebd8b66SMauro Carvalho Chehab  * Winbond/Nuvoton W83L771W/G
2257ebd8b66SMauro Carvalho Chehab
2267ebd8b66SMauro Carvalho Chehab    Prefix: 'w83l771'
2277ebd8b66SMauro Carvalho Chehab
2287ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c
2297ebd8b66SMauro Carvalho Chehab
2307ebd8b66SMauro Carvalho Chehab    Datasheet: No longer available
2317ebd8b66SMauro Carvalho Chehab
2327ebd8b66SMauro Carvalho Chehab  * Winbond/Nuvoton W83L771AWG/ASG
2337ebd8b66SMauro Carvalho Chehab
2347ebd8b66SMauro Carvalho Chehab    Prefix: 'w83l771'
2357ebd8b66SMauro Carvalho Chehab
2367ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c
2377ebd8b66SMauro Carvalho Chehab
2387ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available, can be requested from Nuvoton
2397ebd8b66SMauro Carvalho Chehab
2407ebd8b66SMauro Carvalho Chehab  * Philips/NXP SA56004X
2417ebd8b66SMauro Carvalho Chehab
2427ebd8b66SMauro Carvalho Chehab    Prefix: 'sa56004'
2437ebd8b66SMauro Carvalho Chehab
2447ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x48 through 0x4F
2457ebd8b66SMauro Carvalho Chehab
2467ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at NXP website
2477ebd8b66SMauro Carvalho Chehab
2487ebd8b66SMauro Carvalho Chehab	       http://ics.nxp.com/products/interface/datasheet/sa56004x.pdf
2497ebd8b66SMauro Carvalho Chehab
2507ebd8b66SMauro Carvalho Chehab  * GMT G781
2517ebd8b66SMauro Carvalho Chehab
2527ebd8b66SMauro Carvalho Chehab    Prefix: 'g781'
2537ebd8b66SMauro Carvalho Chehab
2547ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c, 0x4d
2557ebd8b66SMauro Carvalho Chehab
2567ebd8b66SMauro Carvalho Chehab    Datasheet: Not publicly available from GMT
2577ebd8b66SMauro Carvalho Chehab
2587ebd8b66SMauro Carvalho Chehab  * Texas Instruments TMP451
2597ebd8b66SMauro Carvalho Chehab
2607ebd8b66SMauro Carvalho Chehab    Prefix: 'tmp451'
2617ebd8b66SMauro Carvalho Chehab
2627ebd8b66SMauro Carvalho Chehab    Addresses scanned: I2C 0x4c
2637ebd8b66SMauro Carvalho Chehab
2647ebd8b66SMauro Carvalho Chehab    Datasheet: Publicly available at TI website
2657ebd8b66SMauro Carvalho Chehab
2666c7b66beSAlexander A. Klimov	       https://www.ti.com/litv/pdf/sbos686
2677ebd8b66SMauro Carvalho Chehab
268f8344f76SGuenter Roeck  * Texas Instruments TMP461
269f8344f76SGuenter Roeck
270f8344f76SGuenter Roeck    Prefix: 'tmp461'
271f8344f76SGuenter Roeck
272f8344f76SGuenter Roeck    Addresses scanned: I2C 0x48 through 0x4F
273f8344f76SGuenter Roeck
274f8344f76SGuenter Roeck    Datasheet: Publicly available at TI website
275f8344f76SGuenter Roeck
276f8344f76SGuenter Roeck	       https://www.ti.com/lit/gpn/tmp461
277f8344f76SGuenter Roeck
2787ebd8b66SMauro Carvalho ChehabAuthor: Jean Delvare <jdelvare@suse.de>
2797ebd8b66SMauro Carvalho Chehab
2807ebd8b66SMauro Carvalho Chehab
2817ebd8b66SMauro Carvalho ChehabDescription
2827ebd8b66SMauro Carvalho Chehab-----------
2837ebd8b66SMauro Carvalho Chehab
2847ebd8b66SMauro Carvalho ChehabThe LM90 is a digital temperature sensor. It senses its own temperature as
2857ebd8b66SMauro Carvalho Chehabwell as the temperature of up to one external diode. It is compatible
2867ebd8b66SMauro Carvalho Chehabwith many other devices, many of which are supported by this driver.
2877ebd8b66SMauro Carvalho Chehab
2887ebd8b66SMauro Carvalho ChehabNote that there is no easy way to differentiate between the MAX6657,
2897ebd8b66SMauro Carvalho ChehabMAX6658 and MAX6659 variants. The extra features of the MAX6659 are only
2907ebd8b66SMauro Carvalho Chehabsupported by this driver if the chip is located at address 0x4d or 0x4e,
2917ebd8b66SMauro Carvalho Chehabor if the chip type is explicitly selected as max6659.
2927ebd8b66SMauro Carvalho ChehabThe MAX6680 and MAX6681 only differ in their pinout, therefore they obviously
2937ebd8b66SMauro Carvalho Chehabcan't (and don't need to) be distinguished.
2947ebd8b66SMauro Carvalho Chehab
2957ebd8b66SMauro Carvalho ChehabThe specificity of this family of chipsets over the ADM1021/LM84
2967ebd8b66SMauro Carvalho Chehabfamily is that it features critical limits with hysteresis, and an
2977ebd8b66SMauro Carvalho Chehabincreased resolution of the remote temperature measurement.
2987ebd8b66SMauro Carvalho Chehab
2997ebd8b66SMauro Carvalho ChehabThe different chipsets of the family are not strictly identical, although
3007ebd8b66SMauro Carvalho Chehabvery similar. For reference, here comes a non-exhaustive list of specific
3017ebd8b66SMauro Carvalho Chehabfeatures:
3027ebd8b66SMauro Carvalho Chehab
3037ebd8b66SMauro Carvalho ChehabLM90:
3047ebd8b66SMauro Carvalho Chehab  * Filter and alert configuration register at 0xBF.
3057ebd8b66SMauro Carvalho Chehab  * ALERT is triggered by temperatures over critical limits.
3067ebd8b66SMauro Carvalho Chehab
3077ebd8b66SMauro Carvalho ChehabLM86 and LM89:
3087ebd8b66SMauro Carvalho Chehab  * Same as LM90
3097ebd8b66SMauro Carvalho Chehab  * Better external channel accuracy
3107ebd8b66SMauro Carvalho Chehab
3117ebd8b66SMauro Carvalho ChehabLM99:
3127ebd8b66SMauro Carvalho Chehab  * Same as LM89
3137ebd8b66SMauro Carvalho Chehab  * External temperature shifted by 16 degrees down
3147ebd8b66SMauro Carvalho Chehab
3157ebd8b66SMauro Carvalho ChehabADM1032:
3167ebd8b66SMauro Carvalho Chehab  * Consecutive alert register at 0x22.
3177ebd8b66SMauro Carvalho Chehab  * Conversion averaging.
3187ebd8b66SMauro Carvalho Chehab  * Up to 64 conversions/s.
3197ebd8b66SMauro Carvalho Chehab  * ALERT is triggered by open remote sensor.
3207ebd8b66SMauro Carvalho Chehab  * SMBus PEC support for Write Byte and Receive Byte transactions.
3217ebd8b66SMauro Carvalho Chehab
3227ebd8b66SMauro Carvalho ChehabADT7461, ADT7461A, NCT1008:
3237ebd8b66SMauro Carvalho Chehab  * Extended temperature range (breaks compatibility)
3247ebd8b66SMauro Carvalho Chehab  * Lower resolution for remote temperature
325*425f5b5dSGuenter Roeck  * SMBus PEC support for Write Byte and Receive Byte transactions.
3267ebd8b66SMauro Carvalho Chehab
327229d495dSJosh LehanMAX6654:
328229d495dSJosh Lehan  * Better local resolution
329229d495dSJosh Lehan  * Selectable address
330229d495dSJosh Lehan  * Remote sensor type selection
331229d495dSJosh Lehan  * Extended temperature range
332229d495dSJosh Lehan  * Extended resolution only available when conversion rate <= 1 Hz
333229d495dSJosh Lehan
3347ebd8b66SMauro Carvalho ChehabMAX6657 and MAX6658:
3357ebd8b66SMauro Carvalho Chehab  * Better local resolution
3367ebd8b66SMauro Carvalho Chehab  * Remote sensor type selection
3377ebd8b66SMauro Carvalho Chehab
3387ebd8b66SMauro Carvalho ChehabMAX6659:
3397ebd8b66SMauro Carvalho Chehab  * Better local resolution
3407ebd8b66SMauro Carvalho Chehab  * Selectable address
3417ebd8b66SMauro Carvalho Chehab  * Second critical temperature limit
3427ebd8b66SMauro Carvalho Chehab  * Remote sensor type selection
3437ebd8b66SMauro Carvalho Chehab
3447ebd8b66SMauro Carvalho ChehabMAX6680 and MAX6681:
3457ebd8b66SMauro Carvalho Chehab  * Selectable address
3467ebd8b66SMauro Carvalho Chehab  * Remote sensor type selection
3477ebd8b66SMauro Carvalho Chehab
3487ebd8b66SMauro Carvalho ChehabMAX6695 and MAX6696:
3497ebd8b66SMauro Carvalho Chehab  * Better local resolution
3507ebd8b66SMauro Carvalho Chehab  * Selectable address (max6696)
3517ebd8b66SMauro Carvalho Chehab  * Second critical temperature limit
3527ebd8b66SMauro Carvalho Chehab  * Two remote sensors
3537ebd8b66SMauro Carvalho Chehab
3547ebd8b66SMauro Carvalho ChehabW83L771W/G
3557ebd8b66SMauro Carvalho Chehab  * The G variant is lead-free, otherwise similar to the W.
3567ebd8b66SMauro Carvalho Chehab  * Filter and alert configuration register at 0xBF
3577ebd8b66SMauro Carvalho Chehab  * Moving average (depending on conversion rate)
3587ebd8b66SMauro Carvalho Chehab
3597ebd8b66SMauro Carvalho ChehabW83L771AWG/ASG
3607ebd8b66SMauro Carvalho Chehab  * Successor of the W83L771W/G, same features.
3617ebd8b66SMauro Carvalho Chehab  * The AWG and ASG variants only differ in package format.
3627ebd8b66SMauro Carvalho Chehab  * Diode ideality factor configuration (remote sensor) at 0xE3
3637ebd8b66SMauro Carvalho Chehab
3647ebd8b66SMauro Carvalho ChehabSA56004X:
3657ebd8b66SMauro Carvalho Chehab  * Better local resolution
3667ebd8b66SMauro Carvalho Chehab
3677ebd8b66SMauro Carvalho ChehabAll temperature values are given in degrees Celsius. Resolution
3687ebd8b66SMauro Carvalho Chehabis 1.0 degree for the local temperature, 0.125 degree for the remote
369229d495dSJosh Lehantemperature, except for the MAX6654, MAX6657, MAX6658 and MAX6659 which have
370229d495dSJosh Lehana resolution of 0.125 degree for both temperatures.
3717ebd8b66SMauro Carvalho Chehab
3727ebd8b66SMauro Carvalho ChehabEach sensor has its own high and low limits, plus a critical limit.
3737ebd8b66SMauro Carvalho ChehabAdditionally, there is a relative hysteresis value common to both critical
3747ebd8b66SMauro Carvalho Chehabvalues. To make life easier to user-space applications, two absolute values
3757ebd8b66SMauro Carvalho Chehabare exported, one for each channel, but these values are of course linked.
3767ebd8b66SMauro Carvalho ChehabOnly the local hysteresis can be set from user-space, and the same delta
3777ebd8b66SMauro Carvalho Chehabapplies to the remote hysteresis.
3787ebd8b66SMauro Carvalho Chehab
3797ebd8b66SMauro Carvalho ChehabThe lm90 driver will not update its values more frequently than configured with
3807ebd8b66SMauro Carvalho Chehabthe update_interval attribute; reading them more often will do no harm, but will
3817ebd8b66SMauro Carvalho Chehabreturn 'old' values.
3827ebd8b66SMauro Carvalho Chehab
3837ebd8b66SMauro Carvalho ChehabSMBus Alert Support
3847ebd8b66SMauro Carvalho Chehab-------------------
3857ebd8b66SMauro Carvalho Chehab
3867ebd8b66SMauro Carvalho ChehabThis driver has basic support for SMBus alert. When an alert is received,
3877ebd8b66SMauro Carvalho Chehabthe status register is read and the faulty temperature channel is logged.
3887ebd8b66SMauro Carvalho Chehab
3897ebd8b66SMauro Carvalho ChehabThe Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON
3907ebd8b66SMauro Carvalho ChehabSemiconductor chips (NCT1008) do not implement the SMBus alert protocol
3917ebd8b66SMauro Carvalho Chehabproperly so additional care is needed: the ALERT output is disabled when
3927ebd8b66SMauro Carvalho Chehaban alert is received, and is re-enabled only when the alarm is gone.
3937ebd8b66SMauro Carvalho ChehabOtherwise the chip would block alerts from other chips in the bus as long
3947ebd8b66SMauro Carvalho Chehabas the alarm is active.
3957ebd8b66SMauro Carvalho Chehab
3967ebd8b66SMauro Carvalho ChehabPEC Support
3977ebd8b66SMauro Carvalho Chehab-----------
3987ebd8b66SMauro Carvalho Chehab
3997ebd8b66SMauro Carvalho ChehabThe ADM1032 is the only chip of the family which supports PEC. It does
4007ebd8b66SMauro Carvalho Chehabnot support PEC on all transactions though, so some care must be taken.
4017ebd8b66SMauro Carvalho Chehab
4027ebd8b66SMauro Carvalho ChehabWhen reading a register value, the PEC byte is computed and sent by the
4037ebd8b66SMauro Carvalho ChehabADM1032 chip. However, in the case of a combined transaction (SMBus Read
4047ebd8b66SMauro Carvalho ChehabByte), the ADM1032 computes the CRC value over only the second half of
4057ebd8b66SMauro Carvalho Chehabthe message rather than its entirety, because it thinks the first half
4067ebd8b66SMauro Carvalho Chehabof the message belongs to a different transaction. As a result, the CRC
4077ebd8b66SMauro Carvalho Chehabvalue differs from what the SMBus master expects, and all reads fail.
4087ebd8b66SMauro Carvalho Chehab
4097ebd8b66SMauro Carvalho ChehabFor this reason, the lm90 driver will enable PEC for the ADM1032 only if
4107ebd8b66SMauro Carvalho Chehabthe bus supports the SMBus Send Byte and Receive Byte transaction types.
4117ebd8b66SMauro Carvalho ChehabThese transactions will be used to read register values, instead of
4127ebd8b66SMauro Carvalho ChehabSMBus Read Byte, and PEC will work properly.
4137ebd8b66SMauro Carvalho Chehab
4147ebd8b66SMauro Carvalho ChehabAdditionally, the ADM1032 doesn't support SMBus Send Byte with PEC.
4157ebd8b66SMauro Carvalho ChehabInstead, it will try to write the PEC value to the register (because the
4167ebd8b66SMauro Carvalho ChehabSMBus Send Byte transaction with PEC is similar to a Write Byte transaction
4177ebd8b66SMauro Carvalho Chehabwithout PEC), which is not what we want. Thus, PEC is explicitly disabled
4187ebd8b66SMauro Carvalho Chehabon SMBus Send Byte transactions in the lm90 driver.
4197ebd8b66SMauro Carvalho Chehab
4207ebd8b66SMauro Carvalho ChehabPEC on byte data transactions represents a significant increase in bandwidth
4217ebd8b66SMauro Carvalho Chehabusage (+33% for writes, +25% for reads) in normal conditions. With the need
4227ebd8b66SMauro Carvalho Chehabto use two SMBus transaction for reads, this overhead jumps to +50%. Worse,
4237ebd8b66SMauro Carvalho Chehabtwo transactions will typically mean twice as much delay waiting for
4247ebd8b66SMauro Carvalho Chehabtransaction completion, effectively doubling the register cache refresh time.
4257ebd8b66SMauro Carvalho ChehabI guess reliability comes at a price, but it's quite expensive this time.
4267ebd8b66SMauro Carvalho Chehab
4273b0982ffSGuenter RoeckSo, as not everyone might enjoy the slowdown, PEC is disabled by default and
4283b0982ffSGuenter Roeckcan be enabled through sysfs. Just write 1 to the "pec" file and PEC will be
4293b0982ffSGuenter Roeckenabled. Write 0 to that file to disable PEC again.
430