2024-02-19 13:11:42

by Marco Felsch

[permalink] [raw]
Subject: [PATCH v2 1/2] dt-bindings: iio: ti,tmp117: add vcc supply binding

From: Thomas Haemmerle <[email protected]>

Add the binding to specify the vcc supply. We can't make it required
since this would break the backward compatibility.

Reviewed-by: Conor Dooley <[email protected]>
Signed-off-by: Thomas Haemmerle <[email protected]>
Signed-off-by: Marco Felsch <[email protected]>
---
v2:
- mark vcc-supply as required

.../devicetree/bindings/iio/temperature/ti,tmp117.yaml | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml b/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
index 8c6d7735e875..33f2e9c5bd81 100644
--- a/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
+++ b/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
@@ -24,9 +24,13 @@ properties:
reg:
maxItems: 1

+ vcc-supply:
+ description: provide VCC power to the sensor.
+
required:
- compatible
- reg
+ - vcc-supply

additionalProperties: false

@@ -39,5 +43,6 @@ examples:
tmp117@48 {
compatible = "ti,tmp117";
reg = <0x48>;
+ vcc-supply = <&pmic_reg_3v3>;
};
};
--
2.39.2



2024-02-19 13:11:42

by Marco Felsch

[permalink] [raw]
Subject: [PATCH v2 2/2] iio: temperature: tmp117: add support for vcc-supply

From: Thomas Haemmerle <[email protected]>

Add support to specify the VCC supply which is required to power the
device. According the datasheet 7.3.1 Power Up, the device needs 1.5ms
after the supply voltage reaches the operating range before the
communcation can begin.

Signed-off-by: Thomas Haemmerle <[email protected]>
Signed-off-by: Marco Felsch <[email protected]>
---
v2:
- add fsleep() after powering the device

drivers/iio/temperature/tmp117.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/iio/temperature/tmp117.c b/drivers/iio/temperature/tmp117.c
index 059953015ae7..8972083d903a 100644
--- a/drivers/iio/temperature/tmp117.c
+++ b/drivers/iio/temperature/tmp117.c
@@ -9,6 +9,7 @@
* Note: This driver assumes that the sensor has been calibrated beforehand.
*/

+#include <linux/delay.h>
#include <linux/err.h>
#include <linux/i2c.h>
#include <linux/module.h>
@@ -17,6 +18,7 @@
#include <linux/kernel.h>
#include <linux/limits.h>
#include <linux/property.h>
+#include <linux/regulator/consumer.h>

#include <linux/iio/iio.h>

@@ -148,10 +150,17 @@ static int tmp117_probe(struct i2c_client *client)
struct tmp117_data *data;
struct iio_dev *indio_dev;
int dev_id;
+ int ret;

if (!i2c_check_functionality(client->adapter, I2C_FUNC_SMBUS_WORD_DATA))
return -EOPNOTSUPP;

+ ret = devm_regulator_get_enable(&client->dev, "vcc");
+ if (ret)
+ return ret;
+
+ fsleep(1500);
+
dev_id = i2c_smbus_read_word_swapped(client, TMP117_REG_DEVICE_ID);
if (dev_id < 0)
return dev_id;
--
2.39.2


2024-02-24 16:06:13

by Jonathan Cameron

[permalink] [raw]
Subject: Re: [PATCH v2 1/2] dt-bindings: iio: ti,tmp117: add vcc supply binding

On Mon, 19 Feb 2024 14:11:13 +0100
Marco Felsch <[email protected]> wrote:

> From: Thomas Haemmerle <[email protected]>
>
> Add the binding to specify the vcc supply. We can't make it required
> since this would break the backward compatibility.
>
> Reviewed-by: Conor Dooley <[email protected]>
> Signed-off-by: Thomas Haemmerle <[email protected]>
> Signed-off-by: Marco Felsch <[email protected]>
Series applied to the togreg branch of iio.git and pushed out as testing
for 0-day to see if it can find anything we missed.

Jonathan

> ---
> v2:
> - mark vcc-supply as required
>
> .../devicetree/bindings/iio/temperature/ti,tmp117.yaml | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml b/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
> index 8c6d7735e875..33f2e9c5bd81 100644
> --- a/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
> +++ b/Documentation/devicetree/bindings/iio/temperature/ti,tmp117.yaml
> @@ -24,9 +24,13 @@ properties:
> reg:
> maxItems: 1
>
> + vcc-supply:
> + description: provide VCC power to the sensor.
> +
> required:
> - compatible
> - reg
> + - vcc-supply
>
> additionalProperties: false
>
> @@ -39,5 +43,6 @@ examples:
> tmp117@48 {
> compatible = "ti,tmp117";
> reg = <0x48>;
> + vcc-supply = <&pmic_reg_3v3>;
> };
> };