NXP LM75A is compatible with original LM75A while it has improved 11-bit precision. https://www.nxp.com/docs/en/data-sheet/LM75A.pdf Signed-off-by: Matwey V. Kornilov <matwey@xxxxxxxxxx> --- Documentation/devicetree/bindings/hwmon/lm75.yaml | 1 + drivers/hwmon/lm75.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/Documentation/devicetree/bindings/hwmon/lm75.yaml b/Documentation/devicetree/bindings/hwmon/lm75.yaml index aec8edd1e0c6..8c3848f4c277 100644 --- a/Documentation/devicetree/bindings/hwmon/lm75.yaml +++ b/Documentation/devicetree/bindings/hwmon/lm75.yaml @@ -22,6 +22,7 @@ properties: - national,lm75 - national,lm75a - national,lm75b + - nxp,lm75a - maxim,max6625 - maxim,max6626 - maxim,max31725 diff --git a/drivers/hwmon/lm75.c b/drivers/hwmon/lm75.c index 08cde1c446db..9c54c7d86771 100644 --- a/drivers/hwmon/lm75.c +++ b/drivers/hwmon/lm75.c @@ -33,6 +33,7 @@ enum lm75_type { /* keep sorted in alphabetical order */ lm75, lm75a, lm75b, + nxp_lm75, max6625, max6626, max31725, @@ -182,6 +183,11 @@ static const struct lm75_params device_params[] = { .default_resolution = 11, .default_sample_time = MSEC_PER_SEC / 10, }, + [nxp_lm75] = { + .default_resolution = 11, + .default_sample_time = MSEC_PER_SEC / 10, + .resolution_limits = 9, + }, [max6625] = { .default_resolution = 9, .default_sample_time = MSEC_PER_SEC / 7, @@ -644,6 +650,7 @@ static const struct i2c_device_id lm75_ids[] = { { "lm75", lm75, }, { "lm75a", lm75a, }, { "lm75b", lm75b, }, + { "nxp_lm75a", nxp_lm75, }, { "max6625", max6625, }, { "max6626", max6626, }, { "max31725", max31725, }, @@ -703,6 +710,10 @@ static const struct of_device_id __maybe_unused lm75_of_match[] = { .compatible = "national,lm75b", .data = (void *)lm75b }, + { + .compatible = "nxp,lm75a", + .data = (void *)nxp_lm75 + }, { .compatible = "maxim,max6625", .data = (void *)max6625 -- 2.26.2