Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit afd8c404 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging:
  hwmon: (ads1015) Make gain and datarate configurable
  hwmon: (ads1015) Drop dynamic attribute group
  hwmon: Add support for Texas Instruments ADS1015
  hwmon: New driver for SMSC SCH5627
  hwmon: (abituguru*) Update my email address
  hwmon: (lm75) Speed up detection
  hwmon: (lm75) Add detection of the National Semiconductor LM75A
  hp_accel: Fix driver name
  Move lis3lv02d drivers to drivers/misc
  Move hp_accel to drivers/platform/x86
  Let Kconfig handle lis3lv02d dependencies
  hwmon: (sht15) Fix integer overflow in humidity calculation
  hwmon: (sht15) Spelling fix
  hwmon: (w83795) Document pin mapping
parents 366f7e7a c0046867
Loading
Loading
Loading
Loading
+73 −0
Original line number Diff line number Diff line
ADS1015 (I2C)

This device is a 12-bit A-D converter with 4 inputs.

The inputs can be used single ended or in certain differential combinations.

For configuration all possible combinations are mapped to 8 channels:
  0: Voltage over AIN0 and AIN1.
  1: Voltage over AIN0 and AIN3.
  2: Voltage over AIN1 and AIN3.
  3: Voltage over AIN2 and AIN3.
  4: Voltage over AIN0 and GND.
  5: Voltage over AIN1 and GND.
  6: Voltage over AIN2 and GND.
  7: Voltage over AIN3 and GND.

Each channel can be configured individually:
 - pga is the programmable gain amplifier (values are full scale)
    0: +/- 6.144 V
    1: +/- 4.096 V
    2: +/- 2.048 V (default)
    3: +/- 1.024 V
    4: +/- 0.512 V
    5: +/- 0.256 V
 - data_rate in samples per second
    0: 128
    1: 250
    2: 490
    3: 920
    4: 1600 (default)
    5: 2400
    6: 3300

1) The /ads1015 node

  Required properties:

   - compatible : must be "ti,ads1015"
   - reg : I2C bus address of the device
   - #address-cells : must be <1>
   - #size-cells : must be <0>

  The node contains child nodes for each channel that the platform uses.

  Example ADS1015 node:

    ads1015@49 {
	    compatible = "ti,ads1015";
	    reg = <0x49>;
	    #address-cells = <1>;
	    #size-cells = <0>;

	    [ child node definitions... ]
    }

2) channel nodes

  Required properties:

   - reg : the channel number

  Optional properties:

   - ti,gain : the programmable gain amplifier setting
   - ti,datarate : the converter data rate

  Example ADS1015 channel node:

    channel@4 {
	    reg = <4>;
	    ti,gain = <3>;
	    ti,datarate = <5>;
    };
+72 −0
Original line number Diff line number Diff line
Kernel driver ads1015
=====================

Supported chips:
  * Texas Instruments ADS1015
    Prefix: 'ads1015'
    Datasheet: Publicly available at the Texas Instruments website :
               http://focus.ti.com/lit/ds/symlink/ads1015.pdf

Authors:
        Dirk Eibach, Guntermann & Drunck GmbH <eibach@gdsys.de>

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

This driver implements support for the Texas Instruments ADS1015.

This device is a 12-bit A-D converter with 4 inputs.

The inputs can be used single ended or in certain differential combinations.

The inputs can be made available by 8 sysfs input files in0_input - in7_input:
in0: Voltage over AIN0 and AIN1.
in1: Voltage over AIN0 and AIN3.
in2: Voltage over AIN1 and AIN3.
in3: Voltage over AIN2 and AIN3.
in4: Voltage over AIN0 and GND.
in5: Voltage over AIN1 and GND.
in6: Voltage over AIN2 and GND.
in7: Voltage over AIN3 and GND.

Which inputs are available can be configured using platform data or devicetree.

By default all inputs are exported.

Platform Data
-------------

In linux/i2c/ads1015.h platform data is defined, channel_data contains
configuration data for the used input combinations:
- pga is the programmable gain amplifier (values are full scale)
  0: +/- 6.144 V
  1: +/- 4.096 V
  2: +/- 2.048 V
  3: +/- 1.024 V
  4: +/- 0.512 V
  5: +/- 0.256 V
- data_rate in samples per second
  0: 128
  1: 250
  2: 490
  3: 920
  4: 1600
  5: 2400
  6: 3300

Example:
struct ads1015_platform_data data = {
	.channel_data = {
		[2] = { .enabled = true, .pga = 1, .data_rate = 0 },
		[4] = { .enabled = true, .pga = 4, .data_rate = 5 },
	}
};

In this case only in2_input (FS +/- 4.096 V, 128 SPS) and in4_input
(FS +/- 0.512 V, 2400 SPS) would be created.

Devicetree
----------

Configuration is also possible via devicetree:
Documentation/devicetree/bindings/hwmon/ads1015.txt
+5 −0
Original line number Diff line number Diff line
@@ -7,6 +7,11 @@ Supported chips:
    Addresses scanned: I2C 0x48 - 0x4f
    Datasheet: Publicly available at the National Semiconductor website
               http://www.national.com/
  * National Semiconductor LM75A
    Prefix: 'lm75a'
    Addresses scanned: I2C 0x48 - 0x4f
    Datasheet: Publicly available at the National Semiconductor website
               http://www.national.com/
  * Dallas Semiconductor DS75
    Prefix: 'lm75'
    Addresses scanned: I2C 0x48 - 0x4f
+22 −0
Original line number Diff line number Diff line
Kernel driver sch5627
=====================

Supported chips:
  * SMSC SCH5627
    Prefix: 'sch5627'
    Addresses scanned: none, address read from Super I/O config space
    Datasheet: Application Note available upon request

Author: Hans de Goede <hdegoede@redhat.com>


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

SMSC SCH5627 Super I/O chips include complete hardware monitoring
capabilities. They can monitor up to 5 voltages, 4 fans and 8 temperatures.

The hardware monitoring part of the SMSC SCH5627 is accessed by talking
through an embedded microcontroller. An application note describing the
protocol for communicating with the microcontroller is available upon
request. Please mail me if you want a copy.
+127 −0
Original line number Diff line number Diff line
Kernel driver w83795
====================

Supported chips:
  * Winbond/Nuvoton W83795G
    Prefix: 'w83795g'
    Addresses scanned: I2C 0x2c - 0x2f
    Datasheet: Available for download on nuvoton.com
  * Winbond/Nuvoton W83795ADG
    Prefix: 'w83795adg'
    Addresses scanned: I2C 0x2c - 0x2f
    Datasheet: Available for download on nuvoton.com

Authors:
    Wei Song (Nuvoton)
    Jean Delvare <khali@linux-fr.org>


Pin mapping
-----------

Here is a summary of the pin mapping for the W83795G and W83795ADG.
This can be useful to convert data provided by board manufacturers
into working libsensors configuration statements.

    W83795G			|
  Pin	| Name			| Register	| Sysfs attribute
------------------------------------------------------------------
   13	| VSEN1 (VCORE1)	| 10h		| in0
   14	| VSEN2 (VCORE2)	| 11h		| in1
   15	| VSEN3 (VCORE3)	| 12h		| in2
   16	| VSEN4			| 13h		| in3
   17	| VSEN5			| 14h		| in4
   18	| VSEN6			| 15h		| in5
   19	| VSEN7			| 16h		| in6
   20	| VSEN8			| 17h		| in7
   21	| VSEN9			| 18h		| in8
   22	| VSEN10		| 19h		| in9
   23	| VSEN11		| 1Ah		| in10
   28	| VTT			| 1Bh		| in11
   24	| 3VDD			| 1Ch		| in12
   25	| 3VSB			| 1Dh		| in13
   26	| VBAT			| 1Eh		| in14
    3	| VSEN12/TR5		| 1Fh		| in15/temp5
    4	| VSEN13/TR5		| 20h		| in16/temp6
  5/  6	| VDSEN14/TR1/TD1	| 21h		| in17/temp1
  7/  8	| VDSEN15/TR2/TD2	| 22h		| in18/temp2
  9/ 10	| VDSEN16/TR3/TD3	| 23h		| in19/temp3
 11/ 12	| VDSEN17/TR4/TD4	| 24h		| in20/temp4
   40	| FANIN1		| 2Eh		| fan1
   42	| FANIN2		| 2Fh		| fan2
   44	| FANIN3		| 30h		| fan3
   46	| FANIN4		| 31h		| fan4
   48	| FANIN5		| 32h		| fan5
   50	| FANIN6		| 33h		| fan6
   52	| FANIN7		| 34h		| fan7
   54	| FANIN8		| 35h		| fan8
   57	| FANIN9		| 36h		| fan9
   58	| FANIN10		| 37h		| fan10
   59	| FANIN11		| 38h		| fan11
   60	| FANIN12		| 39h		| fan12
   31	| FANIN13		| 3Ah		| fan13
   35	| FANIN14		| 3Bh		| fan14
   41	| FANCTL1		| 10h (bank 2)	| pwm1
   43	| FANCTL2		| 11h (bank 2)	| pwm2
   45	| FANCTL3		| 12h (bank 2)	| pwm3
   47	| FANCTL4		| 13h (bank 2)	| pwm4
   49	| FANCTL5		| 14h (bank 2)	| pwm5
   51	| FANCTL6		| 15h (bank 2)	| pwm6
   53	| FANCTL7		| 16h (bank 2)	| pwm7
   55	| FANCTL8		| 17h (bank 2)	| pwm8
 29/ 30	| PECI/TSI (DTS1)	| 26h		| temp7
 29/ 30	| PECI/TSI (DTS2)	| 27h		| temp8
 29/ 30	| PECI/TSI (DTS3)	| 28h		| temp9
 29/ 30	| PECI/TSI (DTS4)	| 29h		| temp10
 29/ 30	| PECI/TSI (DTS5)	| 2Ah		| temp11
 29/ 30	| PECI/TSI (DTS6)	| 2Bh		| temp12
 29/ 30	| PECI/TSI (DTS7)	| 2Ch		| temp13
 29/ 30	| PECI/TSI (DTS8)	| 2Dh		| temp14
   27	| CASEOPEN#		| 46h		| intrusion0

    W83795ADG			|
  Pin	| Name			| Register	| Sysfs attribute
------------------------------------------------------------------
   10	| VSEN1 (VCORE1)	| 10h		| in0
   11	| VSEN2 (VCORE2)	| 11h		| in1
   12	| VSEN3 (VCORE3)	| 12h		| in2
   13	| VSEN4			| 13h		| in3
   14	| VSEN5			| 14h		| in4
   15	| VSEN6			| 15h		| in5
   16	| VSEN7			| 16h		| in6
   17	| VSEN8			| 17h		| in7
   22	| VTT			| 1Bh		| in11
   18	| 3VDD			| 1Ch		| in12
   19	| 3VSB			| 1Dh		| in13
   20	| VBAT			| 1Eh		| in14
   48	| VSEN12/TR5		| 1Fh		| in15/temp5
    1	| VSEN13/TR5		| 20h		| in16/temp6
  2/  3	| VDSEN14/TR1/TD1	| 21h		| in17/temp1
  4/  5	| VDSEN15/TR2/TD2	| 22h		| in18/temp2
  6/  7	| VDSEN16/TR3/TD3	| 23h		| in19/temp3
  8/  9	| VDSEN17/TR4/TD4	| 24h		| in20/temp4
   32	| FANIN1		| 2Eh		| fan1
   34	| FANIN2		| 2Fh		| fan2
   36	| FANIN3		| 30h		| fan3
   37	| FANIN4		| 31h		| fan4
   38	| FANIN5		| 32h		| fan5
   39	| FANIN6		| 33h		| fan6
   40	| FANIN7		| 34h		| fan7
   41	| FANIN8		| 35h		| fan8
   43	| FANIN9		| 36h		| fan9
   44	| FANIN10		| 37h		| fan10
   45	| FANIN11		| 38h		| fan11
   46	| FANIN12		| 39h		| fan12
   24	| FANIN13		| 3Ah		| fan13
   28	| FANIN14		| 3Bh		| fan14
   33	| FANCTL1		| 10h (bank 2)	| pwm1
   35	| FANCTL2		| 11h (bank 2)	| pwm2
   23	| PECI (DTS1)		| 26h		| temp7
   23	| PECI (DTS2)		| 27h		| temp8
   23	| PECI (DTS3)		| 28h		| temp9
   23	| PECI (DTS4)		| 29h		| temp10
   23	| PECI (DTS5)		| 2Ah		| temp11
   23	| PECI (DTS6)		| 2Bh		| temp12
   23	| PECI (DTS7)		| 2Ch		| temp13
   23	| PECI (DTS8)		| 2Dh		| temp14
   21	| CASEOPEN#		| 46h		| intrusion0
Loading