Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

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