17ebd8b66SMauro Carvalho ChehabKernel driver jc42 27ebd8b66SMauro Carvalho Chehab================== 37ebd8b66SMauro Carvalho Chehab 47ebd8b66SMauro Carvalho ChehabSupported chips: 57ebd8b66SMauro Carvalho Chehab 67ebd8b66SMauro Carvalho Chehab * Analog Devices ADT7408 77ebd8b66SMauro Carvalho Chehab 87ebd8b66SMauro Carvalho Chehab Datasheets: 97ebd8b66SMauro Carvalho Chehab 10*d38b7e4aSAlexander A. Klimov https://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf 117ebd8b66SMauro Carvalho Chehab 127ebd8b66SMauro Carvalho Chehab * Atmel AT30TS00, AT30TS002A/B, AT30TSE004A 137ebd8b66SMauro Carvalho Chehab 147ebd8b66SMauro Carvalho Chehab Datasheets: 157ebd8b66SMauro Carvalho Chehab 167ebd8b66SMauro Carvalho Chehab http://www.atmel.com/Images/doc8585.pdf 177ebd8b66SMauro Carvalho Chehab 187ebd8b66SMauro Carvalho Chehab http://www.atmel.com/Images/doc8711.pdf 197ebd8b66SMauro Carvalho Chehab 207ebd8b66SMauro Carvalho Chehab http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf 217ebd8b66SMauro Carvalho Chehab 227ebd8b66SMauro Carvalho Chehab http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf 237ebd8b66SMauro Carvalho Chehab 247ebd8b66SMauro Carvalho Chehab * IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2, 257ebd8b66SMauro Carvalho Chehab 267ebd8b66SMauro Carvalho Chehab TS3001GB2 277ebd8b66SMauro Carvalho Chehab 287ebd8b66SMauro Carvalho Chehab Datasheets: 297ebd8b66SMauro Carvalho Chehab 307ebd8b66SMauro Carvalho Chehab Available from IDT web site 317ebd8b66SMauro Carvalho Chehab 327ebd8b66SMauro Carvalho Chehab * Maxim MAX6604 337ebd8b66SMauro Carvalho Chehab 347ebd8b66SMauro Carvalho Chehab Datasheets: 357ebd8b66SMauro Carvalho Chehab 367ebd8b66SMauro Carvalho Chehab http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf 377ebd8b66SMauro Carvalho Chehab 387ebd8b66SMauro Carvalho Chehab * Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843 397ebd8b66SMauro Carvalho Chehab 407ebd8b66SMauro Carvalho Chehab Datasheets: 417ebd8b66SMauro Carvalho Chehab 42*d38b7e4aSAlexander A. Klimov https://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf 437ebd8b66SMauro Carvalho Chehab 44*d38b7e4aSAlexander A. Klimov https://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf 457ebd8b66SMauro Carvalho Chehab 46*d38b7e4aSAlexander A. Klimov https://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf 477ebd8b66SMauro Carvalho Chehab 48*d38b7e4aSAlexander A. Klimov https://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf 497ebd8b66SMauro Carvalho Chehab 50*d38b7e4aSAlexander A. Klimov https://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf 517ebd8b66SMauro Carvalho Chehab 52*d38b7e4aSAlexander A. Klimov https://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf 537ebd8b66SMauro Carvalho Chehab 547ebd8b66SMauro Carvalho Chehab * NXP Semiconductors SE97, SE97B, SE98, SE98A 557ebd8b66SMauro Carvalho Chehab 567ebd8b66SMauro Carvalho Chehab Datasheets: 577ebd8b66SMauro Carvalho Chehab 58*d38b7e4aSAlexander A. Klimov https://www.nxp.com/documents/data_sheet/SE97.pdf 597ebd8b66SMauro Carvalho Chehab 60*d38b7e4aSAlexander A. Klimov https://www.nxp.com/documents/data_sheet/SE97B.pdf 617ebd8b66SMauro Carvalho Chehab 62*d38b7e4aSAlexander A. Klimov https://www.nxp.com/documents/data_sheet/SE98.pdf 637ebd8b66SMauro Carvalho Chehab 64*d38b7e4aSAlexander A. Klimov https://www.nxp.com/documents/data_sheet/SE98A.pdf 657ebd8b66SMauro Carvalho Chehab 667ebd8b66SMauro Carvalho Chehab * ON Semiconductor CAT34TS02, CAT6095 677ebd8b66SMauro Carvalho Chehab 687ebd8b66SMauro Carvalho Chehab Datasheet: 697ebd8b66SMauro Carvalho Chehab 70*d38b7e4aSAlexander A. Klimov https://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF 717ebd8b66SMauro Carvalho Chehab 72*d38b7e4aSAlexander A. Klimov https://www.onsemi.com/pub/Collateral/CAT6095-D.PDF 737ebd8b66SMauro Carvalho Chehab 747ebd8b66SMauro Carvalho Chehab * ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000 757ebd8b66SMauro Carvalho Chehab 767ebd8b66SMauro Carvalho Chehab Datasheets: 777ebd8b66SMauro Carvalho Chehab 787ebd8b66SMauro Carvalho Chehab http://www.st.com/web/en/resource/technical/document/datasheet/CD00157556.pdf 797ebd8b66SMauro Carvalho Chehab 807ebd8b66SMauro Carvalho Chehab http://www.st.com/web/en/resource/technical/document/datasheet/CD00157558.pdf 817ebd8b66SMauro Carvalho Chehab 827ebd8b66SMauro Carvalho Chehab http://www.st.com/web/en/resource/technical/document/datasheet/CD00266638.pdf 837ebd8b66SMauro Carvalho Chehab 847ebd8b66SMauro Carvalho Chehab http://www.st.com/web/en/resource/technical/document/datasheet/CD00225278.pdf 857ebd8b66SMauro Carvalho Chehab 867ebd8b66SMauro Carvalho Chehab http://www.st.com/web/en/resource/technical/document/datasheet/DM00076709.pdf 877ebd8b66SMauro Carvalho Chehab 887ebd8b66SMauro Carvalho Chehab * JEDEC JC 42.4 compliant temperature sensor chips 897ebd8b66SMauro Carvalho Chehab 907ebd8b66SMauro Carvalho Chehab Datasheet: 917ebd8b66SMauro Carvalho Chehab 927ebd8b66SMauro Carvalho Chehab http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf 937ebd8b66SMauro Carvalho Chehab 947ebd8b66SMauro Carvalho Chehab 957ebd8b66SMauro Carvalho Chehab Common for all chips: 967ebd8b66SMauro Carvalho Chehab 977ebd8b66SMauro Carvalho Chehab Prefix: 'jc42' 987ebd8b66SMauro Carvalho Chehab 997ebd8b66SMauro Carvalho Chehab Addresses scanned: I2C 0x18 - 0x1f 1007ebd8b66SMauro Carvalho Chehab 1017ebd8b66SMauro Carvalho ChehabAuthor: 1027ebd8b66SMauro Carvalho Chehab Guenter Roeck <linux@roeck-us.net> 1037ebd8b66SMauro Carvalho Chehab 1047ebd8b66SMauro Carvalho Chehab 1057ebd8b66SMauro Carvalho ChehabDescription 1067ebd8b66SMauro Carvalho Chehab----------- 1077ebd8b66SMauro Carvalho Chehab 1087ebd8b66SMauro Carvalho ChehabThis driver implements support for JEDEC JC 42.4 compliant temperature sensors, 1097ebd8b66SMauro Carvalho Chehabwhich are used on many DDR3 memory modules for mobile devices and servers. Some 1107ebd8b66SMauro Carvalho Chehabsystems use the sensor to prevent memory overheating by automatically throttling 1117ebd8b66SMauro Carvalho Chehabthe memory controller. 1127ebd8b66SMauro Carvalho Chehab 1137ebd8b66SMauro Carvalho ChehabThe driver auto-detects the chips listed above, but can be manually instantiated 1147ebd8b66SMauro Carvalho Chehabto support other JC 42.4 compliant chips. 1157ebd8b66SMauro Carvalho Chehab 1167ebd8b66SMauro Carvalho ChehabExample: the following will load the driver for a generic JC 42.4 compliant 1177ebd8b66SMauro Carvalho Chehabtemperature sensor at address 0x18 on I2C bus #1:: 1187ebd8b66SMauro Carvalho Chehab 1197ebd8b66SMauro Carvalho Chehab # modprobe jc42 1207ebd8b66SMauro Carvalho Chehab # echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device 1217ebd8b66SMauro Carvalho Chehab 1227ebd8b66SMauro Carvalho ChehabA JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum, 1237ebd8b66SMauro Carvalho Chehaband critical temperature can be configured. There are alarms for high, low, 1247ebd8b66SMauro Carvalho Chehaband critical thresholds. 1257ebd8b66SMauro Carvalho Chehab 1267ebd8b66SMauro Carvalho ChehabThere is also an hysteresis to control the thresholds for resetting alarms. 1277ebd8b66SMauro Carvalho ChehabPer JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5, 1287ebd8b66SMauro Carvalho Chehab3.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those 1297ebd8b66SMauro Carvalho Chehablimits. The chip supports only a single register to configure the hysteresis, 1307ebd8b66SMauro Carvalho Chehabwhich applies to all limits. This register can be written by writing into 1317ebd8b66SMauro Carvalho Chehabtemp1_crit_hyst. Other hysteresis attributes are read-only. 1327ebd8b66SMauro Carvalho Chehab 1337ebd8b66SMauro Carvalho ChehabIf the BIOS has configured the sensor for automatic temperature management, it 1347ebd8b66SMauro Carvalho Chehabis likely that it has locked the registers, i.e., that the temperature limits 1357ebd8b66SMauro Carvalho Chehabcannot be changed. 1367ebd8b66SMauro Carvalho Chehab 1377ebd8b66SMauro Carvalho ChehabSysfs entries 1387ebd8b66SMauro Carvalho Chehab------------- 1397ebd8b66SMauro Carvalho Chehab 1407ebd8b66SMauro Carvalho Chehab======================= =========================================== 1417ebd8b66SMauro Carvalho Chehabtemp1_input Temperature (RO) 1427ebd8b66SMauro Carvalho Chehabtemp1_min Minimum temperature (RO or RW) 1437ebd8b66SMauro Carvalho Chehabtemp1_max Maximum temperature (RO or RW) 1447ebd8b66SMauro Carvalho Chehabtemp1_crit Critical high temperature (RO or RW) 1457ebd8b66SMauro Carvalho Chehab 1467ebd8b66SMauro Carvalho Chehabtemp1_crit_hyst Critical hysteresis temperature (RO or RW) 1477ebd8b66SMauro Carvalho Chehabtemp1_max_hyst Maximum hysteresis temperature (RO) 1487ebd8b66SMauro Carvalho Chehab 1497ebd8b66SMauro Carvalho Chehabtemp1_min_alarm Temperature low alarm 1507ebd8b66SMauro Carvalho Chehabtemp1_max_alarm Temperature high alarm 1517ebd8b66SMauro Carvalho Chehabtemp1_crit_alarm Temperature critical alarm 1527ebd8b66SMauro Carvalho Chehab======================= =========================================== 153