Message ID | 20250303122151.91557-2-clamor95@gmail.com (mailing list archive) |
---|---|
State | New |
Delegated to: | Daniel Lezcano |
Headers | show |
Series | thermal: thermal-generic-adc: add temp sensor function | expand |
On 3/3/25 12:21, Svyatoslav Ryhel wrote: > This implements a mechanism to derive temperature values from an existing ADC IIO > channel, effectively creating a temperature IIO channel. This approach avoids adding > a new sensor and its associated conversion table, while providing IIO-based temperature > data for devices that may not utilize hwmon. > > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> > --- > .../devicetree/bindings/thermal/generic-adc-thermal.yaml | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml > index 12e6418dc24d..4bc2cff0593c 100644 > --- a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml > +++ b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml > @@ -30,6 +30,9 @@ properties: > io-channel-names: > const: sensor-channel > > + '#io-channel-cells': > + const: 1 > + > temperature-lookup-table: > description: | > Lookup table to map the relation between ADC value and temperature. > @@ -60,6 +63,7 @@ examples: > #thermal-sensor-cells = <0>; > io-channels = <&ads1015 1>; > io-channel-names = "sensor-channel"; > + #io-channel-cells = <1>; > temperature-lookup-table = < > (-40000) 2578 > (-39000) 2577 Do we really need this change in the DT? Won't the code in the thermal driver that registers a new iio device would just be enough? I agree with Rob that it looks odd.
ср, 5 бер. 2025 р. о 12:00 Lukasz Luba <lukasz.luba@arm.com> пише: > > > > On 3/3/25 12:21, Svyatoslav Ryhel wrote: > > This implements a mechanism to derive temperature values from an existing ADC IIO > > channel, effectively creating a temperature IIO channel. This approach avoids adding > > a new sensor and its associated conversion table, while providing IIO-based temperature > > data for devices that may not utilize hwmon. > > > > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> > > --- > > .../devicetree/bindings/thermal/generic-adc-thermal.yaml | 4 ++++ > > 1 file changed, 4 insertions(+) > > > > diff --git a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml > > index 12e6418dc24d..4bc2cff0593c 100644 > > --- a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml > > +++ b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml > > @@ -30,6 +30,9 @@ properties: > > io-channel-names: > > const: sensor-channel > > > > + '#io-channel-cells': > > + const: 1 > > + > > temperature-lookup-table: > > description: | > > Lookup table to map the relation between ADC value and temperature. > > @@ -60,6 +63,7 @@ examples: > > #thermal-sensor-cells = <0>; > > io-channels = <&ads1015 1>; > > io-channel-names = "sensor-channel"; > > + #io-channel-cells = <1>; > > temperature-lookup-table = < > > (-40000) 2578 > > (-39000) 2577 > > Do we really need this change in the DT? > Won't the code in the thermal driver that registers a new iio device > would just be enough? > > I agree with Rob that it looks odd. Building tree will complain on missing cells property if you try to bind it. It is not in required category anyway.
On 3/5/25 10:03, Svyatoslav Ryhel wrote: > ср, 5 бер. 2025 р. о 12:00 Lukasz Luba <lukasz.luba@arm.com> пише: >> >> >> >> On 3/3/25 12:21, Svyatoslav Ryhel wrote: >>> This implements a mechanism to derive temperature values from an existing ADC IIO >>> channel, effectively creating a temperature IIO channel. This approach avoids adding >>> a new sensor and its associated conversion table, while providing IIO-based temperature >>> data for devices that may not utilize hwmon. >>> >>> Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> >>> --- >>> .../devicetree/bindings/thermal/generic-adc-thermal.yaml | 4 ++++ >>> 1 file changed, 4 insertions(+) >>> >>> diff --git a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml >>> index 12e6418dc24d..4bc2cff0593c 100644 >>> --- a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml >>> +++ b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml >>> @@ -30,6 +30,9 @@ properties: >>> io-channel-names: >>> const: sensor-channel >>> >>> + '#io-channel-cells': >>> + const: 1 >>> + >>> temperature-lookup-table: >>> description: | >>> Lookup table to map the relation between ADC value and temperature. >>> @@ -60,6 +63,7 @@ examples: >>> #thermal-sensor-cells = <0>; >>> io-channels = <&ads1015 1>; >>> io-channel-names = "sensor-channel"; >>> + #io-channel-cells = <1>; >>> temperature-lookup-table = < >>> (-40000) 2578 >>> (-39000) 2577 >> >> Do we really need this change in the DT? >> Won't the code in the thermal driver that registers a new iio device >> would just be enough? >> >> I agree with Rob that it looks odd. > > Building tree will complain on missing cells property if you try to > bind it. It is not in required category anyway. Fair enough, then I will leave it to DT folks. For me it's looks OK-ish, assuming you add this property with the comment describing it like Rob asked. UUIC it will always be only 1 channel - with that temperature, so shouldn't harm much the design in DT.
On Wed, Mar 05, 2025 at 12:03:20PM +0200, Svyatoslav Ryhel wrote: > ср, 5 бер. 2025 р. о 12:00 Lukasz Luba <lukasz.luba@arm.com> пише: > > > > > > > > On 3/3/25 12:21, Svyatoslav Ryhel wrote: > > > This implements a mechanism to derive temperature values from an existing ADC IIO > > > channel, effectively creating a temperature IIO channel. This approach avoids adding > > > a new sensor and its associated conversion table, while providing IIO-based temperature > > > data for devices that may not utilize hwmon. > > > > > > Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> > > > --- > > > .../devicetree/bindings/thermal/generic-adc-thermal.yaml | 4 ++++ > > > 1 file changed, 4 insertions(+) > > > > > > diff --git a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml > > > index 12e6418dc24d..4bc2cff0593c 100644 > > > --- a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml > > > +++ b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml > > > @@ -30,6 +30,9 @@ properties: > > > io-channel-names: > > > const: sensor-channel > > > > > > + '#io-channel-cells': > > > + const: 1 > > > + > > > temperature-lookup-table: > > > description: | > > > Lookup table to map the relation between ADC value and temperature. > > > @@ -60,6 +63,7 @@ examples: > > > #thermal-sensor-cells = <0>; > > > io-channels = <&ads1015 1>; > > > io-channel-names = "sensor-channel"; > > > + #io-channel-cells = <1>; > > > temperature-lookup-table = < > > > (-40000) 2578 > > > (-39000) 2577 > > > > Do we really need this change in the DT? > > Won't the code in the thermal driver that registers a new iio device > > would just be enough? > > > > I agree with Rob that it looks odd. > > Building tree will complain on missing cells property if you try to > bind it. It is not in required category anyway. Sorry, I don't follow nor see why you need the property if there are no DT consumers. Rob
diff --git a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml index 12e6418dc24d..4bc2cff0593c 100644 --- a/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml +++ b/Documentation/devicetree/bindings/thermal/generic-adc-thermal.yaml @@ -30,6 +30,9 @@ properties: io-channel-names: const: sensor-channel + '#io-channel-cells': + const: 1 + temperature-lookup-table: description: | Lookup table to map the relation between ADC value and temperature. @@ -60,6 +63,7 @@ examples: #thermal-sensor-cells = <0>; io-channels = <&ads1015 1>; io-channel-names = "sensor-channel"; + #io-channel-cells = <1>; temperature-lookup-table = < (-40000) 2578 (-39000) 2577
This implements a mechanism to derive temperature values from an existing ADC IIO channel, effectively creating a temperature IIO channel. This approach avoids adding a new sensor and its associated conversion table, while providing IIO-based temperature data for devices that may not utilize hwmon. Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com> --- .../devicetree/bindings/thermal/generic-adc-thermal.yaml | 4 ++++ 1 file changed, 4 insertions(+)