lkml.org 
[lkml]   [2022]   [Feb]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v3 2/2] hwmon: Add driver for Texas Instruments TMP464 and TMP468
From
Hi Guenter,

Le 16/02/2022 à 08:07, Guenter Roeck a écrit :
> Add support for Texas Instruments TMP464 and TMP468 temperature sensor
> ICs.
>
> TI's TMP464 is an I2C temperature sensor chip. This chip is
> similar to TI's TMP421 chip, but with 16bit-wide registers (instead
> of 8bit-wide registers). The chip has one local sensor and four
> remote sensors. TMP468 is similar to TMP464 but has one local and
> eight remote sensors.
>
> Originally-from: Agathe Porte <agathe.porte@nokia.com>
> Cc: Agathe Porte <agathe.porte@nokia.com>
> Cc: Krzysztof Adamski <krzysztof.adamski@nokia.com>
> Signed-off-by: Guenter Roeck <linux@roeck-us.net>
> ---
> v3:
> - Added support for TMP468
> - Added support for various limits, temperature hysteresis, alarm attributes,
> and update interval
> - Use regmap instead of local caching
> - Use static chip configuration
> - Unlock check if needed when loading driver, and lock it when unloading it
> - Call tmp464_init_client() before calling tmp464_probe_from_dt()
> since the latter changes registers, which requires the chip to be
> unlocked.
> - Restore configuration register when unloading driver
> - ti,n-factor is optional, so don't fail if the property is not present
>
> Notes:
> - Tested with real TMP468. Module tested for TMP464.
> - I was not able to test with a system supporting devicetree;
> especially negative values for "ti,n-factor" need testing
> (and I wonder if of_property_read_s8() would be needed to
> support this properly).

I just did the test on our system and both positive and negative value
n-factor fails.

With the following overlay:

/dts-v1/;
/plugin/;
/ {
        fragment@0 {
                target-path = "/soc/.../i2c@4/tmp464@49";
                __overlay__ {
                        #address-cells = <1>;
                        #size-cells = <0>;

                        channel@0 {
                                reg = <0x0>;
                                label = "local";
                                ti,n-factor = /bits/ 8 <(-10)>;
                        };

                        channel@1 {
                                reg = <0x1>;
                                label = "ch1";
                        };

                        channel@2 {
                                reg = <0x2>;
                                label = "ch2";
                        };

                        channel@3 {
                                reg = <0x3>;
                                label = "ch3";
                        };

                        channel@4 {
                                reg = <0x4>;
                                label = "ch4";
                        };
                };
        };

};

I get the following probing error:

[ 3580.557425] tmp464: probe of 16-0049 failed with error -75

With a positive n-factor in the overlay (<(10)> instead of <(-10)>), the
driver *does not load either*, with the same error message.

Without any n-factor set, the v3 driver you proposed loads just fine
with the DT.

Any idea of where this could come from? This was probably not working in
my own implementation either.

PS: check your spam folder eventually for my mail asking delivery
details of the TMP464 samples.

Bests,

Agathe.

\
 
 \ /
  Last update: 2022-02-16 13:43    [W:0.066 / U:0.384 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site