| Guenter Roeck | 4453d73 | 2010-08-09 17:21:08 -0700 | [diff] [blame] | 1 | Kernel driver jc42 | 
 | 2 | ================== | 
 | 3 |  | 
 | 4 | Supported chips: | 
 | 5 |   * Analog Devices ADT7408 | 
 | 6 |     Prefix: 'adt7408' | 
 | 7 |     Addresses scanned: I2C 0x18 - 0x1f | 
 | 8 |     Datasheets: | 
 | 9 | 	http://www.analog.com/static/imported-files/data_sheets/ADT7408.pdf | 
 | 10 |   * IDT TSE2002B3, TS3000B3 | 
 | 11 |     Prefix: 'tse2002b3', 'ts3000b3' | 
 | 12 |     Addresses scanned: I2C 0x18 - 0x1f | 
 | 13 |     Datasheets: | 
 | 14 | 	http://www.idt.com/products/getdoc.cfm?docid=18715691 | 
 | 15 | 	http://www.idt.com/products/getdoc.cfm?docid=18715692 | 
 | 16 |   * Maxim MAX6604 | 
 | 17 |     Prefix: 'max6604' | 
 | 18 |     Addresses scanned: I2C 0x18 - 0x1f | 
 | 19 |     Datasheets: | 
 | 20 | 	http://datasheets.maxim-ic.com/en/ds/MAX6604.pdf | 
 | 21 |   * Microchip MCP9805, MCP98242, MCP98243, MCP9843 | 
 | 22 |     Prefixes: 'mcp9805', 'mcp98242', 'mcp98243', 'mcp9843' | 
 | 23 |     Addresses scanned: I2C 0x18 - 0x1f | 
 | 24 |     Datasheets: | 
 | 25 | 	http://ww1.microchip.com/downloads/en/DeviceDoc/21977b.pdf | 
 | 26 | 	http://ww1.microchip.com/downloads/en/DeviceDoc/21996a.pdf | 
 | 27 | 	http://ww1.microchip.com/downloads/en/DeviceDoc/22153c.pdf | 
 | 28 |   * NXP Semiconductors SE97, SE97B | 
 | 29 |     Prefix: 'se97' | 
 | 30 |     Addresses scanned: I2C 0x18 - 0x1f | 
 | 31 |     Datasheets: | 
 | 32 | 	http://www.nxp.com/documents/data_sheet/SE97.pdf | 
 | 33 | 	http://www.nxp.com/documents/data_sheet/SE97B.pdf | 
 | 34 |   * NXP Semiconductors SE98 | 
 | 35 |     Prefix: 'se98' | 
 | 36 |     Addresses scanned: I2C 0x18 - 0x1f | 
 | 37 |     Datasheets: | 
 | 38 | 	http://www.nxp.com/documents/data_sheet/SE98.pdf | 
 | 39 |   * ON Semiconductor CAT34TS02, CAT6095 | 
 | 40 |     Prefix: 'cat34ts02', 'cat6095' | 
 | 41 |     Addresses scanned: I2C 0x18 - 0x1f | 
 | 42 |     Datasheet: | 
 | 43 | 	http://www.onsemi.com/pub_link/Collateral/CAT34TS02-D.PDF | 
 | 44 | 	http://www.onsemi.com/pub/Collateral/CAT6095-D.PDF | 
 | 45 |   * ST Microelectronics STTS424, STTS424E02 | 
 | 46 |     Prefix: 'stts424' | 
 | 47 |     Addresses scanned: I2C 0x18 - 0x1f | 
 | 48 |     Datasheets: | 
 | 49 | 	http://www.st.com/stonline/products/literature/ds/13447/stts424.pdf | 
 | 50 | 	http://www.st.com/stonline/products/literature/ds/13448/stts424e02.pdf | 
 | 51 |   * JEDEC JC 42.4 compliant temperature sensor chips | 
 | 52 |     Prefix: 'jc42' | 
 | 53 |     Addresses scanned: I2C 0x18 - 0x1f | 
| Clemens Ladisch | d5622f5 | 2011-02-16 08:02:08 -0500 | [diff] [blame] | 54 |     Datasheet: | 
 | 55 | 	http://www.jedec.org/sites/default/files/docs/4_01_04R19.pdf | 
| Guenter Roeck | 4453d73 | 2010-08-09 17:21:08 -0700 | [diff] [blame] | 56 |  | 
 | 57 | Author: | 
 | 58 | 	Guenter Roeck <guenter.roeck@ericsson.com> | 
 | 59 |  | 
 | 60 |  | 
 | 61 | Description | 
 | 62 | ----------- | 
 | 63 |  | 
| Clemens Ladisch | d5622f5 | 2011-02-16 08:02:08 -0500 | [diff] [blame] | 64 | This driver implements support for JEDEC JC 42.4 compliant temperature sensors, | 
 | 65 | which are used on many DDR3 memory modules for mobile devices and servers. Some | 
 | 66 | systems use the sensor to prevent memory overheating by automatically throttling | 
 | 67 | the memory controller. | 
 | 68 |  | 
| Guenter Roeck | 4453d73 | 2010-08-09 17:21:08 -0700 | [diff] [blame] | 69 | The driver auto-detects the chips listed above, but can be manually instantiated | 
 | 70 | to support other JC 42.4 compliant chips. | 
 | 71 |  | 
 | 72 | Example: the following will load the driver for a generic JC 42.4 compliant | 
 | 73 | temperature sensor at address 0x18 on I2C bus #1: | 
 | 74 |  | 
 | 75 | # modprobe jc42 | 
 | 76 | # echo jc42 0x18 > /sys/bus/i2c/devices/i2c-1/new_device | 
 | 77 |  | 
 | 78 | A JC 42.4 compliant chip supports a single temperature sensor. Minimum, maximum, | 
 | 79 | and critical temperature can be configured. There are alarms for high, low, | 
 | 80 | and critical thresholds. | 
 | 81 |  | 
 | 82 | There is also an hysteresis to control the thresholds for resetting alarms. | 
 | 83 | Per JC 42.4 specification, the hysteresis threshold can be configured to 0, 1.5, | 
 | 84 | 3.0, and 6.0 degrees C. Configured hysteresis values will be rounded to those | 
 | 85 | limits. The chip supports only a single register to configure the hysteresis, | 
 | 86 | which applies to all limits. This register can be written by writing into | 
 | 87 | temp1_crit_hyst. Other hysteresis attributes are read-only. | 
 | 88 |  | 
| Clemens Ladisch | 2c6315d | 2011-02-16 08:02:38 -0500 | [diff] [blame] | 89 | If the BIOS has configured the sensor for automatic temperature management, it | 
 | 90 | is likely that it has locked the registers, i.e., that the temperature limits | 
 | 91 | cannot be changed. | 
 | 92 |  | 
| Guenter Roeck | 4453d73 | 2010-08-09 17:21:08 -0700 | [diff] [blame] | 93 | Sysfs entries | 
 | 94 | ------------- | 
 | 95 |  | 
 | 96 | temp1_input		Temperature (RO) | 
| Clemens Ladisch | 2c6315d | 2011-02-16 08:02:38 -0500 | [diff] [blame] | 97 | temp1_min		Minimum temperature (RO or RW) | 
 | 98 | temp1_max		Maximum temperature (RO or RW) | 
 | 99 | temp1_crit		Critical high temperature (RO or RW) | 
| Guenter Roeck | 4453d73 | 2010-08-09 17:21:08 -0700 | [diff] [blame] | 100 |  | 
| Clemens Ladisch | 2c6315d | 2011-02-16 08:02:38 -0500 | [diff] [blame] | 101 | temp1_crit_hyst		Critical hysteresis temperature (RO or RW) | 
| Guenter Roeck | 4453d73 | 2010-08-09 17:21:08 -0700 | [diff] [blame] | 102 | temp1_max_hyst		Maximum hysteresis temperature (RO) | 
 | 103 |  | 
 | 104 | temp1_min_alarm		Temperature low alarm | 
 | 105 | temp1_max_alarm		Temperature high alarm | 
 | 106 | temp1_crit_alarm	Temperature critical alarm |