From: Jean Delvare <khali@linux-fr.org>
To: "Darrick J. Wong" <djwong@us.ibm.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
linux-kernel <linux-scsi@vger.kernel.org>,
lm-sensors <lm-sensors@lm-sensors.org>
Subject: Re: [lm-sensors] [PATCH 05/12] adt7470: Add documentation
Date: Wed, 8 Oct 2008 11:46:47 +0200 [thread overview]
Message-ID: <20081008114647.5508b4ba@hyperion.delvare> (raw)
In-Reply-To: <20081007011849.12701.53492.stgit@elm3a70.beaverton.ibm.com>
Hi Darrick,
On Mon, 06 Oct 2008 18:18:49 -0700, Darrick J. Wong wrote:
>
> Add at least the bare minimum of documentation for this chip.
>
> Signed-off-by: Darrick J. Wong <djwong@us.ibm.com>
> ---
>
> Documentation/hwmon/adt7470 | 74 +++++++++++++++++++++++++++++++++++++++++++
> 1 files changed, 74 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/hwmon/adt7470 b/Documentation/hwmon/adt7470
> new file mode 100644
> index 0000000..10f398b
> --- /dev/null
> +++ b/Documentation/hwmon/adt7470
> @@ -0,0 +1,74 @@
> +Kernel driver adt7470
> +======================
> +
> +Supported chips:
> + * Analog Devices ADT7470
> + Prefix: 'adt7470'
> + Addresses scanned: I2C 0x2C, 0x2E, 0x2F
> + Datasheet: Publicly available at the Analog Devices website
> +
> +Author: Darrick J. Wong
> +
> +Description
> +-----------
> +
> +This driver implements support for the Analog Devices ADT7470 chip family.
Family? The driver only supports one chip.
> +
> +The ADT7470 uses the 2-wire interface compatible with the SMBUS 2.0
SMBus
> +specification. Using an analog to digital converter it measures ten (10)
> +temperatures. It has four (4) 16-bit counters for measuring fan speed. There
up to ten external temperatures
> +are four (4) PWM outputs that can be used to control fan speed.
> +
> +A sophisticated control system for the PWM outputs is designed into the ADT7470
> +that allows fan speed to be adjusted automatically based on any of the three
> +temperature sensors. Each PWM output is individually adjustable and
ten temperature sensors
> +programmable. Once configured, the ADT7470 will adjust the PWM outputs in
> +response to the measured temperatures without further host intervention. This
> +feature can also be disabled for manual control of the PWM's.
> +
> +Each of the measured inputs (temperature, fan speed) has corresponding high/low
> +limit values. The ADT7470 will signal an ALARM if any measured value exceeds
> +either limit.
> +
> +The ADT7470 DOES NOT sample all inputs continuously. A single pin on the
> +ADT7470 is connected to a multitude of thermal diodes, but the chip must be
> +instructed explicitly to read the multitude of diodes. If you want to use
> +automatic fan control mode, you must manually read any of the temperature
> +sensors or the fan control algorithm will not run. The chip WILL NOT DO THIS
> +AUTOMATICALLY; this must be done from userspace. This may be a bug in the chip
> +design, given that many other AD chips take care of this. The driver will not
This is very weird. This pretty much voids the point of an automatic
fan control mode. If you have to read registers continuously for it to
work, you can as well control it completely in software.
> +read the registers more often than once every other second. Further,
Actually every 5 seconds according to the driver code.
> +configuration data is only read once per minute.
> +
> +Special Features
> +----------------
> +
> +The ADT7470 have a 8-bit ADC and can therefore measure temperatures
> +with 1 degC resolution.
This "therefore" is incorrect. You can't deduce the physical resolution
from the ADC resolution, you need to additionally know the LSB weight
for that.
> +
> +The Analog Devices datasheet is very detailed and describes a procedure for
> +determining an optimal configuration for the automatic PWM control.
> +
> +Configuration Notes
> +-------------------
> +
> +Besides standard interfaces driver adds the following:
> +
> +* PWM Control
> +
> +* pwm#_auto_point1_pwm and temp#_auto_point1_temp and
> +* pwm#_auto_point2_pwm and temp#_auto_point2_temp -
> +
> +point1: Set the pwm speed at a lower temperature bound.
> +point2: Set the pwm speed at a higher temperature bound.
> +
> +The ADT7470 will scale the pwm between the lower and higher pwm speed when
> +the temperature is between the two temperature boundaries. PWM values range
> +from 0 (off) to 255 (full speed). Fan speed will be set to maximum when the
> +temperature sensor associated with the PWM control exceeds temp#_max.
> +
> +Notes
> +-----
> +
> +As stated above, the temperature inputs must be read periodically from
> +userspace in order for the automatic pwm algorithm to run.
Please send an updated patch.
Out of curiosity: isn't it possible to detect how many thermal sensors
are actually connected, and only create sysfs files for these? Creating
files for sensors which do not exist is rather confusing.
--
Jean Delvare
next prev parent reply other threads:[~2008-10-08 9:47 UTC|newest]
Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-07 1:18 [PATCH 00/12] Various hwmon patches Darrick J. Wong
2008-10-07 1:18 ` [PATCH 01/12] hwmon: Define sysfs interface for energy consumption register Darrick J. Wong
2008-10-08 8:09 ` [lm-sensors] " Jean Delvare
2008-10-07 1:18 ` [PATCH 02/12] adt7462: New hwmon driver Darrick J. Wong
2008-10-07 1:18 ` [PATCH 03/12] adt7473: Fix some bogosity in documentation file Darrick J. Wong
2008-10-08 9:08 ` [lm-sensors] " Jean Delvare
2008-10-07 1:18 ` [PATCH 04/12] adt7470: Fix pwm*-auto-point* to be temp*-auto-point* Darrick J. Wong
2008-10-08 9:25 ` [lm-sensors] " Jean Delvare
2008-10-07 1:18 ` [PATCH 05/12] adt7470: Add documentation Darrick J. Wong
2008-10-08 9:46 ` Jean Delvare [this message]
2008-10-07 1:18 ` [PATCH 06/12] adt7470: Load automatically on IntelliStation Z30 via DMI Darrick J. Wong
2008-10-08 11:08 ` [lm-sensors] " Jean Delvare
2008-10-07 1:18 ` [PATCH 07/12] ics932s401: New driver Darrick J. Wong
2008-10-08 11:09 ` [lm-sensors] " Jean Delvare
2008-10-07 1:19 ` [PATCH 08/12] i5k_amb: Load automatically on all 5000/5400 chipsets Darrick J. Wong
2008-10-08 11:13 ` [lm-sensors] " Jean Delvare
2008-10-07 1:19 ` [PATCH 09/12] ibmpex: Automatically load on IBM systems via DMI Darrick J. Wong
2008-10-08 12:01 ` [lm-sensors] " Jean Delvare
2008-10-08 14:33 ` Christian Krafft
2008-10-07 1:19 ` [PATCH 10/12] ibmaem: " Darrick J. Wong
2008-10-07 1:19 ` [PATCH 11/12] adt7470: Check input range when sysfs files are written Darrick J. Wong
2008-10-07 1:19 ` [PATCH 12/12] adt7473: Check inputs from sysfs writes Darrick J. Wong
2008-10-07 1:27 ` [PATCH 00/12] Various hwmon patches Darrick J. Wong
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20081008114647.5508b4ba@hyperion.delvare \
--to=khali@linux-fr.org \
--cc=akpm@linux-foundation.org \
--cc=djwong@us.ibm.com \
--cc=linux-scsi@vger.kernel.org \
--cc=lm-sensors@lm-sensors.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox