Commit 3bce5377 authored by Tim Harvey's avatar Tim Harvey Committed by Lee Jones
Browse files

hwmon: Add Gateworks System Controller support



The Gateworks System Controller has a hwmon sub-component that exposes
up to 16 ADC's, some of which are temperature sensors, others which are
voltage inputs. The ADC configuration (register mapping and name) is
configured via device-tree and varies board to board.

Signed-off-by: default avatarTim Harvey <tharvey@gateworks.com>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarLee Jones <lee.jones@linaro.org>
parent d8523499
Loading
Loading
Loading
Loading
+53 −0
Original line number Diff line number Diff line
.. SPDX-License-Identifier: GPL-2.0

Kernel driver gsc-hwmon
=======================

Supported chips: Gateworks GSC
Datasheet: http://trac.gateworks.com/wiki/gsc
Author: Tim Harvey <tharvey@gateworks.com>

Description:
------------

This driver supports hardware monitoring for the temperature sensor,
various ADC's connected to the GSC, and optional FAN controller available
on some boards.


Voltage Monitoring
------------------

The voltage inputs are scaled either internally or by the driver depending
on the GSC version and firmware. The values returned by the driver do not need
further scaling. The voltage input labels provide the voltage rail name:

inX_input                  Measured voltage (mV).
inX_label                  Name of voltage rail.


Temperature Monitoring
----------------------

Temperatures are measured with 12-bit or 10-bit resolution and are scaled
either internally or by the driver depending on the GSC version and firmware.
The values returned by the driver reflect millidegree Celcius:

tempX_input                Measured temperature.
tempX_label                Name of temperature input.


PWM Output Control
------------------

The GSC features 1 PWM output that operates in automatic mode where the
PWM value will be scalled depending on 6 temperature boundaries.
The tempeature boundaries are read-write and in millidegree Celcius and the
read-only PWM values range from 0 (off) to 255 (full speed).
Fan speed will be set to minimum (off) when the temperature sensor reads
less than pwm1_auto_point1_temp and maximum when the temperature sensor
equals or exceeds pwm1_auto_point6_temp.

pwm1_auto_point[1-6]_pwm       PWM value.
pwm1_auto_point[1-6]_temp      Temperature boundary.
+1 −0
Original line number Diff line number Diff line
@@ -60,6 +60,7 @@ Hardware Monitoring Kernel Drivers
   ftsteutates
   g760a
   g762
   gsc-hwmon
   gl518sm
   hih6130
   ibmaem
+3 −0
Original line number Diff line number Diff line
@@ -7035,6 +7035,9 @@ S: Maintained
F:	Documentation/devicetree/bindings/mfd/gateworks-gsc.yaml
F:	drivers/mfd/gateworks-gsc.c
F:	include/linux/mfd/gsc.h
F:	Documentation/hwmon/gsc-hwmon.rst
F:	drivers/hwmon/gsc-hwmon.c
F:	include/linux/platform_data/gsc_hwmon.h
GASKET DRIVER FRAMEWORK
M:	Rob Springer <rspringer@google.com>
+9 −0
Original line number Diff line number Diff line
@@ -523,6 +523,15 @@ config SENSORS_F75375S
	  This driver can also be built as a module. If so, the module
	  will be called f75375s.

config SENSORS_GSC
	tristate "Gateworks System Controller ADC"
	depends on MFD_GATEWORKS_GSC
	help
	  Support for the Gateworks System Controller A/D converters.

	  To compile this driver as a module, choose M here:
	  the module will be called gsc-hwmon.

config SENSORS_MC13783_ADC
        tristate "Freescale MC13783/MC13892 ADC"
        depends on MFD_MC13XXX
+1 −0
Original line number Diff line number Diff line
@@ -74,6 +74,7 @@ obj-$(CONFIG_SENSORS_G760A) += g760a.o
obj-$(CONFIG_SENSORS_G762)	+= g762.o
obj-$(CONFIG_SENSORS_GL518SM)	+= gl518sm.o
obj-$(CONFIG_SENSORS_GL520SM)	+= gl520sm.o
obj-$(CONFIG_SENSORS_GSC)	+= gsc-hwmon.o
obj-$(CONFIG_SENSORS_GPIO_FAN)	+= gpio-fan.o
obj-$(CONFIG_SENSORS_HIH6130)	+= hih6130.o
obj-$(CONFIG_SENSORS_ULTRA45)	+= ultra45_env.o
Loading