Created
January 21, 2024 17:29
-
-
Save jonasmalacofilho/a0537a64f2c832e6c19bfc6387ff882e to your computer and use it in GitHub Desktop.
lm-sensors configuration for the ASUS PRIME Z370-A motherboard
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# lm-sensors configuration for the ASUS PRIME Z370-A motherboard | |
# | |
# Manufacturer: ASUSTeK COMPUTER INC. | |
# Product Name: PRIME Z370-A | |
# Version: Rev 1.04 | |
# Super I/O: NCT6793D | |
# UEFI versions tested: 0805, 1601 | |
# | |
# Recommended drivers: coretemp, nct6775 | |
# Other Z370 boards from ASUS might use a similar setup | |
# | |
# dmesg might show that the kernel failed to bind the nct6775 driver due to an | |
# ACPI conflict between SystemIO and OpRegion ranges. Ideally a WMI driver | |
# should be used instead of directly accessing the Super I/O chip but, | |
# unfortunally, very little is exposed via WMI, even on the latest UEFI. | |
# | |
# You can allow the driver to bind to the chip, regardless of the conflict, by | |
# setting the kernel command line option: | |
# | |
# acpi_enforce_resources=lax | |
# | |
# This is not known to cause issues on the PRIME Z370-A, but you might still | |
# want to disable thermal and blacklist eeepc_wmi to minimize conflicts: | |
# | |
# thermal.off=1 module_blacklist=eeepc_wmi | |
# | |
# Jonas Malaco, 2019 | |
# | |
# Updated 2024-01-21: ignore newly supported but not functioning NCT6793D sensors | |
chip "coretemp-*" | |
label temp1 "CPU Package DTS" | |
label temp2 "CPU Core 1 DTS" | |
label temp3 "CPU Core 2 DTS" | |
label temp4 "CPU Core 3 DTS" | |
label temp5 "CPU Core 4 DTS" | |
label temp6 "CPU Core 5 DTS" | |
label temp7 "CPU Core 6 DTS" | |
label temp8 "CPU Core 7 DTS" | |
label temp9 "CPU Core 8 DTS" | |
chip "nct6793-*" | |
label in0 "CPU Core Voltage" | |
compute in0 @ * 2, @ / 2 | |
set in0_max 1.42 # 1.35 V at load/1.42 V max is generally accepted as safe | |
# for 24/7 i7-8700K | |
label in1 "ATX +5 V Voltage" | |
compute in1 @ * 5, @ / 5 | |
set in1_max 5 * 1.05 # ATX 2.4 | |
set in1_min 5 * 0.95 # ATX 2.4 | |
# analog +3.3 V power rail for the Super I/O analog circuits | |
label in2 "AVCC Analog Voltage" | |
set in2_max 3.3 * 1.05 # assume ATX ±5% is enough | |
set in2_min 3.3 * 0.95 # assume ATX ±5% is enough | |
label in3 "ATX +3.3 V Voltage" | |
set in3_max 3.3 * 1.05 # ATX 2.4 | |
set in3_min 3.3 * 0.95 # ATX 2.4 | |
label in4 "ATX +12 V Voltage" | |
compute in4 @ * 12, @ / 12 | |
set in4_max 12 * 1.05 # ATX 2.4 | |
set in4_min 12 * 0.95 # ATX 2.4 | |
label in6 "CPU Graphics Voltage" | |
compute in6 @ * 2, @ / 2 | |
set in6_max in0_max # little is known, but specs are similar for IA and GT | |
# +3.3 V stand-by power rail for digital circuits | |
label in7 "3VSB Standby Voltage" | |
set in7_max 3.3 * 1.05 # assume ATX ±5% is enough | |
set in7_min 3.3 * 0.95 # assume ATX ±5% is enough | |
# +3 V on-board battery for PCH RTC Power Well (RTC & CMOS RAM) and select | |
# Super I/O features (e.g. case intrusion detection) | |
label in8 "RTC Battery Voltage" | |
set in8_max 3.4 # from random CR2032 datasheet | |
set in8_min 2.0 # from Intel 200-series chipset spec | |
# VTT for PECI on the Super I/O; should come from CPU VCCST (sustain/standby) | |
label in9 "CPU Sustain Voltage" | |
set in9_max 1.00 * 1.05 # from Intel 8-th gen spec | |
set in9_min 1.00 * 0.95 # from Intel 8-th gen spec | |
# note: there is a small difference between SIO VTT and CPU VCCST as reported | |
# by the ASUS EC/UEFI | |
label in10 "DRAM Voltage" | |
compute in10 @ * 2, @ / 2 | |
set in10_max 1.5 # max certified Intel XMP 2.0 kits for LGA1151; generally | |
# accepted as safe for 24/7 Samsung B dies as well | |
label in11 "CPU System Agent Voltage" | |
set in11_max 1.35 # generally accepted limit to avoid degradation | |
set in11_min 1.05 * 0.95 # from Intel 8-th gen spec | |
label in12 "PCH Core Voltage" | |
set in12_max 1.0 * 1.05 # from Intel 200-series chipset spec | |
set in12_min 1.0 * 0.95 # from Intel 200-series chipset spec | |
label in14 "CPU IO Voltage" | |
set in14_max 1.25 # generally accepted limit to avoid degradation | |
set in14_min 0.95 * 0.95 # from Intel 8-th gen spec | |
ignore in5 # unknown | |
ignore in13 # unknown | |
# note: DMI voltage is not monitored by this chip (only ASUS EC) | |
label temp1 "Board Temperature" | |
label temp8 "T_SENSOR Header" | |
# CPU package temperature from the PECI: with less noise than the raw DTS | |
# (as read by coretemp), this is the recommended sensor for basic monitoring | |
label temp7 "CPU Temperature" | |
# CPU temperature shown in/used by the UEFI: significantly lower than the | |
# package temperature and with frequent over/undershoots, but kept here | |
# because it is the default sensor in the UEFI for fan control | |
label temp9 "UEFI CPU Temperature" | |
# CPUTIN does not report the CPU temperature | |
ignore temp2 # maybe CPU socket temperature | |
# AUXTIN is not functional/does not report sensible values | |
ignore temp3 # somewhat related to GT usage | |
ignore temp4 | |
ignore temp5 | |
ignore temp6 | |
# PCH temperatures are not monitored by this chip (only ASUS EC) | |
ignore temp10 | |
ignore temp11 | |
ignore temp12 | |
ignore temp13 | |
# Ignore TSI registers that only report garbage | |
ignore temp14 | |
ignore temp15 | |
ignore temp16 | |
ignore temp17 | |
ignore temp18 | |
ignore temp19 | |
ignore temp20 | |
label fan1 "CHA_FAN1 Header" | |
label fan2 "CPU_FAN Header" | |
label fan3 "M_2_FAN Header" | |
label fan5 "AIO_PUMP Header" | |
label fan6 "CHA_FAN2 Header" | |
ignore fan4 # does not match any physical header/always zero | |
# note: CPU_OPT header is not monitored by this chip (only ASUS EC) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment