Re: [PATCH v2] hwmon: (it87) Add support for IT8607E
From: Guenter Roeck
Date: Mon Nov 02 2026 - 11:04:59 EST
On Mon, Nov 02, 2026 at 12:11:12AM +0000, Ismael Ojeda Perez wrote:
> The IT8607E is the Super I/O of the Intel NUC6i3SYB and, according to
> Intel's product specification, the NUC6i5SYB (BIOS SYSKLi35.86A). Its
> environment controller is hidden from ACPI (HHMD._STA returns 0), so the
> chip is only reachable through the LPC configuration ports, and the ACPI
> resource check must be bypassed with ignore_resource_conflict=1.
>
> No datasheet is available. The register layout was compared against the
> IT8603E, and the BIOS fan setup (IT8607PeiInit and FanPei PEI modules of
> SYSKLi35.86A.0071) was disassembled to confirm it programs the same
> "newer autopwm" registers (0x68-0x6d for pwm2). Features are therefore
> copied from the IT8603E.
>
> Tested on a NUC6i3SYB (BIOS SYSKLi35.86A.0042, chip ID 0x8607, rev 2):
> temperatures agree with coretemp, +3.3V reads 3.31 V, the 3VSB and VBAT
> inputs read plausible values, fan2 tach and pwm2 respond to the
> automatic-curve registers (start 74 C, full speed 92 C, as programmed by
> the BIOS) and to manual mode, and the original values are restored.
>
> The tachometer was not compared with an external tachometer and the
> voltage scaling was not compared with a multimeter; the values above are
> only cross-checked against coretemp and the expected rail voltages.
>
> Signed-off-by: Ismael Ojeda Perez <iojedaperez@xxxxxxxxx>
Applied.
> ---
> Changes in v2:
> - Add .reg_pwm = IT87_REG_PWM and .num_temp_map = 4 to the it8607 entry,
> copied from it8603. v1 left them out, which would dereference a NULL
> reg_pwm on hwmon-next (reported by sashiko-bot, thank you).
> - v1 had only been run-tested with the it87.c of 6.18. This version was
> built from hwmon-next and run on the NUC6i3SYB: all 87 sysfs attributes
> read without error, pwm2_enable and pwm2_auto_channels_temp written and
> restored, no oops.
>
> v1: https://lore.kernel.org/all/179357707375.834227.595814448085536071@xxxxxxxxx/
>
> Observation, no change needed: on this BIOS the registers 0x68-0x6d of
> pwm2 read 81 4a 5c 59 06 02. With the newer-autopwm layout of it87
> (base+0 fan off temperature, +1 start, +2 max, +3 start pwm, +4 slope,
> +5 hysteresis) that is: fan off temperature -127 C (0x81, the lowest
> value, so the fan is never switched off), start 74 C, max 92 C, start
> pwm 89, slope 6, hysteresis 2. pwm2_auto_point1_temp therefore reads
> -127000 and pwm2 reads 89, matching the registers.
>
> Based on the hwmon-next branch of groeck/linux-staging.git (file contents
> as of 2026-11-01). The Super I/O is found at 0x2e, chip ID 0x8607,
> revision 2, hardware monitor at 0xa40; ACPI reserves that range, hence
> ignore_resource_conflict=1. Is that acceptable, or would you prefer a DMI
> quirk for the NUC6 boards?
No quirk needed, it is up to the user to accept the risk.
Guenter