| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | Kernel driver jc42 | 
 | 2 | ================== | 
 | 3 |  | 
 | 4 | Supported chips: | 
 | 5 |   * Analog Devices ADT7408 | 
 | 6 |     Datasheets: | 
 | 7 | 	http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf | 
 | 8 |   * Atmel AT30TS00, AT30TS002A/B, AT30TSE004A | 
 | 9 |     Datasheets: | 
 | 10 | 	http://www.atmel.com/Images/doc8585.pdf | 
 | 11 | 	http://www.atmel.com/Images/doc8711.pdf | 
 | 12 | 	http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf | 
 | 13 | 	http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf | 
 | 14 |   * IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2, | 
 | 15 | 	TS3001GB2 | 
 | 16 |     Datasheets: | 
 | 17 | 	Available from IDT web site | 
 | 18 |   * Maxim MAX6604 | 
 | 19 |     Datasheets: | 
 | 20 | 	http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf | 
 | 21 |   * Microchip MCP9804, MCP9805, MCP9808, MCP98242, MCP98243, MCP98244, MCP9843 | 
 | 22 |     Datasheets: | 
 | 23 | 	http://ww1.microchip.com/downloads/en/DeviceDoc/22203C.pdf | 
 | 24 | 	http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf | 
 | 25 | 	http://ww1.microchip.com/downloads/en/DeviceDoc/25095A.pdf | 
 | 26 | 	http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf | 
 | 27 | 	http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf | 
 | 28 | 	http://ww1.microchip.com/downloads/en/DeviceDoc/22327A.pdf | 
 | 29 |   * NXP Semiconductors SE97, SE97B, SE98, SE98A | 
 | 30 |     Datasheets: | 
 | 31 | 	http://www.nxp.com/documents/data_sheet/SE97.pdf | 
 | 32 | 	http://www.nxp.com/documents/data_sheet/SE97B.pdf | 
 | 33 | 	http://www.nxp.com/documents/data_sheet/SE98.pdf | 
 | 34 | 	http://www.nxp.com/documents/data_sheet/SE98A.pdf | 
 | 35 |   * ON Semiconductor CAT34TS02, CAT6095 | 
 | 36 |     Datasheet: | 
 | 37 | 	http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF | 
 | 38 | 	http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF | 
 | 39 |   * ST Microelectronics STTS424, STTS424E02, STTS2002, STTS2004, STTS3000 | 
 | 40 |     Datasheets: | 
 | 41 | 	http://www.st.com/web/en/resource/technical/document/datasheet/CD00157556.pdf | 
 | 42 | 	http://www.st.com/web/en/resource/technical/document/datasheet/CD00157558.pdf | 
 | 43 | 	http://www.st.com/web/en/resource/technical/document/datasheet/CD00266638.pdf | 
 | 44 | 	http://www.st.com/web/en/resource/technical/document/datasheet/CD00225278.pdf | 
 | 45 | 	http://www.st.com/web/en/resource/technical/document/datasheet/DM00076709.pdf | 
 | 46 |   * JEDEC JC 42.4 compliant temperature sensor chips | 
 | 47 |     Datasheet: | 
 | 48 | 	http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf | 
 | 49 |  | 
 | 50 |   Common for all chips: | 
 | 51 |     Prefix: 'jc42' | 
 | 52 |     Addresses scanned: I2C 0x18 - 0x1f | 
 | 53 |  | 
 | 54 | Author: | 
 | 55 | 	Guenter Roeck <linux@roeck-us.net> | 
 | 56 |  | 
 | 57 |  | 
 | 58 | Description | 
 | 59 | ----------- | 
 | 60 |  | 
 | 61 | This driver implements support for JEDEC JC 42.4 compliant temperature sensors, | 
 | 62 | which are used on many DDR3 memory modules for mobile devices and servers. Some | 
 | 63 | systems use the sensor to prevent memory overheating by automatically throttling | 
 | 64 | the memory controller. | 
 | 65 |  | 
 | 66 | The driver auto-detects the chips listed above, but can be manually instantiated | 
 | 67 | to support other JC 42.4 compliant chips. | 
 | 68 |  | 
 | 69 | Example: the following will load the driver for a generic JC 42.4 compliant | 
 | 70 | temperature sensor at address 0x18 on I2C bus #1: | 
 | 71 |  | 
 | 72 | # modprobe jc42 | 
 | 73 | # echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device | 
 | 74 |  | 
 | 75 | A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum, | 
 | 76 | and critical temperature can be configured. There are alarms for high, low, | 
 | 77 | and critical thresholds. | 
 | 78 |  | 
 | 79 | There is also an hysteresis to control the thresholds for resetting alarms. | 
 | 80 | Per JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5, | 
 | 81 | 3.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those | 
 | 82 | limits. The chip supports only a single register to configure the hysteresis, | 
 | 83 | which applies to all limits. This register can be written by writing into | 
 | 84 | temp1_crit_hyst. Other hysteresis attributes are read-only. | 
 | 85 |  | 
 | 86 | If the BIOS has configured the sensor for automatic temperature management, it | 
 | 87 | is likely that it has locked the registers, i.e., that the temperature limits | 
 | 88 | cannot be changed. | 
 | 89 |  | 
 | 90 | Sysfs entries | 
 | 91 | ------------- | 
 | 92 |  | 
 | 93 | temp1_input		Temperature (RO) | 
 | 94 | temp1_min		Minimum temperature (RO or RW) | 
 | 95 | temp1_max		Maximum temperature (RO or RW) | 
 | 96 | temp1_crit		Critical high temperature (RO or RW) | 
 | 97 |  | 
 | 98 | temp1_crit_hyst		Critical hysteresis temperature (RO or RW) | 
 | 99 | temp1_max_hyst		Maximum hysteresis temperature (RO) | 
 | 100 |  | 
 | 101 | temp1_min_alarm		Temperature low alarm | 
 | 102 | temp1_max_alarm		Temperature high alarm | 
 | 103 | temp1_crit_alarm	Temperature critical alarm |