aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-04-13 17:39:25 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2015-04-13 17:39:25 -0400
commit4b5ca74113a1e02f4a7ea80aea9b977705f3d961 (patch)
tree2c367930ad3dae93ef612d2cd8c772a436d648d4
parentcb0fc55dea8b498c286976bc4833481f6078c061 (diff)
parentf354169e0f7dcd1b2c82cf1f98f6d976e85f74c3 (diff)
Merge tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
Pull hwmon updates from Guenter Roeck: "Support for new chips: - add support for IT8620E, IT8781F, IT8786E, and IT8790E to it87 driver - add driver for NCT7904 Functional improvements: - support for new devicetree structure in ibmpowernv driver - register pwm-fan and gpio-fan drivers as thermal cooling devices - various minor cleanup and improvements to it87, nct6775, jc42, ibmpex, and coretemp drivers" * tag 'hwmon-for-linus-v4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (43 commits) hwmon: (pwm-fan) Update the duty cycle inorder to control the pwm-fan hwmon: (it87) Use feature macros on sio_data hwmon: (ibmpowernv) Fix build error seen for some configurations hwmon: (gpio-fan) Move the thermal registration after registration is complete hwmon: (ibmpowernv) pretty print labels hwmon: (ibmpowernv) add a label attribute hwmon: (ibmpowernv) add support for the new device tree hwmon: (ibmpowernv) add a helper routine create_hwmon_attr hwmon: (it87) Add support for 6th fan of IT8620E hwmon: (it87) Add support for IT8620E hwmon: (it87) Add support for IT8790E hwmon: (it87) Introduce feature flag to reflect internal in7 sensor hwmon: (it87) Introduce configuration field for chip suffix hwmon: (it87) Fix PWM frequency display for chips with newer PWM control hwmon: (it87) Fix pwm sysfs attribute removal hwmon: (ibmpowernv) do not use the OPAL index for hwmon attribute names hwmon: (ibmpowernv) change create_hwmon_attr_name() prototype hwmon: (ibmpowernv) add a convert_opal_attr_name() routine hwmon: (ibmpowernv) add a get_sensor_type() routine hwmon: (ibmpowernv) replace AMBIENT_TEMP by TEMP ...
-rw-r--r--Documentation/devicetree/bindings/gpio/gpio-fan.txt19
-rw-r--r--Documentation/hwmon/it8748
-rw-r--r--Documentation/hwmon/jc428
-rw-r--r--Documentation/hwmon/nct790460
-rw-r--r--drivers/hwmon/Kconfig18
-rw-r--r--drivers/hwmon/Makefile1
-rw-r--r--drivers/hwmon/coretemp.c11
-rw-r--r--drivers/hwmon/gpio-fan.c130
-rw-r--r--drivers/hwmon/ibmpex.c19
-rw-r--r--drivers/hwmon/ibmpowernv.c267
-rw-r--r--drivers/hwmon/it87.c298
-rw-r--r--drivers/hwmon/jc42.c16
-rw-r--r--drivers/hwmon/nct6775.c76
-rw-r--r--drivers/hwmon/nct7904.c593
-rw-r--r--drivers/hwmon/pwm-fan.c184
-rw-r--r--drivers/hwmon/vexpress.c2
16 files changed, 1489 insertions, 261 deletions
diff --git a/Documentation/devicetree/bindings/gpio/gpio-fan.txt b/Documentation/devicetree/bindings/gpio/gpio-fan.txt
index 2dd457a3469a..439a7430fc68 100644
--- a/Documentation/devicetree/bindings/gpio/gpio-fan.txt
+++ b/Documentation/devicetree/bindings/gpio/gpio-fan.txt
@@ -2,15 +2,20 @@ Bindings for fan connected to GPIO lines
2 2
3Required properties: 3Required properties:
4- compatible : "gpio-fan" 4- compatible : "gpio-fan"
5
6Optional properties:
5- gpios: Specifies the pins that map to bits in the control value, 7- gpios: Specifies the pins that map to bits in the control value,
6 ordered MSB-->LSB. 8 ordered MSB-->LSB.
7- gpio-fan,speed-map: A mapping of possible fan RPM speeds and the 9- gpio-fan,speed-map: A mapping of possible fan RPM speeds and the
8 control value that should be set to achieve them. This array 10 control value that should be set to achieve them. This array
9 must have the RPM values in ascending order. 11 must have the RPM values in ascending order.
10
11Optional properties:
12- alarm-gpios: This pin going active indicates something is wrong with 12- alarm-gpios: This pin going active indicates something is wrong with
13 the fan, and a udev event will be fired. 13 the fan, and a udev event will be fired.
14- cooling-cells: If used as a cooling device, must be <2>
15 Also see: Documentation/devicetree/bindings/thermal/thermal.txt
16 min and max states are derived from the speed-map of the fan.
17
18Note: At least one the "gpios" or "alarm-gpios" properties must be set.
14 19
15Examples: 20Examples:
16 21
@@ -23,3 +28,13 @@ Examples:
23 6000 2>; 28 6000 2>;
24 alarm-gpios = <&gpio1 15 1>; 29 alarm-gpios = <&gpio1 15 1>;
25 }; 30 };
31 gpio_fan_cool: gpio_fan {
32 compatible = "gpio-fan";
33 gpios = <&gpio2 14 1
34 &gpio2 13 1>;
35 gpio-fan,speed-map = <0 0>,
36 <3000 1>,
37 <6000 2>;
38 alarm-gpios = <&gpio2 15 1>;
39 #cooling-cells = <2>; /* min followed by max */
40 };
diff --git a/Documentation/hwmon/it87 b/Documentation/hwmon/it87
index fe80e9adebfa..e87294878334 100644
--- a/Documentation/hwmon/it87
+++ b/Documentation/hwmon/it87
@@ -6,6 +6,10 @@ Supported chips:
6 Prefix: 'it8603' 6 Prefix: 'it8603'
7 Addresses scanned: from Super I/O config space (8 I/O ports) 7 Addresses scanned: from Super I/O config space (8 I/O ports)
8 Datasheet: Not publicly available 8 Datasheet: Not publicly available
9 * IT8620E
10 Prefix: 'it8620'
11 Addresses scanned: from Super I/O config space (8 I/O ports)
12 Datasheet: Not publicly available
9 * IT8705F 13 * IT8705F
10 Prefix: 'it87' 14 Prefix: 'it87'
11 Addresses scanned: from Super I/O config space (8 I/O ports) 15 Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -42,6 +46,10 @@ Supported chips:
42 Prefix: 'it8772' 46 Prefix: 'it8772'
43 Addresses scanned: from Super I/O config space (8 I/O ports) 47 Addresses scanned: from Super I/O config space (8 I/O ports)
44 Datasheet: Not publicly available 48 Datasheet: Not publicly available
49 * IT8781F
50 Prefix: 'it8781'
51 Addresses scanned: from Super I/O config space (8 I/O ports)
52 Datasheet: Not publicly available
45 * IT8782F 53 * IT8782F
46 Prefix: 'it8782' 54 Prefix: 'it8782'
47 Addresses scanned: from Super I/O config space (8 I/O ports) 55 Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -50,6 +58,14 @@ Supported chips:
50 Prefix: 'it8783' 58 Prefix: 'it8783'
51 Addresses scanned: from Super I/O config space (8 I/O ports) 59 Addresses scanned: from Super I/O config space (8 I/O ports)
52 Datasheet: Not publicly available 60 Datasheet: Not publicly available
61 * IT8786E
62 Prefix: 'it8786'
63 Addresses scanned: from Super I/O config space (8 I/O ports)
64 Datasheet: Not publicly available
65 * IT8790E
66 Prefix: 'it8790'
67 Addresses scanned: from Super I/O config space (8 I/O ports)
68 Datasheet: Not publicly available
53 * SiS950 [clone of IT8705F] 69 * SiS950 [clone of IT8705F]
54 Prefix: 'it87' 70 Prefix: 'it87'
55 Addresses scanned: from Super I/O config space (8 I/O ports) 71 Addresses scanned: from Super I/O config space (8 I/O ports)
@@ -94,9 +110,10 @@ motherboard models.
94Description 110Description
95----------- 111-----------
96 112
97This driver implements support for the IT8603E, IT8623E, IT8705F, IT8712F, 113This driver implements support for the IT8603E, IT8620E, IT8623E, IT8705F,
98IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, IT8771E, 114IT8712F, IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E,
99IT8772E, IT8782F, IT8783E/F, and SiS950 chips. 115IT8771E, IT8772E, IT8781F, IT8782F, IT8783E/F, IT8786E, IT8790E, and SiS950
116chips.
100 117
101These chips are 'Super I/O chips', supporting floppy disks, infrared ports, 118These chips are 'Super I/O chips', supporting floppy disks, infrared ports,
102joysticks and other miscellaneous stuff. For hardware monitoring, they 119joysticks and other miscellaneous stuff. For hardware monitoring, they
@@ -120,11 +137,11 @@ The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E and later IT8712F revisions
120have support for 2 additional fans. The additional fans are supported by the 137have support for 2 additional fans. The additional fans are supported by the
121driver. 138driver.
122 139
123The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E, IT8782F, IT8783E/F, and late 140The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E, IT8781F, IT8782F, IT8783E/F,
124IT8712F and IT8705F also have optional 16-bit tachometer counters for fans 1 to 141and late IT8712F and IT8705F also have optional 16-bit tachometer counters
1253. This is better (no more fan clock divider mess) but not compatible with the 142for fans 1 to 3. This is better (no more fan clock divider mess) but not
126older chips and revisions. The 16-bit tachometer mode is enabled by the driver 143compatible with the older chips and revisions. The 16-bit tachometer mode
127when one of the above chips is detected. 144is enabled by the driver when one of the above chips is detected.
128 145
129The IT8726F is just bit enhanced IT8716F with additional hardware 146The IT8726F is just bit enhanced IT8716F with additional hardware
130for AMD power sequencing. Therefore the chip will appear as IT8716F 147for AMD power sequencing. Therefore the chip will appear as IT8716F
@@ -134,8 +151,13 @@ The IT8728F, IT8771E, and IT8772E are considered compatible with the IT8721F,
134until a datasheet becomes available (hopefully.) 151until a datasheet becomes available (hopefully.)
135 152
136The IT8603E/IT8623E is a custom design, hardware monitoring part is similar to 153The IT8603E/IT8623E is a custom design, hardware monitoring part is similar to
137IT8728F. It only supports 16-bit fan mode, the full speed mode of the 154IT8728F. It only supports 3 fans, 16-bit fan mode, and the full speed mode
138fan is not supported (value 0 of pwmX_enable). 155of the fan is not supported (value 0 of pwmX_enable).
156
157The IT8620E is another custom design, hardware monitoring part is similar to
158IT8728F. It only supports 16-bit fan mode.
159
160The IT8790E supports up to 3 fans. 16-bit fan mode is always enabled.
139 161
140Temperatures are measured in degrees Celsius. An alarm is triggered once 162Temperatures are measured in degrees Celsius. An alarm is triggered once
141when the Overtemperature Shutdown limit is crossed. 163when the Overtemperature Shutdown limit is crossed.
@@ -156,10 +178,10 @@ inputs can measure voltages between 0 and 4.08 volts, with a resolution of
1560.016 volt (except IT8603E, IT8721F/IT8758E and IT8728F: 0.012 volt.) The 1780.016 volt (except IT8603E, IT8721F/IT8758E and IT8728F: 0.012 volt.) The
157battery voltage in8 does not have limit registers. 179battery voltage in8 does not have limit registers.
158 180
159On the IT8603E, IT8721F/IT8758E, IT8782F, and IT8783E/F, some voltage inputs 181On the IT8603E, IT8721F/IT8758E, IT8781F, IT8782F, and IT8783E/F, some
160are internal and scaled inside the chip: 182voltage inputs are internal and scaled inside the chip:
161* in3 (optional) 183* in3 (optional)
162* in7 (optional for IT8782F and IT8783E/F) 184* in7 (optional for IT8781F, IT8782F, and IT8783E/F)
163* in8 (always) 185* in8 (always)
164* in9 (relevant for IT8603E only) 186* in9 (relevant for IT8603E only)
165The driver handles this transparently so user-space doesn't have to care. 187The driver handles this transparently so user-space doesn't have to care.
diff --git a/Documentation/hwmon/jc42 b/Documentation/hwmon/jc42
index f3893f7440de..f7f1830a2566 100644
--- a/Documentation/hwmon/jc42
+++ b/Documentation/hwmon/jc42
@@ -11,12 +11,10 @@ Supported chips:
11 http://www.atmel.com/Images/doc8711.pdf 11 http://www.atmel.com/Images/doc8711.pdf
12 http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf 12 http://www.atmel.com/Images/Atmel-8852-SEEPROM-AT30TSE002A-Datasheet.pdf
13 http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf 13 http://www.atmel.com/Images/Atmel-8868-DTS-AT30TSE004A-Datasheet.pdf
14 * IDT TSE2002B3, TSE2002GB2, TS3000B3, TS3000GB2 14 * IDT TSE2002B3, TSE2002GB2, TSE2004GB2, TS3000B3, TS3000GB0, TS3000GB2,
15 TS3001GB2
15 Datasheets: