All of lore.kernel.org
 help / color / mirror / Atom feed
* Units for measurements and page 1 temperature for LTM4676A
@ 2018-05-16 21:39 Rail Shafigulin
  2018-05-17  0:34 ` Guenter Roeck
  0 siblings, 1 reply; 8+ messages in thread
From: Rail Shafigulin @ 2018-05-16 21:39 UTC (permalink / raw)
  To: linux-hwmon; +Cc: linux

[-- Attachment #1: Type: text/plain, Size: 8881 bytes --]

My team is working on a custom board. We have LTM4676A on it. I'm trying to
understand what are the units of measurement for a given register. For
example:

root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# ls -l
total 0
lrwxrwxrwx 1 root root    0 Apr 12 07:51 device -> ../../../1-0044
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_crit
-r--r--r-- 1 root root 4096 Apr 12 07:51 in1_crit_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_highest
-r--r--r-- 1 root root 4096 Apr 12 07:51 in1_input
-r--r--r-- 1 root root 4096 Apr 12 07:51 in1_label
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_lowest
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_min
-r--r--r-- 1 root root 4096 Apr 12 07:51 in1_min_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_reset_history
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_crit
-r--r--r-- 1 root root 4096 Apr 12 07:51 in2_crit_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_highest
-r--r--r-- 1 root root 4096 Apr 12 07:51 in2_input
-r--r--r-- 1 root root 4096 Apr 12 07:51 in2_label
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit
-r--r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_max
-r--r--r-- 1 root root 4096 Apr 12 07:51 in2_max_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_min
-r--r--r-- 1 root root 4096 Apr 12 07:51 in2_min_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_reset_history
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_crit
-r--r--r-- 1 root root 4096 Apr 12 07:51 in3_crit_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_highest
-r--r--r-- 1 root root 4096 Apr 12 07:51 in3_input
-r--r--r-- 1 root root 4096 Apr 12 07:51 in3_label
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit
-r--r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_max
-r--r--r-- 1 root root 4096 Apr 12 07:51 in3_max_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_min
-r--r--r-- 1 root root 4096 Apr 12 07:51 in3_min_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_reset_history
-r--r--r-- 1 root root 4096 Apr 12 07:51 in4_input
-r--r--r-- 1 root root 4096 Apr 12 07:51 in4_label
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in4_reset_history
-r--r--r-- 1 root root 4096 Apr 12 07:51 in5_input
-r--r--r-- 1 root root 4096 Apr 12 07:51 in5_label
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in5_reset_history
-r--r--r-- 1 root root 4096 Apr 12 07:51 in6_input
-r--r--r-- 1 root root 4096 Apr 12 07:51 in6_label
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in6_reset_history
-r--r--r-- 1 root root 4096 Apr 12 07:51 in7_input
-r--r--r-- 1 root root 4096 Apr 12 07:51 in7_label
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in7_reset_history
-r--r--r-- 1 root root 4096 Apr 12 07:51 in8_input
-r--r--r-- 1 root root 4096 Apr 12 07:51 in8_label
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in8_reset_history
-r--r--r-- 1 root root 4096 Apr 12 07:51 in9_input
-r--r--r-- 1 root root 4096 Apr 12 07:51 in9_label
-rw-r--r-- 1 root root 4096 Apr 12 07:51 in9_reset_history
-r--r--r-- 1 root root 4096 Apr 12 07:51 name
drwxr-xr-x 2 root root    0 Apr 12 07:51 power
lrwxrwxrwx 1 root root    0 Apr 12 07:51 subsystem ->
../../../../../../../../class/hwmon
-rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit
-r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit_alarm
-r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_input
-rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit
-r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_max
-r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_max_alarm
-rw-r--r-- 1 root root 4096 Apr 12 07:49 uevent

root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat name
ltm4676

root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
in1_label
vin

root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
in1_input
11953

root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
temp1_input
40937


What are the units of in1_input and temp1_input? Are those milli-volts
(10^-3 V) and milli-celcius (10^-3 C)? Or these are raw values and I need
to do a conversion?

LTM4676A and LTM4676 have 2 pages for reporting READ_TEMPERATURE_1
register. How do I change a page value? The LTM4676 driver also doesn't
seem to be aware that there should be a READ_TEMPERATURE_2 register. At
least I don't see it in sysfs.

I tried using a generic driver, pmbus, and here is what I got

root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0041/hwmon/hwmon0# ls -l
total 0
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_input
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_label
-rw-r--r-- 1 root root 4096 Apr 11 03:04 curr1_max
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_max_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit_alarm
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_input
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_label
-rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_max
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_max_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit_alarm
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_input
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_label
-rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_max
-r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_max_alarm
lrwxrwxrwx 1 root root    0 Apr 11 03:04 device -> ../../../1-0041
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_crit
-r--r--r-- 1 root root 4096 Apr 11 03:04 in1_crit_alarm
-r--r--r-- 1 root root 4096 Apr 11 03:04 in1_input
-r--r--r-- 1 root root 4096 Apr 11 03:04 in1_label
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_min
-r--r--r-- 1 root root 4096 Apr 11 03:04 in1_min_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_crit
-r--r--r-- 1 root root 4096 Apr 11 03:04 in2_crit_alarm
-r--r--r-- 1 root root 4096 Apr 11 03:04 in2_input
-r--r--r-- 1 root root 4096 Apr 11 03:04 in2_label
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit
-r--r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_max
-r--r--r-- 1 root root 4096 Apr 11 03:04 in2_max_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_min
-r--r--r-- 1 root root 4096 Apr 11 03:04 in2_min_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_crit
-r--r--r-- 1 root root 4096 Apr 11 03:04 in3_crit_alarm
-r--r--r-- 1 root root 4096 Apr 11 03:04 in3_input
-r--r--r-- 1 root root 4096 Apr 11 03:04 in3_label
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit
-r--r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_max
-r--r--r-- 1 root root 4096 Apr 11 03:04 in3_max_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_min
-r--r--r-- 1 root root 4096 Apr 11 03:04 in3_min_alarm
-r--r--r-- 1 root root 4096 Apr 11 03:04 name
drwxr-xr-x 2 root root    0 Apr 11 03:04 power
-r--r--r-- 1 root root 4096 Apr 11 03:04 power1_input
-r--r--r-- 1 root root 4096 Apr 11 03:04 power1_label
-r--r--r-- 1 root root 4096 Apr 11 03:04 power2_input
-r--r--r-- 1 root root 4096 Apr 11 03:04 power2_label
lrwxrwxrwx 1 root root    0 Apr 11 03:04 subsystem ->
../../../../../../../../class/hwmon
-rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit
-r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit_alarm
-r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_input
-rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit
-r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_max
-r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_max_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit
-r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit_alarm
-r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_input
-rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit
-r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_max
-r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_max_alarm
-rw-r--r-- 1 root root 4096 Apr 11 03:04 uevent

This one does seem to be aware that there is READ_TEMPERATURE_2 register,
but when it comes to READ_TEMPERATURE_1 I see the same problem. How do I
know for which page this is reported and what are the units?

Any help is appreciated.

-- 
Rail Shafigulin
Software Engineer
Esencia Technologies

-- 







*ESENCIA
TECHNOLOGIES, INC.
*2350 Mission College Blvd. Suite #490

Santa Clara CA 95054

________________________________________________________

Phone: +1 408 736 
8284 Fax: +1 408 519 3475 
http://www.esenciatech.com 
<http://www.esenciatech.com/>
| http://www.lnttechservices.com 
<http://www.lnttechservices.com/>





[-- Attachment #2: Type: text/html, Size: 11974 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Units for measurements and page 1 temperature for LTM4676A
  2018-05-16 21:39 Units for measurements and page 1 temperature for LTM4676A Rail Shafigulin
@ 2018-05-17  0:34 ` Guenter Roeck
  2018-05-18 18:00   ` Rail Shafigulin
  0 siblings, 1 reply; 8+ messages in thread
From: Guenter Roeck @ 2018-05-17  0:34 UTC (permalink / raw)
  To: Rail Shafigulin, linux-hwmon

On 05/16/2018 02:39 PM, Rail Shafigulin wrote:
> My team is working on a custom board. We have LTM4676A on it. I'm trying to understand what are the units of measurement for a given register. For example:
> 
> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# ls -l
> total 0
> lrwxrwxrwx 1 root root    0 Apr 12 07:51 device -> ../../../1-0044
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_crit
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_crit_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_highest
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_input
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_label
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_lowest
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_min
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_min_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_reset_history
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_crit
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_crit_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_highest
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_input
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_label
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_max
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_max_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_min
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_min_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_reset_history
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_crit
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_crit_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_highest
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_input
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_label
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_max
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_max_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_min
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_min_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_reset_history
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_input
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_label
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in4_reset_history
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_input
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_label
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in5_reset_history
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_input
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_label
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in6_reset_history
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_input
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_label
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in7_reset_history
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_input
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_label
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in8_reset_history
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_input
> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_label
> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in9_reset_history
> -r--r--r-- 1 root root 4096 Apr 12 07:51 name
> drwxr-xr-x 2 root root    0 Apr 12 07:51 power
> lrwxrwxrwx 1 root root    0 Apr 12 07:51 subsystem -> ../../../../../../../../class/hwmon
> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit
> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit_alarm
> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_input
> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit
> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_max
> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_max_alarm
> -rw-r--r-- 1 root root 4096 Apr 12 07:49 uevent
> 
> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat name
> ltm4676
> 
> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat in1_label
> vin
> 
> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat in1_input
> 11953
> 
> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat temp1_input
> 40937
> 
> 
> What are the units of in1_input and temp1_input? Are those milli-volts (10^-3 V) and milli-celcius (10^-3 C)? Or these are raw values and I need to do a conversion?
> 

Please read Documentation/hwmon/sysfs-interface. Are the units listed
there ambiguous ?

The values are values as measured by the chip on the chip's input pins.

The output above is completely messed up. The chip doesn't have 9
voltage sensors. I have no idea how such output would be possible,
unless this is a different chip. An interesting detail is that the
output below (which looks at least almost ok) is from i2c address
0x41, while the output above is from i2c address 0x44, both on the
same bus. So, whatever the chips are, the output is not from the
same chip. This makes it quite difficult to compare.

Guenter

> LTM4676A and LTM4676 have 2 pages for reporting READ_TEMPERATURE_1 register. How do I change a page value? The LTM4676 driver also doesn't seem to be aware that there should be a READ_TEMPERATURE_2 register. At least I don't see it in sysfs.
> 
> I tried using a generic driver, pmbus, and here is what I got
> 
> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0041/hwmon/hwmon0# ls -l
> total 0
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_input
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_label
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr1_max
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_max_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit_alarm
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_input
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_label
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_max
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_max_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit_alarm
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_input
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_label
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_max
> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_max_alarm
> lrwxrwxrwx 1 root root    0 Apr 11 03:04 device -> ../../../1-0041
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_crit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_crit_alarm
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_input
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_label
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_min
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_min_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_crit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_crit_alarm
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_input
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_label
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_max
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_max_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_min
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_min_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_crit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_crit_alarm
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_input
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_label
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_max
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_max_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_min
> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_min_alarm
> -r--r--r-- 1 root root 4096 Apr 11 03:04 name
> drwxr-xr-x 2 root root    0 Apr 11 03:04 power
> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_input
> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_label
> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_input
> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_label
> lrwxrwxrwx 1 root root    0 Apr 11 03:04 subsystem -> ../../../../../../../../class/hwmon
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit_alarm
> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_input
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_max
> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_max_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit_alarm
> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_input
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit
> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_max
> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_max_alarm
> -rw-r--r-- 1 root root 4096 Apr 11 03:04 uevent
> 
> This one does seem to be aware that there is READ_TEMPERATURE_2 register, but when it comes to READ_TEMPERATURE_1 I see the same problem. How do I know for which page this is reported and what are the units?
> > Any help is appreciated.
> 
> -- 
> Rail Shafigulin
> Software Engineer
> Esencia Technologies
> 
> 
> *ESENCIA TECHNOLOGIES, INC.
> *2350 Mission College Blvd. Suite #490
> Santa Clara CA 95054
> ________________________________________________________
> 
> Phone: +1 408 736 8284 Fax: +1 408 519 3475
> http://www.esenciatech.com <http://www.esenciatech.com/>| http://www.lnttechservices.com <http://www.lnttechservices.com/>
> 
> 


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Units for measurements and page 1 temperature for LTM4676A
  2018-05-17  0:34 ` Guenter Roeck
@ 2018-05-18 18:00   ` Rail Shafigulin
  2018-05-18 18:51     ` Guenter Roeck
  0 siblings, 1 reply; 8+ messages in thread
From: Rail Shafigulin @ 2018-05-18 18:00 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: linux-hwmon

On Wed, May 16, 2018 at 5:34 PM, Guenter Roeck <linux@roeck-us.net> wrote:
> On 05/16/2018 02:39 PM, Rail Shafigulin wrote:
>>
>> My team is working on a custom board. We have LTM4676A on it. I'm trying
>> to understand what are the units of measurement for a given register. For
>> example:
>>
>> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# ls -l
>> total 0
>> lrwxrwxrwx 1 root root    0 Apr 12 07:51 device -> ../../../1-0044
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_crit
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_crit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_highest
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_input
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_label
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_lowest
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_min
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_min_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_reset_history
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_crit
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_crit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_highest
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_input
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_label
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_max
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_max_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_min
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_min_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_reset_history
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_crit
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_crit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_highest
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_input
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_label
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_max
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_max_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_min
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_min_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_reset_history
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_input
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_label
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in4_reset_history
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_input
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_label
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in5_reset_history
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_input
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_label
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in6_reset_history
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_input
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_label
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in7_reset_history
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_input
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_label
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in8_reset_history
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_input
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_label
>> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in9_reset_history
>> -r--r--r-- 1 root root 4096 Apr 12 07:51 name
>> drwxr-xr-x 2 root root    0 Apr 12 07:51 power
>> lrwxrwxrwx 1 root root    0 Apr 12 07:51 subsystem ->
>> ../../../../../../../../class/hwmon
>> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit
>> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit_alarm
>> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_input
>> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit
>> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_max
>> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_max_alarm
>> -rw-r--r-- 1 root root 4096 Apr 12 07:49 uevent
>>
>> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> name
>> ltm4676
>>
>> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> in1_label
>> vin
>>
>> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> in1_input
>> 11953
>>
>> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> temp1_input
>> 40937
>>
>>
>> What are the units of in1_input and temp1_input? Are those milli-volts
>> (10^-3 V) and milli-celcius (10^-3 C)? Or these are raw values and I need to
>> do a conversion?
>>
>
> Please read Documentation/hwmon/sysfs-interface. Are the units listed
> there ambiguous ?
Didn't look at that folder. Went for
https://github.com/torvalds/linux/blob/master/Documentation/hwmon/pmbus.
Units make sense now.

>
> The values are values as measured by the chip on the chip's input pins.
>
> The output above is completely messed up. The chip doesn't have 9
> voltage sensors. I have no idea how such output would be possible,
> unless this is a different chip. An interesting detail is that the
> output below (which looks at least almost ok) is from i2c address
> 0x41, while the output above is from i2c address 0x44, both on the
> same bus. So, whatever the chips are, the output is not from the
> same chip. This makes it quite difficult to compare.
We have 4 LTM4676A installed on the board. I wanted to try different
drivers. Chip at address 0x41 uses pmbus driver
(https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/pmbus.c)
, chip at address 0x44 uses LTM 4676 driver
(https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/ltc2978.c).

I don't know why the chip at 0x44 comes up with 9 voltage sensors. All I did was

1. compile ltc2978.c
2. insmod ltc2978.ko
3. echo ltm4676 0x44 > /sys/class/i2c-adapter/i2c-1/new_device

There is another issue. Documentation states that I'm supposed to see
temp1_input, temp2_input, and temp3_input
(https://github.com/torvalds/linux/blob/3acf4e395260e3bd30a6fa29ba7eada4bf7566ca/Documentation/hwmon/ltc2978#L148-L150).
Right now I see only temp1_input. Could this be a bug in the driver?


>
> Guenter
>
>> LTM4676A and LTM4676 have 2 pages for reporting READ_TEMPERATURE_1
>> register. How do I change a page value? The LTM4676 driver also doesn't seem
>> to be aware that there should be a READ_TEMPERATURE_2 register. At least I
>> don't see it in sysfs.
>>
>> I tried using a generic driver, pmbus, and here is what I got
>>
>> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0041/hwmon/hwmon0# ls -l
>> total 0
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_input
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_label
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr1_max
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_max_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit_alarm
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_input
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_label
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_max
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_max_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit_alarm
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_input
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_label
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_max
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_max_alarm
>> lrwxrwxrwx 1 root root    0 Apr 11 03:04 device -> ../../../1-0041
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_crit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_crit_alarm
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_input
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_label
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_min
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_min_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_crit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_crit_alarm
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_input
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_label
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_max
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_max_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_min
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_min_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_crit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_crit_alarm
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_input
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_label
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_max
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_max_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_min
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_min_alarm
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 name
>> drwxr-xr-x 2 root root    0 Apr 11 03:04 power
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_input
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_label
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_input
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_label
>> lrwxrwxrwx 1 root root    0 Apr 11 03:04 subsystem ->
>> ../../../../../../../../class/hwmon
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit_alarm
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_input
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_max
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_max_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit_alarm
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_input
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_max
>> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_max_alarm
>> -rw-r--r-- 1 root root 4096 Apr 11 03:04 uevent
>>
>> This one does seem to be aware that there is READ_TEMPERATURE_2 register,
>> but when it comes to READ_TEMPERATURE_1 I see the same problem. How do I
>> know for which page this is reported and what are the units?
>> > Any help is appreciated.
>>
>> --
>> Rail Shafigulin
>> Software Engineer
>> Esencia Technologies
>>
>>
>> *ESENCIA TECHNOLOGIES, INC.
>> *2350 Mission College Blvd. Suite #490
>> Santa Clara CA 95054
>> ________________________________________________________
>>
>> Phone: +1 408 736 8284 Fax: +1 408 519 3475
>> http://www.esenciatech.com <http://www.esenciatech.com/>|
>> http://www.lnttechservices.com <http://www.lnttechservices.com/>
>>
>>
>



-- 
Rail Shafigulin
Software Engineer
Esencia Technologies

-- 







*ESENCIA
TECHNOLOGIES, INC.
*2350 Mission College Blvd. Suite #490

Santa Clara CA 95054

________________________________________________________

Phone: +1 408 736 
8284 Fax: +1 408 519 3475 
http://www.esenciatech.com 
<http://www.esenciatech.com/>
| http://www.lnttechservices.com 
<http://www.lnttechservices.com/>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Units for measurements and page 1 temperature for LTM4676A
  2018-05-18 18:00   ` Rail Shafigulin
@ 2018-05-18 18:51     ` Guenter Roeck
  2018-05-18 19:06       ` Rail Shafigulin
  0 siblings, 1 reply; 8+ messages in thread
From: Guenter Roeck @ 2018-05-18 18:51 UTC (permalink / raw)
  To: Rail Shafigulin; +Cc: linux-hwmon

On Fri, May 18, 2018 at 11:00:53AM -0700, Rail Shafigulin wrote:
> On Wed, May 16, 2018 at 5:34 PM, Guenter Roeck <linux@roeck-us.net> wrote:
> > On 05/16/2018 02:39 PM, Rail Shafigulin wrote:
> >>
> >> My team is working on a custom board. We have LTM4676A on it. I'm trying
> >> to understand what are the units of measurement for a given register. For
> >> example:
> >>
> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# ls -l
> >> total 0
> >> lrwxrwxrwx 1 root root    0 Apr 12 07:51 device -> ../../../1-0044
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_crit
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_crit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_highest
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_input
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_label
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_lowest
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_min
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_min_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_reset_history
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_crit
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_crit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_highest
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_input
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_label
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_max
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_max_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_min
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_min_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_reset_history
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_crit
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_crit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_highest
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_input
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_label
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_max
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_max_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_min
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_min_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_reset_history
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_input
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_label
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in4_reset_history
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_input
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_label
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in5_reset_history
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_input
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_label
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in6_reset_history
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_input
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_label
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in7_reset_history
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_input
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_label
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in8_reset_history
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_input
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_label
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in9_reset_history
> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 name
> >> drwxr-xr-x 2 root root    0 Apr 12 07:51 power
> >> lrwxrwxrwx 1 root root    0 Apr 12 07:51 subsystem ->
> >> ../../../../../../../../class/hwmon
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit
> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit_alarm
> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_input
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit
> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_max
> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_max_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 12 07:49 uevent
> >>
> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
> >> name
> >> ltm4676
> >>
> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
> >> in1_label
> >> vin
> >>
> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
> >> in1_input
> >> 11953
> >>
> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
> >> temp1_input
> >> 40937
> >>
> >>
> >> What are the units of in1_input and temp1_input? Are those milli-volts
> >> (10^-3 V) and milli-celcius (10^-3 C)? Or these are raw values and I need to
> >> do a conversion?
> >>
> >
> > Please read Documentation/hwmon/sysfs-interface. Are the units listed
> > there ambiguous ?
> Didn't look at that folder. Went for
> https://github.com/torvalds/linux/blob/master/Documentation/hwmon/pmbus.
> Units make sense now.
> 
> >
> > The values are values as measured by the chip on the chip's input pins.
> >
> > The output above is completely messed up. The chip doesn't have 9
> > voltage sensors. I have no idea how such output would be possible,
> > unless this is a different chip. An interesting detail is that the
> > output below (which looks at least almost ok) is from i2c address
> > 0x41, while the output above is from i2c address 0x44, both on the
> > same bus. So, whatever the chips are, the output is not from the
> > same chip. This makes it quite difficult to compare.
> We have 4 LTM4676A installed on the board. I wanted to try different
> drivers. Chip at address 0x41 uses pmbus driver
> (https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/pmbus.c)
> , chip at address 0x44 uses LTM 4676 driver
> (https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/ltc2978.c).
> 
> I don't know why the chip at 0x44 comes up with 9 voltage sensors. All I did was
> 
> 1. compile ltc2978.c
> 2. insmod ltc2978.ko
> 3. echo ltm4676 0x44 > /sys/class/i2c-adapter/i2c-1/new_device
> 
> There is another issue. Documentation states that I'm supposed to see
> temp1_input, temp2_input, and temp3_input
> (https://github.com/torvalds/linux/blob/3acf4e395260e3bd30a6fa29ba7eada4bf7566ca/Documentation/hwmon/ltc2978#L148-L150).
> Right now I see only temp1_input. Could this be a bug in the driver?
> 
Sure it could be. Given the odd output with the 9 voltage sensors,
I would suspect that this is the least of your problems, though.
My primary suspicion is that there is a header file and/or kernel version
mismatch, but of course that is just a very wild guess.

Why do you build the file in the first place ? LTM4676 support was added
a long time ago. If your kernel is that old that it doesn't have support
for this chip on its own, you would probably have to backport all pmbus
drivers, not just one.

Guenter

> 
> >
> > Guenter
> >
> >> LTM4676A and LTM4676 have 2 pages for reporting READ_TEMPERATURE_1
> >> register. How do I change a page value? The LTM4676 driver also doesn't seem
> >> to be aware that there should be a READ_TEMPERATURE_2 register. At least I
> >> don't see it in sysfs.
> >>
> >> I tried using a generic driver, pmbus, and here is what I got
> >>
> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0041/hwmon/hwmon0# ls -l
> >> total 0
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_input
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_label
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr1_max
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_max_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit_alarm
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_input
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_label
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_max
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_max_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit_alarm
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_input
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_label
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_max
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_max_alarm
> >> lrwxrwxrwx 1 root root    0 Apr 11 03:04 device -> ../../../1-0041
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_crit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_crit_alarm
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_input
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_label
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_min
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_min_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_crit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_crit_alarm
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_input
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_label
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_max
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_max_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_min
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_min_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_crit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_crit_alarm
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_input
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_label
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_max
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_max_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_min
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_min_alarm
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 name
> >> drwxr-xr-x 2 root root    0 Apr 11 03:04 power
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_input
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_label
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_input
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_label
> >> lrwxrwxrwx 1 root root    0 Apr 11 03:04 subsystem ->
> >> ../../../../../../../../class/hwmon
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit_alarm
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_input
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_max
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_max_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit_alarm
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_input
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_max
> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_max_alarm
> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 uevent
> >>
> >> This one does seem to be aware that there is READ_TEMPERATURE_2 register,
> >> but when it comes to READ_TEMPERATURE_1 I see the same problem. How do I
> >> know for which page this is reported and what are the units?
> >> > Any help is appreciated.
> >>
> >> --
> >> Rail Shafigulin
> >> Software Engineer
> >> Esencia Technologies
> >>
> >>
> >> *ESENCIA TECHNOLOGIES, INC.
> >> *2350 Mission College Blvd. Suite #490
> >> Santa Clara CA 95054
> >> ________________________________________________________
> >>
> >> Phone: +1 408 736 8284 Fax: +1 408 519 3475
> >> http://www.esenciatech.com <http://www.esenciatech.com/>|
> >> http://www.lnttechservices.com <http://www.lnttechservices.com/>
> >>
> >>
> >
> 
> 
> 
> -- 
> Rail Shafigulin
> Software Engineer
> Esencia Technologies
> 
> -- 
> 
> 
> 
> 
> 
> 
> 
> *ESENCIA
> TECHNOLOGIES, INC.
> *2350 Mission College Blvd. Suite #490
> 
> Santa Clara CA 95054
> 
> ________________________________________________________
> 
> Phone: +1 408 736 
> 8284 Fax: +1 408 519 3475 
> http://www.esenciatech.com 
> <http://www.esenciatech.com/>
> | http://www.lnttechservices.com 
> <http://www.lnttechservices.com/>
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Units for measurements and page 1 temperature for LTM4676A
  2018-05-18 18:51     ` Guenter Roeck
@ 2018-05-18 19:06       ` Rail Shafigulin
  2018-05-18 20:11         ` Guenter Roeck
  0 siblings, 1 reply; 8+ messages in thread
From: Rail Shafigulin @ 2018-05-18 19:06 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: linux-hwmon

On Fri, May 18, 2018 at 11:51 AM, Guenter Roeck <linux@roeck-us.net> wrote:
> On Fri, May 18, 2018 at 11:00:53AM -0700, Rail Shafigulin wrote:
>> On Wed, May 16, 2018 at 5:34 PM, Guenter Roeck <linux@roeck-us.net> wrote:
>> > On 05/16/2018 02:39 PM, Rail Shafigulin wrote:
>> >>
>> >> My team is working on a custom board. We have LTM4676A on it. I'm trying
>> >> to understand what are the units of measurement for a given register. For
>> >> example:
>> >>
>> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# ls -l
>> >> total 0
>> >> lrwxrwxrwx 1 root root    0 Apr 12 07:51 device -> ../../../1-0044
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_crit
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_crit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_highest
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_input
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_label
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_lowest
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_min
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_min_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_reset_history
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_crit
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_crit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_highest
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_input
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_label
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_max
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_max_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_min
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_min_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_reset_history
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_crit
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_crit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_highest
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_input
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_label
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_max
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_max_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_min
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_min_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_reset_history
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_input
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_label
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in4_reset_history
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_input
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_label
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in5_reset_history
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_input
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_label
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in6_reset_history
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_input
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_label
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in7_reset_history
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_input
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_label
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in8_reset_history
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_input
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_label
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in9_reset_history
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 name
>> >> drwxr-xr-x 2 root root    0 Apr 12 07:51 power
>> >> lrwxrwxrwx 1 root root    0 Apr 12 07:51 subsystem ->
>> >> ../../../../../../../../class/hwmon
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit_alarm
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_input
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_max
>> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_max_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 12 07:49 uevent
>> >>
>> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> >> name
>> >> ltm4676
>> >>
>> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> >> in1_label
>> >> vin
>> >>
>> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> >> in1_input
>> >> 11953
>> >>
>> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> >> temp1_input
>> >> 40937
>> >>
>> >>
>> >> What are the units of in1_input and temp1_input? Are those milli-volts
>> >> (10^-3 V) and milli-celcius (10^-3 C)? Or these are raw values and I need to
>> >> do a conversion?
>> >>
>> >
>> > Please read Documentation/hwmon/sysfs-interface. Are the units listed
>> > there ambiguous ?
>> Didn't look at that folder. Went for
>> https://github.com/torvalds/linux/blob/master/Documentation/hwmon/pmbus.
>> Units make sense now.
>>
>> >
>> > The values are values as measured by the chip on the chip's input pins.
>> >
>> > The output above is completely messed up. The chip doesn't have 9
>> > voltage sensors. I have no idea how such output would be possible,
>> > unless this is a different chip. An interesting detail is that the
>> > output below (which looks at least almost ok) is from i2c address
>> > 0x41, while the output above is from i2c address 0x44, both on the
>> > same bus. So, whatever the chips are, the output is not from the
>> > same chip. This makes it quite difficult to compare.
>> We have 4 LTM4676A installed on the board. I wanted to try different
>> drivers. Chip at address 0x41 uses pmbus driver
>> (https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/pmbus.c)
>> , chip at address 0x44 uses LTM 4676 driver
>> (https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/ltc2978.c).
>>
>> I don't know why the chip at 0x44 comes up with 9 voltage sensors. All I did was
>>
>> 1. compile ltc2978.c
>> 2. insmod ltc2978.ko
>> 3. echo ltm4676 0x44 > /sys/class/i2c-adapter/i2c-1/new_device
>>
>> There is another issue. Documentation states that I'm supposed to see
>> temp1_input, temp2_input, and temp3_input
>> (https://github.com/torvalds/linux/blob/3acf4e395260e3bd30a6fa29ba7eada4bf7566ca/Documentation/hwmon/ltc2978#L148-L150).
>> Right now I see only temp1_input. Could this be a bug in the driver?
>>
> Sure it could be. Given the odd output with the 9 voltage sensors,
> I would suspect that this is the least of your problems, though.
> My primary suspicion is that there is a header file and/or kernel version
> mismatch, but of course that is just a very wild guess.
>
> Why do you build the file in the first place ? LTM4676 support was added
> a long time ago. If your kernel is that old that it doesn't have support
> for this chip on its own, you would probably have to backport all pmbus
> drivers, not just one.

Hmm... That's odd. We are using 4.9 kernel. Here is the output of uname -a

Linux custom-board 4.9.0-xilinx-v2017.4 #1 SMP PREEMPT Mon May 14
17:06:48 PDT 2018 armv7l armv7l armv7l GNU/Linux. When we run
menuconfig for the kernel, LTC2978 is not part of the driver list. Is
it possible that Xilinx may have forgotten to include it in their
Kernel?



>
> Guenter
>
>>
>> >
>> > Guenter
>> >
>> >> LTM4676A and LTM4676 have 2 pages for reporting READ_TEMPERATURE_1
>> >> register. How do I change a page value? The LTM4676 driver also doesn't seem
>> >> to be aware that there should be a READ_TEMPERATURE_2 register. At least I
>> >> don't see it in sysfs.
>> >>
>> >> I tried using a generic driver, pmbus, and here is what I got
>> >>
>> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0041/hwmon/hwmon0# ls -l
>> >> total 0
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_input
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_label
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr1_max
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_max_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit_alarm
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_input
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_label
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_max
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_max_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit_alarm
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_input
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_label
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_max
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_max_alarm
>> >> lrwxrwxrwx 1 root root    0 Apr 11 03:04 device -> ../../../1-0041
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_crit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_crit_alarm
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_input
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_label
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_min
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_min_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_crit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_crit_alarm
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_input
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_label
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_max
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_max_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_min
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_min_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_crit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_crit_alarm
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_input
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_label
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_max
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_max_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_min
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_min_alarm
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 name
>> >> drwxr-xr-x 2 root root    0 Apr 11 03:04 power
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_input
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_label
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_input
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_label
>> >> lrwxrwxrwx 1 root root    0 Apr 11 03:04 subsystem ->
>> >> ../../../../../../../../class/hwmon
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit_alarm
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_input
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_max
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_max_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit_alarm
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_input
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_max
>> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_max_alarm
>> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 uevent
>> >>
>> >> This one does seem to be aware that there is READ_TEMPERATURE_2 register,
>> >> but when it comes to READ_TEMPERATURE_1 I see the same problem. How do I
>> >> know for which page this is reported and what are the units?
>> >> > Any help is appreciated.
>> >>
>> >> --
>> >> Rail Shafigulin
>> >> Software Engineer
>> >> Esencia Technologies
>> >>
>> >>
>> >> *ESENCIA TECHNOLOGIES, INC.
>> >> *2350 Mission College Blvd. Suite #490
>> >> Santa Clara CA 95054
>> >> ________________________________________________________
>> >>
>> >> Phone: +1 408 736 8284 Fax: +1 408 519 3475
>> >> http://www.esenciatech.com <http://www.esenciatech.com/>|
>> >> http://www.lnttechservices.com <http://www.lnttechservices.com/>
>> >>
>> >>
>> >
>>
>>
>>
>> --
>> Rail Shafigulin
>> Software Engineer
>> Esencia Technologies
>>
>> --
>>
>>
>>
>>
>>
>>
>>
>> *ESENCIA
>> TECHNOLOGIES, INC.
>> *2350 Mission College Blvd. Suite #490
>>
>> Santa Clara CA 95054
>>
>> ________________________________________________________
>>
>> Phone: +1 408 736
>> 8284 Fax: +1 408 519 3475
>> http://www.esenciatech.com
>> <http://www.esenciatech.com/>
>> | http://www.lnttechservices.com
>> <http://www.lnttechservices.com/>
>>
>>
>>
>>



-- 
Rail Shafigulin
Software Engineer
Esencia Technologies

-- 







*ESENCIA
TECHNOLOGIES, INC.
*2350 Mission College Blvd. Suite #490

Santa Clara CA 95054

________________________________________________________

Phone: +1 408 736 
8284 Fax: +1 408 519 3475 
http://www.esenciatech.com 
<http://www.esenciatech.com/>
| http://www.lnttechservices.com 
<http://www.lnttechservices.com/>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Units for measurements and page 1 temperature for LTM4676A
  2018-05-18 19:06       ` Rail Shafigulin
@ 2018-05-18 20:11         ` Guenter Roeck
  2018-05-18 21:15           ` Rail Shafigulin
  0 siblings, 1 reply; 8+ messages in thread
From: Guenter Roeck @ 2018-05-18 20:11 UTC (permalink / raw)
  To: Rail Shafigulin; +Cc: linux-hwmon

On Fri, May 18, 2018 at 12:06:01PM -0700, Rail Shafigulin wrote:
> On Fri, May 18, 2018 at 11:51 AM, Guenter Roeck <linux@roeck-us.net> wrote:
> > On Fri, May 18, 2018 at 11:00:53AM -0700, Rail Shafigulin wrote:
> >> On Wed, May 16, 2018 at 5:34 PM, Guenter Roeck <linux@roeck-us.net> wrote:
> >> > On 05/16/2018 02:39 PM, Rail Shafigulin wrote:
> >> >>
> >> >> My team is working on a custom board. We have LTM4676A on it. I'm trying
> >> >> to understand what are the units of measurement for a given register. For
> >> >> example:
> >> >>
> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# ls -l
> >> >> total 0
> >> >> lrwxrwxrwx 1 root root    0 Apr 12 07:51 device -> ../../../1-0044
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_crit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_highest
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_input
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_lowest
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_min
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_min_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_reset_history
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_crit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_highest
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_input
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_max
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_max_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_min
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_min_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_reset_history
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_crit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_highest
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_input
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_max
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_max_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_min
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_min_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_reset_history
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_input
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in4_reset_history
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_input
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in5_reset_history
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_input
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in6_reset_history
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_input
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in7_reset_history
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_input
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in8_reset_history
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_input
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in9_reset_history
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 name
> >> >> drwxr-xr-x 2 root root    0 Apr 12 07:51 power
> >> >> lrwxrwxrwx 1 root root    0 Apr 12 07:51 subsystem ->
> >> >> ../../../../../../../../class/hwmon
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit_alarm
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_input
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_max
> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_max_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:49 uevent
> >> >>
> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
> >> >> name
> >> >> ltm4676
> >> >>
> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
> >> >> in1_label
> >> >> vin
> >> >>
> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
> >> >> in1_input
> >> >> 11953
> >> >>
> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
> >> >> temp1_input
> >> >> 40937
> >> >>
> >> >>
> >> >> What are the units of in1_input and temp1_input? Are those milli-volts
> >> >> (10^-3 V) and milli-celcius (10^-3 C)? Or these are raw values and I need to
> >> >> do a conversion?
> >> >>
> >> >
> >> > Please read Documentation/hwmon/sysfs-interface. Are the units listed
> >> > there ambiguous ?
> >> Didn't look at that folder. Went for
> >> https://github.com/torvalds/linux/blob/master/Documentation/hwmon/pmbus.
> >> Units make sense now.
> >>
> >> >
> >> > The values are values as measured by the chip on the chip's input pins.
> >> >
> >> > The output above is completely messed up. The chip doesn't have 9
> >> > voltage sensors. I have no idea how such output would be possible,
> >> > unless this is a different chip. An interesting detail is that the
> >> > output below (which looks at least almost ok) is from i2c address
> >> > 0x41, while the output above is from i2c address 0x44, both on the
> >> > same bus. So, whatever the chips are, the output is not from the
> >> > same chip. This makes it quite difficult to compare.
> >> We have 4 LTM4676A installed on the board. I wanted to try different
> >> drivers. Chip at address 0x41 uses pmbus driver
> >> (https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/pmbus.c)
> >> , chip at address 0x44 uses LTM 4676 driver
> >> (https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/ltc2978.c).
> >>
> >> I don't know why the chip at 0x44 comes up with 9 voltage sensors. All I did was
> >>
> >> 1. compile ltc2978.c
> >> 2. insmod ltc2978.ko
> >> 3. echo ltm4676 0x44 > /sys/class/i2c-adapter/i2c-1/new_device
> >>
> >> There is another issue. Documentation states that I'm supposed to see
> >> temp1_input, temp2_input, and temp3_input
> >> (https://github.com/torvalds/linux/blob/3acf4e395260e3bd30a6fa29ba7eada4bf7566ca/Documentation/hwmon/ltc2978#L148-L150).
> >> Right now I see only temp1_input. Could this be a bug in the driver?
> >>
> > Sure it could be. Given the odd output with the 9 voltage sensors,
> > I would suspect that this is the least of your problems, though.
> > My primary suspicion is that there is a header file and/or kernel version
> > mismatch, but of course that is just a very wild guess.
> >
> > Why do you build the file in the first place ? LTM4676 support was added
> > a long time ago. If your kernel is that old that it doesn't have support
> > for this chip on its own, you would probably have to backport all pmbus
> > drivers, not just one.
> 
> Hmm... That's odd. We are using 4.9 kernel. Here is the output of uname -a
> 
> Linux custom-board 4.9.0-xilinx-v2017.4 #1 SMP PREEMPT Mon May 14
> 17:06:48 PDT 2018 armv7l armv7l armv7l GNU/Linux. When we run
> menuconfig for the kernel, LTC2978 is not part of the driver list. Is
> it possible that Xilinx may have forgotten to include it in their
> Kernel?
> 

That is quite unlikely. The driver has not been touched since v4.3.
Also, the Xilinx repository at https://github.com/Xilinx/linux-xlnx
includes it. Did you check under "PMBus support" ?

Guenter

> 
> 
> >
> > Guenter
> >
> >>
> >> >
> >> > Guenter
> >> >
> >> >> LTM4676A and LTM4676 have 2 pages for reporting READ_TEMPERATURE_1
> >> >> register. How do I change a page value? The LTM4676 driver also doesn't seem
> >> >> to be aware that there should be a READ_TEMPERATURE_2 register. At least I
> >> >> don't see it in sysfs.
> >> >>
> >> >> I tried using a generic driver, pmbus, and here is what I got
> >> >>
> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0041/hwmon/hwmon0# ls -l
> >> >> total 0
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_input
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr1_max
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_max_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit_alarm
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_input
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_max
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_max_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit_alarm
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_input
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_max
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_max_alarm
> >> >> lrwxrwxrwx 1 root root    0 Apr 11 03:04 device -> ../../../1-0041
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_crit_alarm
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_input
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_min
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_min_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_crit_alarm
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_input
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_max
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_max_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_min
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_min_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_crit_alarm
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_input
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_label
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_max
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_max_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_min
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_min_alarm
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 name
> >> >> drwxr-xr-x 2 root root    0 Apr 11 03:04 power
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_input
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_label
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_input
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_label
> >> >> lrwxrwxrwx 1 root root    0 Apr 11 03:04 subsystem ->
> >> >> ../../../../../../../../class/hwmon
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit_alarm
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_input
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_max
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_max_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit_alarm
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_input
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_max
> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_max_alarm
> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 uevent
> >> >>
> >> >> This one does seem to be aware that there is READ_TEMPERATURE_2 register,
> >> >> but when it comes to READ_TEMPERATURE_1 I see the same problem. How do I
> >> >> know for which page this is reported and what are the units?
> >> >> > Any help is appreciated.
> >> >>
> >> >> --
> >> >> Rail Shafigulin
> >> >> Software Engineer
> >> >> Esencia Technologies
> >> >>
> >> >>
> >> >> *ESENCIA TECHNOLOGIES, INC.
> >> >> *2350 Mission College Blvd. Suite #490
> >> >> Santa Clara CA 95054
> >> >> ________________________________________________________
> >> >>
> >> >> Phone: +1 408 736 8284 Fax: +1 408 519 3475
> >> >> http://www.esenciatech.com <http://www.esenciatech.com/>|
> >> >> http://www.lnttechservices.com <http://www.lnttechservices.com/>
> >> >>
> >> >>
> >> >
> >>
> >>
> >>
> >> --
> >> Rail Shafigulin
> >> Software Engineer
> >> Esencia Technologies
> >>
> >> --
> >>
> >>
> >>
> >>
> >>
> >>
> >>
> >> *ESENCIA
> >> TECHNOLOGIES, INC.
> >> *2350 Mission College Blvd. Suite #490
> >>
> >> Santa Clara CA 95054
> >>
> >> ________________________________________________________
> >>
> >> Phone: +1 408 736
> >> 8284 Fax: +1 408 519 3475
> >> http://www.esenciatech.com
> >> <http://www.esenciatech.com/>
> >> | http://www.lnttechservices.com
> >> <http://www.lnttechservices.com/>
> >>
> >>
> >>
> >>
> 
> 
> 
> -- 
> Rail Shafigulin
> Software Engineer
> Esencia Technologies
> 
> -- 
> 
> 
> 
> 
> 
> 
> 
> *ESENCIA
> TECHNOLOGIES, INC.
> *2350 Mission College Blvd. Suite #490
> 
> Santa Clara CA 95054
> 
> ________________________________________________________
> 
> Phone: +1 408 736 
> 8284 Fax: +1 408 519 3475 
> http://www.esenciatech.com 
> <http://www.esenciatech.com/>
> | http://www.lnttechservices.com 
> <http://www.lnttechservices.com/>
> 
> 
> 
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Units for measurements and page 1 temperature for LTM4676A
  2018-05-18 20:11         ` Guenter Roeck
@ 2018-05-18 21:15           ` Rail Shafigulin
  2018-05-18 22:34             ` Guenter Roeck
  0 siblings, 1 reply; 8+ messages in thread
From: Rail Shafigulin @ 2018-05-18 21:15 UTC (permalink / raw)
  To: Guenter Roeck; +Cc: linux-hwmon

On Fri, May 18, 2018 at 1:11 PM, Guenter Roeck <linux@roeck-us.net> wrote:
> On Fri, May 18, 2018 at 12:06:01PM -0700, Rail Shafigulin wrote:
>> On Fri, May 18, 2018 at 11:51 AM, Guenter Roeck <linux@roeck-us.net> wrote:
>> > On Fri, May 18, 2018 at 11:00:53AM -0700, Rail Shafigulin wrote:
>> >> On Wed, May 16, 2018 at 5:34 PM, Guenter Roeck <linux@roeck-us.net> wrote:
>> >> > On 05/16/2018 02:39 PM, Rail Shafigulin wrote:
>> >> >>
>> >> >> My team is working on a custom board. We have LTM4676A on it. I'm trying
>> >> >> to understand what are the units of measurement for a given register. For
>> >> >> example:
>> >> >>
>> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# ls -l
>> >> >> total 0
>> >> >> lrwxrwxrwx 1 root root    0 Apr 12 07:51 device -> ../../../1-0044
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_crit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_highest
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_lowest
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_min
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in1_min_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in1_reset_history
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_crit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_highest
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_lcrit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_max_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_min
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in2_min_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in2_reset_history
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_crit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_highest
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_lcrit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_max_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_min
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in3_min_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in3_reset_history
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in4_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in4_reset_history
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in5_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in5_reset_history
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in6_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in6_reset_history
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in7_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in7_reset_history
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in8_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in8_reset_history
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 in9_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:51 in9_reset_history
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:51 name
>> >> >> drwxr-xr-x 2 root root    0 Apr 12 07:51 power
>> >> >> lrwxrwxrwx 1 root root    0 Apr 12 07:51 subsystem ->
>> >> >> ../../../../../../../../class/hwmon
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_crit_alarm
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_input
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_lcrit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:50 temp1_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 12 07:50 temp1_max_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 12 07:49 uevent
>> >> >>
>> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> >> >> name
>> >> >> ltm4676
>> >> >>
>> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> >> >> in1_label
>> >> >> vin
>> >> >>
>> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> >> >> in1_input
>> >> >> 11953
>> >> >>
>> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0044/hwmon/hwmon2# cat
>> >> >> temp1_input
>> >> >> 40937
>> >> >>
>> >> >>
>> >> >> What are the units of in1_input and temp1_input? Are those milli-volts
>> >> >> (10^-3 V) and milli-celcius (10^-3 C)? Or these are raw values and I need to
>> >> >> do a conversion?
>> >> >>
>> >> >
>> >> > Please read Documentation/hwmon/sysfs-interface. Are the units listed
>> >> > there ambiguous ?
>> >> Didn't look at that folder. Went for
>> >> https://github.com/torvalds/linux/blob/master/Documentation/hwmon/pmbus.
>> >> Units make sense now.
>> >>
>> >> >
>> >> > The values are values as measured by the chip on the chip's input pins.
>> >> >
>> >> > The output above is completely messed up. The chip doesn't have 9
>> >> > voltage sensors. I have no idea how such output would be possible,
>> >> > unless this is a different chip. An interesting detail is that the
>> >> > output below (which looks at least almost ok) is from i2c address
>> >> > 0x41, while the output above is from i2c address 0x44, both on the
>> >> > same bus. So, whatever the chips are, the output is not from the
>> >> > same chip. This makes it quite difficult to compare.
>> >> We have 4 LTM4676A installed on the board. I wanted to try different
>> >> drivers. Chip at address 0x41 uses pmbus driver
>> >> (https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/pmbus.c)
>> >> , chip at address 0x44 uses LTM 4676 driver
>> >> (https://github.com/torvalds/linux/blob/master/drivers/hwmon/pmbus/ltc2978.c).
>> >>
>> >> I don't know why the chip at 0x44 comes up with 9 voltage sensors. All I did was
>> >>
>> >> 1. compile ltc2978.c
>> >> 2. insmod ltc2978.ko
>> >> 3. echo ltm4676 0x44 > /sys/class/i2c-adapter/i2c-1/new_device
>> >>
>> >> There is another issue. Documentation states that I'm supposed to see
>> >> temp1_input, temp2_input, and temp3_input
>> >> (https://github.com/torvalds/linux/blob/3acf4e395260e3bd30a6fa29ba7eada4bf7566ca/Documentation/hwmon/ltc2978#L148-L150).
>> >> Right now I see only temp1_input. Could this be a bug in the driver?
>> >>
>> > Sure it could be. Given the odd output with the 9 voltage sensors,
>> > I would suspect that this is the least of your problems, though.
>> > My primary suspicion is that there is a header file and/or kernel version
>> > mismatch, but of course that is just a very wild guess.
>> >
>> > Why do you build the file in the first place ? LTM4676 support was added
>> > a long time ago. If your kernel is that old that it doesn't have support
>> > for this chip on its own, you would probably have to backport all pmbus
>> > drivers, not just one.
>>
>> Hmm... That's odd. We are using 4.9 kernel. Here is the output of uname -a
>>
>> Linux custom-board 4.9.0-xilinx-v2017.4 #1 SMP PREEMPT Mon May 14
>> 17:06:48 PDT 2018 armv7l armv7l armv7l GNU/Linux. When we run
>> menuconfig for the kernel, LTC2978 is not part of the driver list. Is
>> it possible that Xilinx may have forgotten to include it in their
>> Kernel?
>>
>
> That is quite unlikely. The driver has not been touched since v4.3.
> Also, the Xilinx repository at https://github.com/Xilinx/linux-xlnx
> includes it. Did you check under "PMBus support" ?

Well, it is embarrassing to say but it turns out it is our team's
fault. We were not compiling the kernel properly. Had some files from
old compilations and it turns out that is what was used instead of the
right ones. Guenter, I really appreciate your help with this.

>
> Guenter
>
>>
>>
>> >
>> > Guenter
>> >
>> >>
>> >> >
>> >> > Guenter
>> >> >
>> >> >> LTM4676A and LTM4676 have 2 pages for reporting READ_TEMPERATURE_1
>> >> >> register. How do I change a page value? The LTM4676 driver also doesn't seem
>> >> >> to be aware that there should be a READ_TEMPERATURE_2 register. At least I
>> >> >> don't see it in sysfs.
>> >> >>
>> >> >> I tried using a generic driver, pmbus, and here is what I got
>> >> >>
>> >> >> root@custom-board:/sys/class/i2c-adapter/i2c-1/1-0041/hwmon/hwmon0# ls -l
>> >> >> total 0
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr1_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr1_max_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_crit_alarm
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr2_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr2_max_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_crit_alarm
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 curr3_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 curr3_max_alarm
>> >> >> lrwxrwxrwx 1 root root    0 Apr 11 03:04 device -> ../../../1-0041
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_crit_alarm
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in1_min
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in1_min_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_crit_alarm
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_lcrit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_max_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in2_min
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in2_min_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_crit_alarm
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_label
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_lcrit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_max_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 in3_min
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 in3_min_alarm
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 name
>> >> >> drwxr-xr-x 2 root root    0 Apr 11 03:04 power
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power1_label
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_input
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 power2_label
>> >> >> lrwxrwxrwx 1 root root    0 Apr 11 03:04 subsystem ->
>> >> >> ../../../../../../../../class/hwmon
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_crit_alarm
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_input
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_lcrit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp1_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp1_max_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_crit_alarm
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_input
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_lcrit_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 temp2_max
>> >> >> -r--r--r-- 1 root root 4096 Apr 11 03:04 temp2_max_alarm
>> >> >> -rw-r--r-- 1 root root 4096 Apr 11 03:04 uevent
>> >> >>
>> >> >> This one does seem to be aware that there is READ_TEMPERATURE_2 register,
>> >> >> but when it comes to READ_TEMPERATURE_1 I see the same problem. How do I
>> >> >> know for which page this is reported and what are the units?
>> >> >> > Any help is appreciated.
>> >> >>
>> >> >> --
>> >> >> Rail Shafigulin
>> >> >> Software Engineer
>> >> >> Esencia Technologies
>> >> >>
>> >> >>
>> >> >> *ESENCIA TECHNOLOGIES, INC.
>> >> >> *2350 Mission College Blvd. Suite #490
>> >> >> Santa Clara CA 95054
>> >> >> ________________________________________________________
>> >> >>
>> >> >> Phone: +1 408 736 8284 Fax: +1 408 519 3475
>> >> >> http://www.esenciatech.com <http://www.esenciatech.com/>|
>> >> >> http://www.lnttechservices.com <http://www.lnttechservices.com/>
>> >> >>
>> >> >>
>> >> >
>> >>
>> >>
>> >>
>> >> --
>> >> Rail Shafigulin
>> >> Software Engineer
>> >> Esencia Technologies
>> >>
>> >> --
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >>
>> >> *ESENCIA
>> >> TECHNOLOGIES, INC.
>> >> *2350 Mission College Blvd. Suite #490
>> >>
>> >> Santa Clara CA 95054
>> >>
>> >> ________________________________________________________
>> >>
>> >> Phone: +1 408 736
>> >> 8284 Fax: +1 408 519 3475
>> >> http://www.esenciatech.com
>> >> <http://www.esenciatech.com/>
>> >> | http://www.lnttechservices.com
>> >> <http://www.lnttechservices.com/>
>> >>
>> >>
>> >>
>> >>
>>
>>
>>
>> --
>> Rail Shafigulin
>> Software Engineer
>> Esencia Technologies
>>
>> --
>>
>>
>>
>>
>>
>>
>>
>> *ESENCIA
>> TECHNOLOGIES, INC.
>> *2350 Mission College Blvd. Suite #490
>>
>> Santa Clara CA 95054
>>
>> ________________________________________________________
>>
>> Phone: +1 408 736
>> 8284 Fax: +1 408 519 3475
>> http://www.esenciatech.com
>> <http://www.esenciatech.com/>
>> | http://www.lnttechservices.com
>> <http://www.lnttechservices.com/>
>>
>>
>>
>>



-- 
Rail Shafigulin
Software Engineer
Esencia Technologies

-- 







*ESENCIA
TECHNOLOGIES, INC.
*2350 Mission College Blvd. Suite #490

Santa Clara CA 95054

________________________________________________________

Phone: +1 408 736 
8284 Fax: +1 408 519 3475 
http://www.esenciatech.com 
<http://www.esenciatech.com/>
| http://www.lnttechservices.com 
<http://www.lnttechservices.com/>

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: Units for measurements and page 1 temperature for LTM4676A
  2018-05-18 21:15           ` Rail Shafigulin
@ 2018-05-18 22:34             ` Guenter Roeck
  0 siblings, 0 replies; 8+ messages in thread
From: Guenter Roeck @ 2018-05-18 22:34 UTC (permalink / raw)
  To: Rail Shafigulin; +Cc: linux-hwmon

On Fri, May 18, 2018 at 02:15:27PM -0700, Rail Shafigulin wrote:
> 
> Well, it is embarrassing to say but it turns out it is our team's
> fault. We were not compiling the kernel properly. Had some files from
> old compilations and it turns out that is what was used instead of the
> right ones. Guenter, I really appreciate your help with this.
> 
My pleasure. Good to hear that you got it sorted out.

Guenter

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-05-18 22:34 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-05-16 21:39 Units for measurements and page 1 temperature for LTM4676A Rail Shafigulin
2018-05-17  0:34 ` Guenter Roeck
2018-05-18 18:00   ` Rail Shafigulin
2018-05-18 18:51     ` Guenter Roeck
2018-05-18 19:06       ` Rail Shafigulin
2018-05-18 20:11         ` Guenter Roeck
2018-05-18 21:15           ` Rail Shafigulin
2018-05-18 22:34             ` Guenter Roeck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.