From: Nick Hawkins <nick.hawkins@xxxxxxx> The GXP SoC can support up to 16 fans through the interface provided by the CPLD. The fans speeds are controlled via a pwm value 0-255. The fans are also capable of reporting if they have failed to the CPLD which in turn reports the status to the GXP SoC. Based on previous feedback the registers required for fan control have been regmaped individualy to fan driver. Specifically these registers are the function 2 registers and the programmable logic registers from the CPLD. Additionally in this patchset there is support for the SPI driver which already exists as spi-gxp.c in the SPI driver. --- Changes since v1: *Renamed fn2reg to fn2 in dtsi file and documentation *Renamed plreg to pl in dtsi file and documentation *Renamed fanctrl to fan-controller in dtsi file and documentation *Adjusted base register range for fan ctrl in dtsi *Changed commit description on fan-ctrl device-tree binding *Changed register description on fan-ctrl device-tree binding *Changed number of supported fans from 16 to 8 in driver code and documentation *Modified commit description of fan code *Removed support for fan[0-15]_input *Removed PWM defines in driver code *Added gxp-fan-ctrl to hwmon's index.rst *Removed mutex in driver code *Added fan_enable support in fan code and documentation *Fixed comment in driver code presents -> present *Removed unecessary include files in fan code *Added comments to describe what power state is and calculations for accessing plreg in fan code *Removed use of variable offsets in fan code *Fixed GPL header in fan code *Changed module description for fan controller *Added kfree in case of failure to initialize driver *Added missing yaml file to MAINTAINERS Nick Hawkins (6): hwmon: (gxp-fan-ctrl) Add GXP fan controller ABI: sysfs-class-hwmon: add a description for fanY_fault dt-bindings: hwmon: Add hpe,gxp-fan-ctrl ARM: dts: add GXP Support for fans and SPI ARM: multi_v7_defconfig: Add GXP Fan and SPI support MAINTAINERS: add gxp fan controller and documents Documentation/ABI/testing/sysfs-class-hwmon | 9 + .../bindings/hwmon/hpe,gxp-fan-ctrl.yaml | 41 +++ Documentation/hwmon/gxp-fan-ctrl.rst | 28 ++ Documentation/hwmon/index.rst | 1 + MAINTAINERS | 3 + arch/arm/boot/dts/hpe-bmc-dl360gen10.dts | 58 ++++ arch/arm/boot/dts/hpe-gxp.dtsi | 64 ++-- arch/arm/configs/multi_v7_defconfig | 2 + drivers/hwmon/Kconfig | 9 + drivers/hwmon/Makefile | 1 + drivers/hwmon/gxp-fan-ctrl.c | 305 ++++++++++++++++++ 11 files changed, 502 insertions(+), 19 deletions(-) create mode 100644 Documentation/devicetree/bindings/hwmon/hpe,gxp-fan-ctrl.yaml create mode 100644 Documentation/hwmon/gxp-fan-ctrl.rst create mode 100644 drivers/hwmon/gxp-fan-ctrl.c -- 2.17.1