[PATCH v1] hwmon: (nct6775) Add chip ID for NCT6796D-S

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



found on the ASRock X670E PG Lightning (and possibly others).

the userspace sensors-detect utiliy found "a" chip right away:
|Probing for Super-I/O at 0x2e/0x2f
|[...]
|Trying family `VIA/Winbond/Nuvoton/Fintek'...               Yes
|Found unknown chip with ID 0xd802
|    (logical device B has address 0x290, could be sensors)

Looking at the documentation: ASRock was nice enough to point
the exact chip out in the mainboard's "English User Manual" [0].
In section "1.5 Block Diagram" on page 10 it says "SIO NCT6796D-S".
It is also mentioned that it uses eSPI to interface with the CPU.

Adding the chip's ID as a "clone" of the existing NCT6796D leads to:

|nct6796-isa-0290
|Adapter: ISA adapter
|Vcore:                720.00 mV (min =  +0.00 V, max =  +1.74 V)
|in1:                    1.82 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|AVCC:                   3.39 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|+3.3V:                  3.28 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|in4:                    1.66 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|in5:                    1.05 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|in6:                    1.46 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|3VSB:                   3.39 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|Vbat:                   3.23 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|in9:                  904.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
|in10:                 608.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
|in11:                 608.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
|in12:                   1.04 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|in13:                 896.00 mV (min =  +0.00 V, max =  +0.00 V)  ALARM
|in14:                   1.26 V  (min =  +0.00 V, max =  +0.00 V)  ALARM
|fan1:                  815 RPM  (min =    0 RPM)
|fan2:                    0 RPM  (min =    0 RPM)
|fan3:                  781 RPM  (min =    0 RPM)
|fan7:                    0 RPM  (min =    0 RPM)
|SYSTIN:                +26.5°C    sensor = thermistor
|CPUTIN:                +27.0°C  (high = +80.0°C, hyst = +75.0°C)
|AUXTIN0:                +2.0°C  (high = +67.0°C, hyst = +110.0°C)
|AUXTIN1:               +15.0°C    sensor = thermistor
|AUXTIN2:               +15.0°C    sensor = thermistor
|AUXTIN3:               +13.0°C    sensor = thermistor
|SMBUSMASTER 0:         +39.5°C  (high = +80.0°C, hyst = +75.0°C)
|PCH_CHIP_CPU_MAX_TEMP:  +0.0°C
|PCH_CHIP_TEMP:          +0.0°C
|PCH_CPU_TEMP:           +0.0°C
|TSI0_TEMP:             +39.9°C
|intrusion0:           ALARM
|intrusion1:           ALARM
|beep_enable:          disabled

Of some note is:
 - voltages for Vcore, 3V3, AVCC, 3VSB and Vbat have sensible values.
   The other voltage inputs are likely "limited to a maximum value of
   2.048V due to an internal setting of 8mV LSB (256 steps x 8mV = 2.048V)"
   [1] (Section 8.6 Analog Inputs - page 58)

 - temperatures reported by SYSTIN (mainboard), TSI0+SMBUSMASTER (CPU-CCDs)
   matches too. CPUTIN really seems to be the IO-DIE of the CPU.

 - fan1 rpms matches the AIO (2nd CPU fan).
   fan3 is the 2nd chassis fan.

   The motherboard has pin-headers for 2 CPU-fans and 4 Chassis/AUX-fans.
   This means that two are missing! The novuton documentation [1] says on
   page 3 that there are 6 fan controls + monitoring inputs.

   what's odd is that pwm1-5 values provided through the sysfs interface.
   and these are matching the fan curves that have been set in the bios.

 - intrusion is not connected, same with all PCH* sensors.
   AUXTIN123 are not moving. AUXTIN0 is moving with

[0] https://download.asrock.com/Manual/X670E%20PG%20Lightning_English.pdf
[1] https://www.nuvoton.com/export/resource-files/NCT6796D_Datasheet_V0_6.pdf
Signed-off-by: Christian Lamparter <chunkeey@xxxxxxxxx>
---

Any insights into the missing two fan speed sensors would be very appreciated.
I didn't find a datasheet that talks about the "NCT6796D->S<" specifically or
the "odd" 0xd802 id value.

(I checked on my mainboard and the label on the chip really ends with an "-S")
Nuvoton lists the chip as "NCT6796D-E" on their website. But there are pictures
on google that show a ASRock X570 Taichi motherboard with a NCT6796D-"R" chip.
This looks to me that the letter is something like a revision or model year?
---
 drivers/hwmon/nct6775-core.c     | 1 +
 drivers/hwmon/nct6775-platform.c | 2 ++
 2 files changed, 3 insertions(+)

diff --git a/drivers/hwmon/nct6775-core.c b/drivers/hwmon/nct6775-core.c
index da9ec6983e13..8147544ad5d6 100644
--- a/drivers/hwmon/nct6775-core.c
+++ b/drivers/hwmon/nct6775-core.c
@@ -29,6 +29,7 @@
  * nct6793d    15      6       6       2+6    0xd120 0xc1    0x5ca3
  * nct6795d    14      6       6       2+6    0xd350 0xc1    0x5ca3
  * nct6796d    14      7       7       2+6    0xd420 0xc1    0x5ca3
+ *                                           (0xd802)
  * nct6797d    14      7       7       2+6    0xd450 0xc1    0x5ca3
  *                                           (0xd451)
  * nct6798d    14      7       7       2+6    0xd428 0xc1    0x5ca3
diff --git a/drivers/hwmon/nct6775-platform.c b/drivers/hwmon/nct6775-platform.c
index b34783784213..f355d0c2a8cd 100644
--- a/drivers/hwmon/nct6775-platform.c
+++ b/drivers/hwmon/nct6775-platform.c
@@ -84,6 +84,7 @@ MODULE_PARM_DESC(fan_debounce, "Enable debouncing for fan RPM signal");
 #define SIO_NCT6793_ID		0xd120
 #define SIO_NCT6795_ID		0xd350
 #define SIO_NCT6796_ID		0xd420
+#define SIO_NCT6796S_ID		0xd800
 #define SIO_NCT6797_ID		0xd450
 #define SIO_NCT6798_ID		0xd428
 #define SIO_ID_MASK		0xFFF8
@@ -987,6 +988,7 @@ static int __init nct6775_find(int sioaddr, struct nct6775_sio_data *sio_data)
 		sio_data->kind = nct6795;
 		break;
 	case SIO_NCT6796_ID:
+	case SIO_NCT6796S_ID:
 		sio_data->kind = nct6796;
 		break;
 	case SIO_NCT6797_ID:
-- 
2.38.1




[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux