linux/drivers/hwmon/pmbus
Andrew Jeffery cf583b4275 hwmon: (pmbus/max31785) Add dual tachometer support
The dual tachometer feature is implemented in hardware with a TACHSEL
input to indicate the rotor under measurement, and exposed on the device
by extending the READ_FAN_SPEED_1 word with two extra bytes*. The need
to read the non-standard four-byte response leads to a cut-down
implementation of i2c_smbus_xfer_emulated() included in the driver.
Further, to expose the second rotor tachometer value to userspace the
values are exposed through virtual pages. We re-route accesses to
FAN_CONFIG_1_2 and READ_FAN_SPEED_1 on pages 23-28 (not defined by the
hardware) to the same registers on pages 0-5, and with the latter command
we extract the value from the second word of the four-byte response.

* The documentation recommends the slower rotor be associated with
TACHSEL=0, which corresponds to the first word of the response. The
TACHSEL=0 measurement is used by the controller's closed-loop fan
management to judge target fan rate.

Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
2018-01-02 15:05:34 -08:00
..
adm1275.c driver: (adm1275) set the m,b and R coefficients correctly for power 2017-03-27 19:43:36 -07:00
ibm-cffps.c hwmon: (pmbus) Add IBM Common Form Factor (CFF) power supply driver 2017-08-29 18:06:18 -07:00
ir35221.c hwmon: (pmbus) Add client driver for IR35221 2017-06-11 17:08:19 -07:00
Kconfig pmbus: Add driver for Maxim MAX31785 Intelligent Fan Controller 2017-11-05 06:06:33 -08:00
lm25066.c hwmon: (pmbus/lm25066) Drop support for LM25063 2018-01-02 15:05:34 -08:00
ltc2978.c hwmon: (ltc2978) Add support for LTM4675 2015-08-19 09:08:55 -07:00
ltc3815.c hwmon: (pmbus) Add client driver for LTC3815 2015-12-18 08:20:59 -08:00
Makefile hwmon updates for v4.15 2017-11-13 08:55:46 -08:00
max8688.c hwmon: (pmbus) Use BIT macro 2015-08-19 09:08:17 -07:00
max16064.c hwmon: (pmbus) Simplify remove functions 2012-03-18 18:27:46 -07:00
max20751.c hwmon: (pmbus) Add support for MAX20751 2015-08-09 13:44:27 -07:00
max31785.c hwmon: (pmbus/max31785) Add dual tachometer support 2018-01-02 15:05:34 -08:00
max34440.c hwmon: (pmbus) Use BIT macro 2015-08-19 09:08:17 -07:00
pmbus_core.c hwmon: (pmbus) Add virtual page config bit 2018-01-02 15:05:34 -08:00
pmbus.c hwmon: (pmbus) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
pmbus.h hwmon: (pmbus) Add virtual page config bit 2018-01-02 15:05:34 -08:00
tps40422.c hwmon: (pmbus) Add tps40422 front-end driver 2014-08-04 07:01:38 -07:00
tps53679.c hwmon: (pmbus) Add support for Texas Instruments tps53679 device 2017-08-30 18:01:08 -07:00
ucd9000.c hwmon: (pmbus) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
ucd9200.c hwmon: (pmbus) move header file out of I2C realm 2017-06-11 17:08:19 -07:00
zl6100.c hwmon: (pmbus) Use BIT macro 2015-08-19 09:08:17 -07:00