diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-13 17:39:25 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-13 17:39:25 -0400 |
| commit | 4b5ca74113a1e02f4a7ea80aea9b977705f3d961 (patch) | |
| tree | 2c367930ad3dae93ef612d2cd8c772a436d648d4 | |
| parent | cb0fc55dea8b498c286976bc4833481f6078c061 (diff) | |
| parent | f354169e0f7dcd1b2c82cf1f98f6d976e85f74c3 (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.txt | 19 | ||||
| -rw-r--r-- | Documentation/hwmon/it87 | 48 | ||||
| -rw-r--r-- | Documentation/hwmon/jc42 | 8 | ||||
| -rw-r--r-- | Documentation/hwmon/nct7904 | 60 | ||||
| -rw-r--r-- | drivers/hwmon/Kconfig | 18 | ||||
| -rw-r--r-- | drivers/hwmon/Makefile | 1 | ||||
| -rw-r--r-- | drivers/hwmon/coretemp.c | 11 | ||||
| -rw-r--r-- | drivers/hwmon/gpio-fan.c | 130 | ||||
| -rw-r--r-- | drivers/hwmon/ibmpex.c | 19 | ||||
| -rw-r--r-- | drivers/hwmon/ibmpowernv.c | 267 | ||||
| -rw-r--r-- | drivers/hwmon/it87.c | 298 | ||||
| -rw-r--r-- | drivers/hwmon/jc42.c | 16 | ||||
| -rw-r--r-- | drivers/hwmon/nct6775.c | 76 | ||||
| -rw-r--r-- | drivers/hwmon/nct7904.c | 593 | ||||
| -rw-r--r-- | drivers/hwmon/pwm-fan.c | 184 | ||||
| -rw-r--r-- | drivers/hwmon/vexpress.c | 2 |
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 | ||
| 3 | Required properties: | 3 | Required properties: |
| 4 | - compatible : "gpio-fan" | 4 | - compatible : "gpio-fan" |
| 5 | |||
| 6 | Optional 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 | |||
| 11 | Optional 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 | |||
| 18 | Note: At least one the "gpios" or "alarm-gpios" properties must be set. | ||
| 14 | 19 | ||
| 15 | Examples: | 20 | Examples: |
| 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. | |||
| 94 | Description | 110 | Description |
| 95 | ----------- | 111 | ----------- |
| 96 | 112 | ||
| 97 | This driver implements support for the IT8603E, IT8623E, IT8705F, IT8712F, | 113 | This driver implements support for the IT8603E, IT8620E, IT8623E, IT8705F, |
| 98 | IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, IT8771E, | 114 | IT8712F, IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8758E, |
| 99 | IT8772E, IT8782F, IT8783E/F, and SiS950 chips. | 115 | IT8771E, IT8772E, IT8781F, IT8782F, IT8783E/F, IT8786E, IT8790E, and SiS950 |
| 116 | chips. | ||
| 100 | 117 | ||
| 101 | These chips are 'Super I/O chips', supporting floppy disks, infrared ports, | 118 | These chips are 'Super I/O chips', supporting floppy disks, infrared ports, |
| 102 | joysticks and other miscellaneous stuff. For hardware monitoring, they | 119 | joysticks and other miscellaneous stuff. For hardware monitoring, they |
| @@ -120,11 +137,11 @@ The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E and later IT8712F revisions | |||
| 120 | have support for 2 additional fans. The additional fans are supported by the | 137 | have support for 2 additional fans. The additional fans are supported by the |
| 121 | driver. | 138 | driver. |
| 122 | 139 | ||
| 123 | The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E, IT8782F, IT8783E/F, and late | 140 | The IT8716F, IT8718F, IT8720F, IT8721F/IT8758E, IT8781F, IT8782F, IT8783E/F, |
| 124 | IT8712F and IT8705F also have optional 16-bit tachometer counters for fans 1 to | 141 | and late IT8712F and IT8705F also have optional 16-bit tachometer counters |
| 125 | 3. This is better (no more fan clock divider mess) but not compatible with the | 142 | for fans 1 to 3. This is better (no more fan clock divider mess) but not |
| 126 | older chips and revisions. The 16-bit tachometer mode is enabled by the driver | 143 | compatible with the older chips and revisions. The 16-bit tachometer mode |
| 127 | when one of the above chips is detected. | 144 | is enabled by the driver when one of the above chips is detected. |
| 128 | 145 | ||
| 129 | The IT8726F is just bit enhanced IT8716F with additional hardware | 146 | The IT8726F is just bit enhanced IT8716F with additional hardware |
| 130 | for AMD power sequencing. Therefore the chip will appear as IT8716F | 147 | for 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, | |||
| 134 | until a datasheet becomes available (hopefully.) | 151 | until a datasheet becomes available (hopefully.) |
| 135 | 152 | ||
| 136 | The IT8603E/IT8623E is a custom design, hardware monitoring part is similar to | 153 | The IT8603E/IT8623E is a custom design, hardware monitoring part is similar to |
| 137 | IT8728F. It only supports 16-bit fan mode, the full speed mode of the | 154 | IT8728F. It only supports 3 fans, 16-bit fan mode, and the full speed mode |
| 138 | fan is not supported (value 0 of pwmX_enable). | 155 | of the fan is not supported (value 0 of pwmX_enable). |
| 156 | |||
| 157 | The IT8620E is another custom design, hardware monitoring part is similar to | ||
| 158 | IT8728F. It only supports 16-bit fan mode. | ||
| 159 | |||
| 160 | The IT8790E supports up to 3 fans. 16-bit fan mode is always enabled. | ||
| 139 | 161 | ||
| 140 | Temperatures are measured in degrees Celsius. An alarm is triggered once | 162 | Temperatures are measured in degrees Celsius. An alarm is triggered once |
| 141 | when the Overtemperature Shutdown limit is crossed. | 163 | when the Overtemperature Shutdown limit is crossed. |
| @@ -156,10 +178,10 @@ inputs can measure voltages between 0 and 4.08 volts, with a resolution of | |||
| 156 | 0.016 volt (except IT8603E, IT8721F/IT8758E and IT8728F: 0.012 volt.) The | 178 | 0.016 volt (except IT8603E, IT8721F/IT8758E and IT8728F: 0.012 volt.) The |
| 157 | battery voltage in8 does not have limit registers. | 179 | battery voltage in8 does not have limit registers. |
| 158 | 180 | ||
| 159 | On the IT8603E, IT8721F/IT8758E, IT8782F, and IT8783E/F, some voltage inputs | 181 | On the IT8603E, IT8721F/IT8758E, IT8781F, IT8782F, and IT8783E/F, some |
| 160 | are internal and scaled inside the chip: | 182 | voltage 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) |
| 165 | The driver handles this transparently so user-space doesn't have to care. | 187 | The 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: | ||
