The Microchip EMC230X (formerly made by SMSC) family of fan controllers provide PWM control for up to 5 fans (in the EMC2305). The EMC230X is capable of maintaining (closed-loop) a target RPM speed through PWM. This driver has been tested with the EMC2301 (on our Traverse Ten64 appliance) and with the EMC2305 demo board (ADM00879). The driver is by no means complete, for example, further work would be required to support the different PWM output frequencies for voltage-based fan speed control. (So far this driver has only been tested with direct PWM capable fans, like the 4 pin fans found in recent PCs) The emc230x driver also has thermal subsystem integration which allows the emc230x-controlled fan(s) to be used as cooling devices. Mathew McBride (3): hwmon: (emc230x) add Microchip (SMSC) EMC230X fan controller support dt-bindings: add binding for Microchip EMC230X fan controller family arm64: dts: ten64: add configuration for fan controller .../bindings/hwmon/microchip,emc2301.yaml | 83 +++ MAINTAINERS | 7 + .../boot/dts/freescale/fsl-ls1088a-ten64.dts | 43 ++ drivers/hwmon/Kconfig | 13 + drivers/hwmon/Makefile | 1 + drivers/hwmon/emc230x.c | 587 ++++++++++++++++++ 6 files changed, 734 insertions(+) create mode 100644 Documentation/devicetree/bindings/hwmon/microchip,emc2301.yaml create mode 100644 drivers/hwmon/emc230x.c -- 2.30.1