xref: /linux/Documentation/hwmon/lm90.rst (revision 3b0982ff93aab8751f2c5df456a68abed11f84da)
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
3257ebd8b66SMauro Carvalho Chehab
326229d495dSJosh LehanMAX6654:
327229d495dSJosh Lehan  * Better local resolution
328229d495dSJosh Lehan  * Selectable address
329229d495dSJosh Lehan  * Remote sensor type selection
330229d495dSJosh Lehan  * Extended temperature range
331229d495dSJosh Lehan  * Extended resolution only available when conversion rate <= 1 Hz
332229d495dSJosh Lehan
3337ebd8b66SMauro Carvalho ChehabMAX6657 and MAX6658:
3347ebd8b66SMauro Carvalho Chehab  * Better local resolution
3357ebd8b66SMauro Carvalho Chehab  * Remote sensor type selection
3367ebd8b66SMauro Carvalho Chehab
3377ebd8b66SMauro Carvalho ChehabMAX6659:
3387ebd8b66SMauro Carvalho Chehab  * Better local resolution
3397ebd8b66SMauro Carvalho Chehab  * Selectable address
3407ebd8b66SMauro Carvalho Chehab  * Second critical temperature limit
3417ebd8b66SMauro Carvalho Chehab  * Remote sensor type selection
3427ebd8b66SMauro Carvalho Chehab
3437ebd8b66SMauro Carvalho ChehabMAX6680 and MAX6681:
3447ebd8b66SMauro Carvalho Chehab  * Selectable address
3457ebd8b66SMauro Carvalho Chehab  * Remote sensor type selection
3467ebd8b66SMauro Carvalho Chehab
3477ebd8b66SMauro Carvalho ChehabMAX6695 and MAX6696:
3487ebd8b66SMauro Carvalho Chehab  * Better local resolution
3497ebd8b66SMauro Carvalho Chehab  * Selectable address (max6696)
3507ebd8b66SMauro Carvalho Chehab  * Second critical temperature limit
3517ebd8b66SMauro Carvalho Chehab  * Two remote sensors
3527ebd8b66SMauro Carvalho Chehab
3537ebd8b66SMauro Carvalho ChehabW83L771W/G
3547ebd8b66SMauro Carvalho Chehab  * The G variant is lead-free, otherwise similar to the W.
3557ebd8b66SMauro Carvalho Chehab  * Filter and alert configuration register at 0xBF
3567ebd8b66SMauro Carvalho Chehab  * Moving average (depending on conversion rate)
3577ebd8b66SMauro Carvalho Chehab
3587ebd8b66SMauro Carvalho ChehabW83L771AWG/ASG
3597ebd8b66SMauro Carvalho Chehab  * Successor of the W83L771W/G, same features.
3607ebd8b66SMauro Carvalho Chehab  * The AWG and ASG variants only differ in package format.
3617ebd8b66SMauro Carvalho Chehab  * Diode ideality factor configuration (remote sensor) at 0xE3
3627ebd8b66SMauro Carvalho Chehab
3637ebd8b66SMauro Carvalho ChehabSA56004X:
3647ebd8b66SMauro Carvalho Chehab  * Better local resolution
3657ebd8b66SMauro Carvalho Chehab
3667ebd8b66SMauro Carvalho ChehabAll temperature values are given in degrees Celsius. Resolution
3677ebd8b66SMauro Carvalho Chehabis 1.0 degree for the local temperature, 0.125 degree for the remote
368229d495dSJosh Lehantemperature, except for the MAX6654, MAX6657, MAX6658 and MAX6659 which have
369229d495dSJosh Lehana resolution of 0.125 degree for both temperatures.
3707ebd8b66SMauro Carvalho Chehab
3717ebd8b66SMauro Carvalho ChehabEach sensor has its own high and low limits, plus a critical limit.
3727ebd8b66SMauro Carvalho ChehabAdditionally, there is a relative hysteresis value common to both critical
3737ebd8b66SMauro Carvalho Chehabvalues. To make life easier to user-space applications, two absolute values
3747ebd8b66SMauro Carvalho Chehabare exported, one for each channel, but these values are of course linked.
3757ebd8b66SMauro Carvalho ChehabOnly the local hysteresis can be set from user-space, and the same delta
3767ebd8b66SMauro Carvalho Chehabapplies to the remote hysteresis.
3777ebd8b66SMauro Carvalho Chehab
3787ebd8b66SMauro Carvalho ChehabThe lm90 driver will not update its values more frequently than configured with
3797ebd8b66SMauro Carvalho Chehabthe update_interval attribute; reading them more often will do no harm, but will
3807ebd8b66SMauro Carvalho Chehabreturn 'old' values.
3817ebd8b66SMauro Carvalho Chehab
3827ebd8b66SMauro Carvalho ChehabSMBus Alert Support
3837ebd8b66SMauro Carvalho Chehab-------------------
3847ebd8b66SMauro Carvalho Chehab
3857ebd8b66SMauro Carvalho ChehabThis driver has basic support for SMBus alert. When an alert is received,
3867ebd8b66SMauro Carvalho Chehabthe status register is read and the faulty temperature channel is logged.
3877ebd8b66SMauro Carvalho Chehab
3887ebd8b66SMauro Carvalho ChehabThe Analog Devices chips (ADM1032, ADT7461 and ADT7461A) and ON
3897ebd8b66SMauro Carvalho ChehabSemiconductor chips (NCT1008) do not implement the SMBus alert protocol
3907ebd8b66SMauro Carvalho Chehabproperly so additional care is needed: the ALERT output is disabled when
3917ebd8b66SMauro Carvalho Chehaban alert is received, and is re-enabled only when the alarm is gone.
3927ebd8b66SMauro Carvalho ChehabOtherwise the chip would block alerts from other chips in the bus as long
3937ebd8b66SMauro Carvalho Chehabas the alarm is active.
3947ebd8b66SMauro Carvalho Chehab
3957ebd8b66SMauro Carvalho ChehabPEC Support
3967ebd8b66SMauro Carvalho Chehab-----------
3977ebd8b66SMauro Carvalho Chehab
3987ebd8b66SMauro Carvalho ChehabThe ADM1032 is the only chip of the family which supports PEC. It does
3997ebd8b66SMauro Carvalho Chehabnot support PEC on all transactions though, so some care must be taken.
4007ebd8b66SMauro Carvalho Chehab
4017ebd8b66SMauro Carvalho ChehabWhen reading a register value, the PEC byte is computed and sent by the
4027ebd8b66SMauro Carvalho ChehabADM1032 chip. However, in the case of a combined transaction (SMBus Read
4037ebd8b66SMauro Carvalho ChehabByte), the ADM1032 computes the CRC value over only the second half of
4047ebd8b66SMauro Carvalho Chehabthe message rather than its entirety, because it thinks the first half
4057ebd8b66SMauro Carvalho Chehabof the message belongs to a different transaction. As a result, the CRC
4067ebd8b66SMauro Carvalho Chehabvalue differs from what the SMBus master expects, and all reads fail.
4077ebd8b66SMauro Carvalho Chehab
4087ebd8b66SMauro Carvalho ChehabFor this reason, the lm90 driver will enable PEC for the ADM1032 only if
4097ebd8b66SMauro Carvalho Chehabthe bus supports the SMBus Send Byte and Receive Byte transaction types.
4107ebd8b66SMauro Carvalho ChehabThese transactions will be used to read register values, instead of
4117ebd8b66SMauro Carvalho ChehabSMBus Read Byte, and PEC will work properly.
4127ebd8b66SMauro Carvalho Chehab
4137ebd8b66SMauro Carvalho ChehabAdditionally, the ADM1032 doesn't support SMBus Send Byte with PEC.
4147ebd8b66SMauro Carvalho ChehabInstead, it will try to write the PEC value to the register (because the
4157ebd8b66SMauro Carvalho ChehabSMBus Send Byte transaction with PEC is similar to a Write Byte transaction
4167ebd8b66SMauro Carvalho Chehabwithout PEC), which is not what we want. Thus, PEC is explicitly disabled
4177ebd8b66SMauro Carvalho Chehabon SMBus Send Byte transactions in the lm90 driver.
4187ebd8b66SMauro Carvalho Chehab
4197ebd8b66SMauro Carvalho ChehabPEC on byte data transactions represents a significant increase in bandwidth
4207ebd8b66SMauro Carvalho Chehabusage (+33% for writes, +25% for reads) in normal conditions. With the need
4217ebd8b66SMauro Carvalho Chehabto use two SMBus transaction for reads, this overhead jumps to +50%. Worse,
4227ebd8b66SMauro Carvalho Chehabtwo transactions will typically mean twice as much delay waiting for
4237ebd8b66SMauro Carvalho Chehabtransaction completion, effectively doubling the register cache refresh time.
4247ebd8b66SMauro Carvalho ChehabI guess reliability comes at a price, but it's quite expensive this time.
4257ebd8b66SMauro Carvalho Chehab
426*3b0982ffSGuenter RoeckSo, as not everyone might enjoy the slowdown, PEC is disabled by default and
427*3b0982ffSGuenter Roeckcan be enabled through sysfs. Just write 1 to the "pec" file and PEC will be
428*3b0982ffSGuenter Roeckenabled. Write 0 to that file to disable PEC again.
429