Re: [PATCH 3/3] hwmon: (tmp108) Add support for NXP P3T1084UK

From: Guenter Roeck

Date: Tue Mar 24 2026 - 08:11:39 EST


On 3/23/26 09:22, Anshika Gupta wrote:
The NXP P3T1084UK is a ±0.4°C accurate digital temperature sensor with
a 12-bit temperature register, configuration register, and alert
functionality over I²C/I3C. Its register interface matches the TMP108
programming model, so the existing tmp108 driver can bind it without
functional changes.

Add "nxp,p3t1084uk" to the OF match table and "p3t1084" to the I²C

This does not match the code (added "uk").

Also (from Sashiko's review):

The commit message mentions the device supports functionality over I2C/I3C.
However, the driver's I3C device ID match table doesn't seem to be updated
for this new device.

Will the driver be able to bind to the device on an I3C bus without an
entry in p3t1085_i3c_ids?

static const struct i3c_device_id p3t1085_i3c_ids[] = {
I3C_DEVICE(0x011B, 0x1529, &tmp108_data),
I3C_DEVICE(0x011B, 0x152B, &p3t1035_data),
{}
};

... which is actually also a concern/question for P3T1085. As far as
I can see from the datasheet, both use 0x1529. This should be mentioned
somewhere, maybe as comment in p3t1085_i3c_ids.

device-id table so the driver probes the device via both devicetree and
board data.

Datasheet: https://www.nxp.com/part/P3T1084UK
https://www.nxp.com/docs/en/data-sheet/P3T1084UK.pdf

Signed-off-by: Lakshay Piplani <lakshaypiplani77@xxxxxxxxx>
Signed-off-by: Anshika Gupta <guptaanshika.ag@xxxxxxxxx>

Per this sequence, Lakshay would be the author, which is not reflected
by the e-mail itself. That suggests that Signed-off-by: Lakshay ... might
not be appropriate.

---
drivers/hwmon/tmp108.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/hwmon/tmp108.c b/drivers/hwmon/tmp108.c
index 3ea5f6485744..db46961a31d3 100644
--- a/drivers/hwmon/tmp108.c
+++ b/drivers/hwmon/tmp108.c
@@ -538,6 +538,7 @@ static DEFINE_SIMPLE_DEV_PM_OPS(tmp108_dev_pm_ops, tmp108_suspend, tmp108_resume
static const struct i2c_device_id tmp108_i2c_ids[] = {
{ "p3t1035", (unsigned long)&p3t1035_data },
+ { "p3t1084", (unsigned long)&tmp108_data },

Indentation seems off here.

{ "p3t1085", (unsigned long)&tmp108_data },
{ "tmp108", (unsigned long)&tmp108_data },
{}
@@ -546,6 +547,7 @@ MODULE_DEVICE_TABLE(i2c, tmp108_i2c_ids);
static const struct of_device_id tmp108_of_ids[] = {
{ .compatible = "nxp,p3t1035", .data = &p3t1035_data },
+ { .compatible = "nxp,p3t1084", .data = &tmp108_data },
{ .compatible = "nxp,p3t1085", .data = &tmp108_data },
{ .compatible = "ti,tmp108", .data = &tmp108_data },
{}