aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean Delvare <khali@linux-fr.org>2012-01-16 16:51:46 -0500
committerJean Delvare <khali@endymion.delvare>2012-01-16 16:51:46 -0500
commit409c0b5bdf7d80e61380ce6b226b98405576d7cc (patch)
treec9c3f4d9ad0d74203599db8d77768a2676b22812
parentf496b2d4f181fa5fcdf24016b11caaa33eb12477 (diff)
hwmon: (lm63) LM64 has a dedicated pin for tachometer
On the LM64, the tachometer function has a dedicated pin and fan speed monitoring is always enabled. Signed-off-by: Jean Delvare <khali@linux-fr.org> Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
-rw-r--r--Documentation/hwmon/lm635
-rw-r--r--drivers/hwmon/lm63.c10
2 files changed, 11 insertions, 4 deletions
diff --git a/Documentation/hwmon/lm63 b/Documentation/hwmon/lm63
index 8202825cd09..df3e1ae42f3 100644
--- a/Documentation/hwmon/lm63
+++ b/Documentation/hwmon/lm63
@@ -54,7 +54,10 @@ value for measuring the speed of the fan. It can measure fan speeds down to
54Note that the pin used for fan monitoring is shared with an alert out 54Note that the pin used for fan monitoring is shared with an alert out
55function. Depending on how the board designer wanted to use the chip, fan 55function. Depending on how the board designer wanted to use the chip, fan
56speed monitoring will or will not be possible. The proper chip configuration 56speed monitoring will or will not be possible. The proper chip configuration
57is left to the BIOS, and the driver will blindly trust it. 57is left to the BIOS, and the driver will blindly trust it. Only the original
58LM63 suffers from this limitation, the LM64 and LM96163 have separate pins
59for fan monitoring and alert out. On the LM64, monitoring is always enabled;
60on the LM96163 it can be disabled.
58 61
59A PWM output can be used to control the speed of the fan. The LM63 has two 62A PWM output can be used to control the speed of the fan. The LM63 has two
60PWM modes: manual and automatic. Automatic mode is not fully implemented yet 63PWM modes: manual and automatic. Automatic mode is not fully implemented yet
diff --git a/drivers/hwmon/lm63.c b/drivers/hwmon/lm63.c
index 75e3a15c2f6..0c4fff0a00a 100644
--- a/drivers/hwmon/lm63.c
+++ b/drivers/hwmon/lm63.c
@@ -796,6 +796,9 @@ static void lm63_init_client(struct i2c_client *client)
796 i2c_smbus_write_byte_data(client, LM63_REG_CONFIG1, 796 i2c_smbus_write_byte_data(client, LM63_REG_CONFIG1,
797 data->config); 797 data->config);
798 } 798 }
799 /* Tachometer is always enabled on LM64 */
800 if (data->kind == lm64)
801 data->config |= 0x04;
799 802
800 /* We may need pwm1_freq before ever updating the client data */ 803 /* We may need pwm1_freq before ever updating the client data */
801 data->pwm1_freq = i2c_smbus_read_byte_data(client, LM63_REG_PWM_FREQ); 804 data->pwm1_freq = i2c_smbus_read_byte_data(client, LM63_REG_PWM_FREQ);
@@ -836,9 +839,10 @@ static void lm63_init_client(struct i2c_client *client)
836 } 839 }
837 840
838 /* Show some debug info about the LM63 configuration */ 841 /* Show some debug info about the LM63 configuration */
839 dev_dbg(&client->dev, "Alert/tach pin configured for %s\n", 842 if (data->kind == lm63)
840 (data->config & 0x04) ? "tachometer input" : 843 dev_dbg(&client->dev, "Alert/tach pin configured for %s\n",
841 "alert output"); 844 (data->config & 0x04) ? "tachometer input" :
845 "alert output");
842 dev_dbg(&client->dev, "PWM clock %s kHz, output frequency %u Hz\n", 846 dev_dbg(&client->dev, "PWM clock %s kHz, output frequency %u Hz\n",
843 (data->config_fan & 0x08) ? "1.4" : "360", 847 (data->config_fan & 0x08) ? "1.4" : "360",
844 ((data->config_fan & 0x08) ? 700 : 180000) / data->pwm1_freq); 848 ((data->config_fan & 0x08) ? 700 : 180000) / data->pwm1_freq);