[PATCH v3 0/3] hwmon: add Microchip EMC2101 driver

From: Álvaro Fernández Rojas
Date: Wed Jul 09 2025 - 12:48:58 EST


The Microchip EMC2101 is a SMBus 2.0 fan controller with temperature
monitoring.

It supports up to 1 fan, 1 internal temperature sensor, 1 external
temperature sensor and an 8 entry look up table to create a
programmable temperature response.

v3: multiple improvements:
- rst: drop emc2101-r (same chip, loads config from EEPROM).
- dt: fix errors, remove patternProperties and drop emc2101-r.
- Switch to regmap-i2c.
- Use regmap fields.
- Add Power Management support.
- Demote dev_info() to dev_dbg().
- Remove "emc2101-r" i2c_device_id.
- Remove "microchip,emc2101-r" of_device_id.
- Properly implement standby mode.
- Use milliseconds instead of millihertz for update_interval.
- Drop mutex except for FAN_LUT_DISABLE and TEMP_EXT_CRIT_UNLOCK.
- Fix u16 fraction temperature conversions.
- Other code cleanups and refactors.

v2: multiple improvements:
- add emc2101.rst to index.rst.
- add missing documentation properties.
- Remove FAN_RPM_MIN definition.
- Rename FAN_FALSE_READ to FAN_MIN_READ.
- pwm_auto_point_temp_hyst_store(): simplify function.
- emc2101_fan_min_read(): add missing FAN_MIN_READ condition.
- emc2101_fan_min_write(): fix tach_count calculation.
- emc2101_init(): fix REG_TACH_MIN value.

Álvaro Fernández Rojas (3):
docs: hwmon: add emc2101.rst to docs
dt-bindings: hwmon: Add Microchip EMC2101 support
drivers: hwmon: add EMC2101 driver

.../bindings/hwmon/microchip,emc2101.yaml | 59 +
Documentation/hwmon/emc2101.rst | 61 +
Documentation/hwmon/index.rst | 1 +
drivers/hwmon/Kconfig | 11 +
drivers/hwmon/Makefile | 1 +
drivers/hwmon/emc2101.c | 2176 +++++++++++++++++
6 files changed, 2309 insertions(+)
create mode 100644 Documentation/devicetree/bindings/hwmon/microchip,emc2101.yaml
create mode 100644 Documentation/hwmon/emc2101.rst
create mode 100644 drivers/hwmon/emc2101.c

--
2.39.5