Re: dht11 vs iio-hwmon
Dag B <[email protected]> Fri, 27 May 2022 10:31:04 +0000
| Newsgroups | org.kernel.vger.lm-sensors |
|---|---|
| Message-ID | <[email protected]> |
On 25.05.2022 18:18, Dag B wrote:
>
> Hi.
>
> I have managed to make use of the dht11 driver and can get data from
> my sensor quite reliably.
>
> I wanted to be able to read this sensor via lm-sensors, and was hoping
> to employ the iio-hwmon bridge for this purpose. Sadly, I do not get
> any nodes in the /sys/class/hwmon/ directory for the dht11 sensor.
>
> Do iio-drivers (like dht11) have to be written with this bridge in
> mind, in order to get the hwmon entries? Or am I just missing a touch
> of magic somewhere?
>
> root@rpi2:/boot# lsmod | egrep 'iio|hw|dht'
> dht11 16384 0
> iio_hwmon 16384 0
> raspberrypi_hwmon 16384 0
> industrialio 81920 2 iio_hwmon,dht11
> root@rpi2:/boot# cat /sys/bus/iio/devices/iio\:device0/in_temp_input
> 19400
> root@rpi2:/boot# ls -l /sys/class/hwmon/
> total 0
> lrwxrwxrwx 1 root root 0 May 25 08:59 hwmon0 -> ../../devices/virtual/thermal/thermal_zone0/hwmon0
> lrwxrwxrwx 1 root root 0 May 25 08:59 hwmon1 -> ../../devices/platform/soc/soc:firmware/raspberrypi-hwmon/hwmon/hwmon1
So, I have employed my "monkey see, monkey do"-mode. I realize that
other iio-drivers got something like this in the device tree specification:
iio-hwmon {
compatible = "iio-hwmon";
io-channels = <&something N>, <&something N+1>;
};
Where 'something' most often is 'adc' and N is an integer. 'something'
may also be 'tlaNNNN' or 'gpadc'.
'something' is either defined in the .dts file or an included .dtsi
file. I have not yet managed to deduce to what extent these definitions
are tied to the device-driver. If someone would be so kind to offer
distilled insights, I would really appreciated it. My C-foo is weak, but
the itch is real.
The dht11 driver provides for temperature and humidity through a single
GPIO pin.
drivers/iio/humidity/dht11.c
The .dts file is at:
./arch/arm/boot/dts/overlays/dht11-overlay.dts
And one more thing. This file:
https://www.kernel.org/doc/Documentation/devicetree/bindings/iio/iio-bindings.txt
.... does not exist in the git kernel tree. Is that expected?
Thanks,
Dag B