[PATCH 0/2] Enable fan monitoring support for Simatic IPC BX-59A
From: Benedikt Niedermayr
Date: Thu Aug 20 2026 - 07:32:37 EST
Patch 1 adds the I2C/SMBus driver for the NCT6126D.
Patch 2 enables the driver for the Simatic IPC BX-59A platform.
Some fans are controlled by the ADT7475 controller, which is connected to the
NCT6126D Super I/O via the i2c bus. Other fans are controlled directly by the
NCT6126D hwmon interface block.
To enable communication with the ADT7475, an i2c master driver for the
NCT6126D's SMBus interface is added. The new i2c master driver may support
additional controllers, but so far I have only been able to test it with the
NCT6126D Super I/O.
Findings and decisions made during development:
- The SMBus controller on the NCT6126D resides on the same logical device as
the hwmon interface block (logical device B) and therefore shares the CR30
register used to enable the logical device. The nct6775 driver handles the
entire hwmon interface block on this Super-IO chip and already force-enables
the domain during probing and resuming, regardless of what the BIOS
programmed the CR30 register.
This driver is more defensive and aborts probing if the BIOS has not enabled
logical device B in the CR30 register.
- The I/O base address of the SMBus domain is discovered dynamically during
probing. It should have been programmed by the BIOS in the CR62/CR63
registers. If no address has been programmed in these registers, the
driver aborts probing.
Cheers,
Benedikt
Benedikt Niedermayr (2):
i2c: i2c-nct6126: add support for NCT6126D Super I/O
platform/x86/siemens: simatic-ipc: add fan monitoring support for
BX-59A
MAINTAINERS | 5 +
drivers/i2c/busses/Kconfig | 11 +
drivers/i2c/busses/Makefile | 1 +
drivers/i2c/busses/i2c-nct6126.c | 473 +++++++++++++++++++++
drivers/platform/x86/siemens/simatic-ipc.c | 14 +-
5 files changed, 497 insertions(+), 7 deletions(-)
create mode 100644 drivers/i2c/busses/i2c-nct6126.c
--
2.43.0