On 4/6/22 02:29, Camel Guo wrote:
From: Camel Guo <camelg@xxxxxxxx>
This patch only applies to tmp431 and devicetree configuration.
Signed-off-by: Camel Guo <camelg@xxxxxxxx>
---
Documentation/hwmon/tmp401.rst | 13 +++++++++++++
drivers/hwmon/tmp401.c | 5 +++++
2 files changed, 18 insertions(+)
diff --git a/Documentation/hwmon/tmp401.rst b/Documentation/hwmon/tmp401.rst
index 3aacf3d3bdf3..d12e9c9ba40f 100644
--- a/Documentation/hwmon/tmp401.rst
+++ b/Documentation/hwmon/tmp401.rst
@@ -78,3 +78,16 @@ some additional features.
TMP432 is compatible with TMP401 and TMP431. It supports two external
temperature sensors.
+
+Device tree
+-----------
+TMP431 has support for the device tree parameter "extended-range" which enables
+the extended range in the chip.
+
There is no practical reason to limit support for this to TMP431,
nor does the actual code make such a distinction.
+Example:
+
+main-temp@4c {
+ compatible = "ti,tmp431";
+ reg = <0x4c>;
+ extended-range;
+};
This is not an acceptable way to describe devicetree properties.
You would have to write a bindings document
(Documentation/devicetree/bindings/hwmon/ti,tmp401.yaml)
and describe the property there.
Guenter
diff --git a/drivers/hwmon/tmp401.c b/drivers/hwmon/tmp401.c
index b86d9df7105d..6efd2475ffda 100644
--- a/drivers/hwmon/tmp401.c
+++ b/drivers/hwmon/tmp401.c
@@ -557,6 +557,11 @@ static int tmp401_init_client(struct tmp401_data *data)
config_orig = config;
config &= ~TMP401_CONFIG_SHUTDOWN;
+ if (of_property_read_bool(data->client->dev.of_node, "extended-range")) {
+ /* Enable extended range */
+ config |= TMP401_CONFIG_RANGE;
+ }
+
data->extended_range = !!(config & TMP401_CONFIG_RANGE);
if (config != config_orig)