Commit c560dc87 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull hwmon updates from Guenter Roeck:

 - New drivers for MAX6697 and compatibles and for INA209.

 - Added support for IT8771E, IT8772E, MAX34460, MAX34461, MCP98244, and
   ADT7420 to existing drivers.

 - Added support for additional attributes to various drivers.

 - Replaced SENSORS_LIMIT with clamp_val; retire SENSORS_LIMIT;

 - Clean up PMBus code to reduce its size; clean up adt7410 driver.

 - A couple of minor bug fixes as well as documentation cleanup.

 - Out-of-tree change: Replace SENSORS_LIMIT with clamp_val in
   platform/x86/eeepc-laptop driver.

* tag 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (32 commits)
  hwmon: (ntc_thermistor): Fix sparse warnings
  hwmon: (adt7410) Add device table entry for the adt7420
  hwmon: (adt7410) Use I2C_ADDRS helper macro
  hwmon: (adt7410) Use the SIMPLE_DEV_PM_OPS helper macro
  hwmon: (adt7410) Let suspend/resume depend on CONFIG_PM_SLEEP
  hwmon: (adt7410) Clear unwanted bits in the config register
  hwmon: (jc42) Add support for MCP98244
  hwmon: (pmbus) Clean up for code size reduction
  hwmon: (pmbus/max34440) Add support for MAX34460 and MAX34461
  hwmon: (pmbus) Add support for word status register
  hwmon: (pmbus/zl6100) Add support for VMON/VDRV
  hwmon: (pmbus) Add function to clear sensor cache
  hwmon: (pmbus) Add support for additional voltage sensor
  hwmon: (pmbus) Use krealloc to allocate attribute memory
  hwmon: (pmbus) Simplify memory allocation for sensor attributes
  hwmon: (pmbus) Improve boolean handling
  hwmon: (pmbus) Simplify memory allocation for labels and booleans
  hwmon: (pmbus) Use dev variable to represent client->dev
  hwmon: (pmbus) Fix 'Macros with multiple statements' checkpatch error
  hwmon: (pmbus) Drop unnecessary error messages in probe error path
  ...
parents 8a3a11f9 4626dcff
Loading
Loading
Loading
Loading
+18 −0
Original line number Diff line number Diff line
ina209 properties

Required properties:
- compatible: Must be "ti,ina209"
- reg: I2C address

Optional properties:

- shunt-resistor
	Shunt resistor value in micro-Ohm

Example:

temp-sensor@4c {
	compatible = "ti,ina209";
	reg = <0x4c>;
	shunt-resistor = <5000>;
};
+64 −0
Original line number Diff line number Diff line
max6697 properties

Required properties:
- compatible:
	Should be one of
		maxim,max6581
		maxim,max6602
		maxim,max6622
		maxim,max6636
		maxim,max6689
		maxim,max6693
		maxim,max6694
		maxim,max6697
		maxim,max6698
		maxim,max6699
- reg: I2C address

Optional properties:

- smbus-timeout-disable
	Set to disable SMBus timeout. If not specified, SMBus timeout will be
	enabled.
- extended-range-enable
	Only valid for MAX6581. Set to enable extended temperature range.
	Extended temperature will be disabled if not specified.
- beta-compensation-enable
	Only valid for MAX6693 and MX6694. Set to enable beta compensation on
	remote temperature channel 1.
	Beta compensation will be disabled if not specified.
- alert-mask
	Alert bit mask. Alert disabled for bits set.
	Select bit 0 for local temperature, bit 1..7 for remote temperatures.
	If not specified, alert will be enabled for all channels.
- over-temperature-mask
	Over-temperature bit mask. Over-temperature reporting disabled for
	bits set.
	Select bit 0 for local temperature, bit 1..7 for remote temperatures.
	If not specified, over-temperature reporting will be enabled for all
	channels.
- resistance-cancellation
	Boolean for all chips other than MAX6581. Set to enable resistance
	cancellation on remote temperature channel 1.
	For MAX6581, resistance cancellation enabled for all channels if
	specified as boolean, otherwise as per bit mask specified.
	Only supported for remote temperatures (bit 1..7).
	If not specified, resistance cancellation will be disabled for all
	channels.
- transistor-ideality
	For MAX6581 only. Two values; first is bit mask, second is ideality
	select value as per MAX6581 data sheet. Select bit 1..7 for remote
	channels.
	Transistor ideality will be initialized to default (1.008) if not
	specified.

Example:

temp-sensor@1a {
	compatible = "maxim,max6697";
	reg = <0x1a>;
	smbus-timeout-disable;
	resistance-cancellation;
	alert-mask = <0x72>;
	over-temperature-mask = <0x7f>;
};
+9 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@ Process Processor TjMax(C)
		i5 3470T					91

32nm		Core i3/i5/i7 Processors
		i7 2600						98
		i7 660UM/640/620, 640LM/620, 620M, 610E		105
		i5 540UM/520/430, 540M/520/450/430		105
		i3 330E, 370M/350/330				90 rPGA, 105 BGA
@@ -79,7 +80,10 @@ Process Processor TjMax(C)
		P4505/P4500 					90

32nm		Atom Processors
		S1260/1220					95
		S1240						102
		Z2460						90
		Z2760						90
		D2700/2550/2500					100
		N2850/2800/2650/2600				100

@@ -98,6 +102,7 @@ Process Processor TjMax(C)

45nm		Atom Processors
		D525/510/425/410				100
		K525/510/425/410				100
		Z670/650					90
		Z560/550/540/530P/530/520PT/520/515/510PT/510P	90
		Z510/500					90
@@ -107,7 +112,11 @@ Process Processor TjMax(C)
		330/230						125
		E680/660/640/620				90
		E680T/660T/640T/620T				110
		E665C/645C					90
		E665CT/645CT					110
		CE4170/4150/4110				110
		CE4200 series					unknown
		CE5300 series					unknown

45nm		Core2 Processors
		Solo ULV SU3500/3300				100
+93 −0
Original line number Diff line number Diff line
Kernel driver ina209
=====================

Supported chips:
  * Burr-Brown / Texas Instruments INA209
    Prefix: 'ina209'
    Addresses scanned: -
    Datasheet:
        http://www.ti.com/lit/gpn/ina209

Author: Paul Hays <Paul.Hays@cattail.ca>
Author: Ira W. Snyder <iws@ovro.caltech.edu>
Author: Guenter Roeck <linux@roeck-us.net>


Description
-----------

The TI / Burr-Brown INA209 monitors voltage, current, and power on the high side
of a D.C. power supply. It can perform measurements and calculations in the
background to supply readings at any time. It includes a programmable
calibration multiplier to scale the displayed current and power values.


Sysfs entries
-------------

The INA209 chip is highly configurable both via hardwiring and via
the I2C bus. See the datasheet for details.

This tries to expose most monitoring features of the hardware via
sysfs. It does not support every feature of this chip.


in0_input		shunt voltage (mV)
in0_input_highest	shunt voltage historical maximum reading (mV)
in0_input_lowest	shunt voltage historical minimum reading (mV)
in0_reset_history	reset shunt voltage history
in0_max			shunt voltage max alarm limit (mV)
in0_min			shunt voltage min alarm limit (mV)
in0_crit_max		shunt voltage crit max alarm limit (mV)
in0_crit_min		shunt voltage crit min alarm limit (mV)
in0_max_alarm		shunt voltage max alarm limit exceeded
in0_min_alarm		shunt voltage min alarm limit exceeded
in0_crit_max_alarm	shunt voltage crit max alarm limit exceeded
in0_crit_min_alarm	shunt voltage crit min alarm limit exceeded

in1_input		bus voltage (mV)
in1_input_highest	bus voltage historical maximum reading (mV)
in1_input_lowest	bus voltage historical minimum reading (mV)
in1_reset_history	reset bus voltage history
in1_max			bus voltage max alarm limit (mV)
in1_min			bus voltage min alarm limit (mV)
in1_crit_max		bus voltage crit max alarm limit (mV)
in1_crit_min		bus voltage crit min alarm limit (mV)
in1_max_alarm		bus voltage max alarm limit exceeded
in1_min_alarm		bus voltage min alarm limit exceeded
in1_crit_max_alarm	bus voltage crit max alarm limit exceeded
in1_crit_min_alarm	bus voltage crit min alarm limit exceeded

power1_input		power measurement (uW)
power1_input_highest	power historical maximum reading (uW)
power1_reset_history	reset power history
power1_max		power max alarm limit (uW)
power1_crit		power crit alarm limit (uW)
power1_max_alarm	power max alarm limit exceeded
power1_crit_alarm	power crit alarm limit exceeded

curr1_input		current measurement (mA)

update_interval		data conversion time; affects number of samples used
			to average results for shunt and bus voltages.

General Remarks
---------------

The power and current registers in this chip require that the calibration
register is programmed correctly before they are used. Normally this is expected
to be done in the BIOS. In the absence of BIOS programming, the shunt resistor
voltage can be provided using platform data. The driver uses platform data from
the ina2xx driver for this purpose. If calibration register data is not provided
via platform data, the driver checks if the calibration register has been
programmed (ie has a value not equal to zero). If so, this value is retained.
Otherwise, a default value reflecting a shunt resistor value of 10 mOhm is
programmed into the calibration register.


Output Pins
-----------

Output pin programming is a board feature which depends on the BIOS. It is
outside the scope of a hardware monitoring driver to enable or disable output
pins.
+12 −4
Original line number Diff line number Diff line
@@ -30,6 +30,14 @@ Supported chips:
    Prefix: 'it8728'
    Addresses scanned: from Super I/O config space (8 I/O ports)
    Datasheet: Not publicly available
  * IT8771E
    Prefix: 'it8771'
    Addresses scanned: from Super I/O config space (8 I/O ports)
    Datasheet: Not publicly available
  * IT8772E
    Prefix: 'it8772'
    Addresses scanned: from Super I/O config space (8 I/O ports)
    Datasheet: Not publicly available
  * IT8782F
    Prefix: 'it8782'
    Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -83,8 +91,8 @@ Description
-----------

This driver implements support for the IT8705F, IT8712F, IT8716F,
IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, IT8781F, IT8782F,
IT8783E/F, and SiS950 chips.
IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, IT8771E, IT8772E,
IT8782F, IT8783E/F, and SiS950 chips.

These chips are 'Super I/O chips', supporting floppy disks, infrared ports,
joysticks and other miscellaneous stuff. For hardware monitoring, they
@@ -118,8 +126,8 @@ The IT8726F is just bit enhanced IT8716F with additional hardware
for AMD power sequencing. Therefore the chip will appear as IT8716F
to userspace applications.

The IT8728F is considered compatible with the IT8721F, until a datasheet
becomes available (hopefully.)
The IT8728F, IT8771E, and IT8772E are considered compatible with the IT8721F,
until a datasheet becomes available (hopefully.)

Temperatures are measured in degrees Celsius. An alarm is triggered once
when the Overtemperature Shutdown limit is crossed.
Loading