hwmon: Add NPCM7xx PWM and Fan driver

Add Nuvoton BMC NPCM750/730/715/705 Pulse Width Modulation (PWM)
and Fan tacho driver.

The Nuvoton BMC NPCM750/730/715/705 supports 8 PWM controller outputs
and 16 Fan controller inputs.

The driver provides a sysfs entries through which the user can
configure the duty-cycle value from 0(off) and 255(full speed)
and read the fan tacho rpm value.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
This commit is contained in:
Tomer Maimon 2018-07-04 02:23:26 +03:00 committed by Guenter Roeck
parent 68dde6cae6
commit f1fd4a4db7
4 changed files with 1090 additions and 0 deletions

View File

@ -0,0 +1,22 @@
Kernel driver npcm750-pwm-fan
=============================
Supported chips:
NUVOTON NPCM750/730/715/705
Authors:
<tomer.maimon@nuvoton.com>
Description:
------------
This driver implements support for NUVOTON NPCM7XX PWM and Fan Tacho
controller. The PWM controller supports up to 8 PWM outputs. The Fan tacho
controller supports up to 16 tachometer inputs.
The driver provides the following sensor accesses in sysfs:
fanX_input ro provide current fan rotation value in RPM as reported
by the fan to the device.
pwmX rw get or set PWM fan control value. This is an integer
value between 0(off) and 255(full speed).

View File

@ -1268,6 +1268,16 @@ config SENSORS_NCT7904
This driver can also be built as a module. If so, the module
will be called nct7904.
config SENSORS_NPCM7XX
tristate "Nuvoton NPCM750 and compatible PWM and Fan controllers"
imply THERMAL
help
This driver provides support for Nuvoton NPCM750/730/715/705 PWM
and Fan controllers.
This driver can also be built as a module. If so, the module
will be called npcm750-pwm-fan.
config SENSORS_NSA320
tristate "ZyXEL NSA320 and compatible fan speed and temperature sensors"
depends on GPIOLIB && OF

View File

@ -135,6 +135,7 @@ obj-$(CONFIG_SENSORS_NCT6683) += nct6683.o
obj-$(CONFIG_SENSORS_NCT6775) += nct6775.o
obj-$(CONFIG_SENSORS_NCT7802) += nct7802.o
obj-$(CONFIG_SENSORS_NCT7904) += nct7904.o
obj-$(CONFIG_SENSORS_NPCM7XX) += npcm750-pwm-fan.o
obj-$(CONFIG_SENSORS_NSA320) += nsa320-hwmon.o
obj-$(CONFIG_SENSORS_NTC_THERMISTOR) += ntc_thermistor.o
obj-$(CONFIG_SENSORS_PC87360) += pc87360.o

File diff suppressed because it is too large Load Diff