On 27.05.2022 12:31, Dag B wrote:
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
The overlay referenced above is obviously not present in the upstream
kernel. I was working on the Raspberry Pi kernel repo. Managed to
butcher it to do what I want.
Patch attached for whoever finds themselves in the same position. Also
posted to relevant RPi forum here:
https://forums.raspberrypi.com/viewtopic.php?t=335329
Dag N
From 18baf344f61abe32154fe76a9548c381804fff3d Mon Sep 17 00:00:00 2001
From: Dag Bakke <dag@xxxxxxxxx>
Date: Mon, 30 May 2022 11:57:06 +0200
Subject: [PATCH] Add code to make sensor readable via the IIO hwmon bridge.
Signed-off-by: Dag Bakke <dag@xxxxxxxxx>
---
arch/arm/boot/dts/overlays/dht11-overlay.dts | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/arm/boot/dts/overlays/dht11-overlay.dts b/arch/arm/boot/dts/overlays/dht11-overlay.dts
index 6feeeb402493..3363e3075f75 100644
--- a/arch/arm/boot/dts/overlays/dht11-overlay.dts
+++ b/arch/arm/boot/dts/overlays/dht11-overlay.dts
@@ -17,7 +17,14 @@ dht11: dht11@0 {
pinctrl-0 = <&dht11_pins>;
gpios = <&gpio 4 0>;
status = "okay";
+ #io-channel-cells = <1>;
};
+ iio-hwmon {
+ compatible = "iio-hwmon";
+ status = "okay";
+ io-channels = <&dht11 0>, <&dht11 1>;
+ };
+
};
};
--
2.35.1